Интеграция управляемого модуля HSM со службой "Приватный канал Azure"
Служба "Приватный канал Azure" обеспечивает доступ к службам Azure (например, к управляемому модулю HSM, службе хранилища Azure и Azure Cosmos DB), а также к размещенным в Azure службам клиентов или партнеров через частную конечную точку вашей виртуальной сети.
Частная конечная точка Azure — это сетевой интерфейс, который защищенно и надежно подключается к службе через Приватный канал Azure. Частная конечная точка использует частный IP-адрес из виртуальной сети, по сути перемещая службу в виртуальную сеть. Весь трафик к службе может маршрутизироваться через частную конечную точку, поэтому шлюзы, устройства преобразования сетевых адресов (NAT), подключения ExpressRoute и VPN, а также общедоступные IP-адреса не требуются. Трафик между виртуальной сетью и службой проходит через магистральную сеть Майкрософт. Это позволяет избежать рисков общедоступного Интернета. Вы можете подключиться к экземпляру ресурса Azure, обеспечивая наивысшую степень детализации в управлении доступом.
Дополнительные сведения см. в статье Что такое Приватный канал Azure.
Примечание.
В настоящее время управляемый модуль HSM не поддерживает IP-правила и конечные точки службы для виртуальной сети.
Необходимые компоненты
Чтобы интегрировать управляемый модуль HSM с Приватным каналом Azure, вам потребуется:
- Управляемый модуль HSM. Дополнительные сведения см. в кратком руководстве по подготовке и активации управляемого устройства HSM с помощью Azure CLI.
- Виртуальная сеть Azure.
- Подсеть в виртуальной сети.
- Разрешения владельца или участника для управляемого модуля HSM и виртуальной сети.
- Azure CLI 2.25.0 или более поздней версии. Чтобы узнать версию, выполните команду
az --version
. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI.
Частная конечная точка и виртуальная сеть должны находиться в одном регионе. При выборе региона для частной конечной точки с помощью портала будут автоматически фильтроваться только виртуальные сети в этом регионе. Управляемый модуль HSM может находиться в другом регионе.
Частная конечная точка использует частный IP-адрес в виртуальной сети.
Установка подключения приватного канала к управляемому модулю HSM с помощью интерфейса командой строки (начальная настройка)
az login # Login to Azure CLI
az account set --subscription {SUBSCRIPTION ID} # Select your Azure Subscription
az group create -n {RESOURCE GROUP} -l {REGION} # Create a new Resource Group
az provider register -n Microsoft.KeyVault # Register KeyVault as a provider
az keyvault update-hsm --hsm-name {HSM NAME} -g {RG} --default-action deny # Turn on firewall
az network vnet create -g {RG} -n {vNet NAME} --location {REGION} # Create a Virtual Network
# Create a Subnet
az network vnet subnet create -g {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
# Disable Virtual Network Policies
az network vnet subnet update --name {subnet NAME} --resource-group {RG} --vnet-name {vNet NAME} --disable-private-endpoint-network-policies true
# Create a Private DNS Zone
az network private-dns zone create --resource-group {RG} --name privatelink.managedhsm.azure.net
# Link the Private DNS Zone to the Virtual Network
az network private-dns link vnet create --resource-group {RG} --virtual-network {vNet NAME} --zone-name privatelink.managedhsm.azure.net --name {dnsZoneLinkName} --registration-enabled true
Разрешение доверенным службам доступа к управляемому модулю HSM
Когда брандмауэр включен, весь доступ к HSM из любого расположения, не использующего частные конечные точки, включая общедоступный Интернет и службы Azure, будет отклонен. Используйте параметр --bypass AzureServices
, если вы хотите разрешить службам Майкрософт доступ к ключам в управляемом модуле HSM. Отдельные сущности (например, учетная запись службы хранилища Azure или Azure SQL Server) по-прежнему должны иметь определенные назначения ролей, чтобы иметь доступ к ключу.
Примечание.
Поддерживаются только определенные сценарии использования доверенных служб. Дополнительные сведения см. в списке сценариев использования доверенных служб.
az keyvault update-hsm --hsm-name {HSM NAME} -g {RG} --default-action deny --bypass AzureServices
Создание частной конечной точки (автоматическое утверждение)
az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name} --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.KeyVault/managedHSMs/{HSM NAME}" --group-id managedhsm --connection-name {Private Link Connection Name} --location {AZURE REGION}
Примечание.
Если удалить этот HSM, частная конечная точка перестанет работать. Если вы выполните восстановление этого HSM позже, необходимо повторно создать новую частную конечную точку.
Создание частной конечной точки (запрос утверждения вручную)
az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name} --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.KeyVault/managedHSMs/{HSM NAME}" --group-id managedhsm --connection-name {Private Link Connection Name} --location {AZURE REGION} --manual-request
Управление подключениями приватного канала
# Show Connection Status
az network private-endpoint show --resource-group {RG} --name {Private Endpoint Name}
# Approve a Private Link Connection Request
az keyvault private-endpoint-connection approve --description {"OPTIONAL DESCRIPTION"} --resource-group {RG} --hsm-name {HSM NAME} –-name {PRIVATE LINK CONNECTION NAME}
# Deny a Private Link Connection Request
az keyvault private-endpoint-connection reject --description {"OPTIONAL DESCRIPTION"} --resource-group {RG} --hsm-name {HSM NAME} –-name {PRIVATE LINK CONNECTION NAME}
# Delete a Private Link Connection Request
az keyvault private-endpoint-connection delete --resource-group {RG} --hsm-name {HSM NAME} --name {PRIVATE LINK CONNECTION NAME}
Добавление записей Частной зоны DNS
# Determine the Private Endpoint IP address
az network private-endpoint show -g {RG} -n {PE NAME} # look for the property networkInterfaces then id; the value must be placed on {PE NIC} below.
az network nic show --ids {PE NIC} # look for the property ipConfigurations then privateIpAddress; the value must be placed on {NIC IP} below.
# https://video2.skills-academy.com/azure/dns/private-dns-getstarted-cli#create-an-additional-dns-record
az network private-dns zone list -g {RG}
az network private-dns record-set a add-record -g {RG} -z "privatelink.managedhsm.azure.net" -n {HSM NAME} -a {NIC IP}
az network private-dns record-set list -g {RG} -z "privatelink.managedhsm.azure.net"
# From home/public network, you wil get a public IP. If inside a vnet with private zone, nslookup will resolve to the private ip.
nslookup {HSM NAME}.managedhsm.azure.net
nslookup {HSM NAME}.privatelink.managedhsm.azure.net
Проверка работоспособности подключения Приватного канала
Необходимо убедиться, что ресурсы в одной подсети ресурса частной конечной точки подключаются к вашему HSM по частному IP-адресу и что они правильно интегрируются с частной зоной DNS.
Сначала создайте виртуальную машину, выполнив действия, описанные в статье Краткое руководство. Создание виртуальной машины Windows на портале Azure.
На вкладке "Сеть" выполните следующее:
- Укажите виртуальную сеть и подсеть. Можно создать виртуальную сеть или выбрать существующую. При выборе существующей сети убедитесь, что регион соответствует.
- Укажите ресурс общедоступного IP-адреса.
- В списке "Группа безопасности сети сетевого адаптера" выберите "Нет".
- В поле "Балансировка нагрузки" выберите "Нет".
Откройте командную строку и выполните следующую команду:
nslookup <your-HSM-name>.managedhsm.azure.net
Если вы выполните команду ns lookup, чтобы разрешить IP-адрес управляемого модуля HSM через общедоступную конечную точку, вы получите следующий результат:
c:\ >nslookup <your-hsm-name>.managedhsm.azure.net
Non-authoritative answer:
Name:
Address: (public IP address)
Aliases: <your-hsm-name>.managedhsm.azure.net
Если вы выполните команду ns lookup, чтобы разрешить IP-адрес управляемого модуля HSM через частную конечную точку, вы получите следующий результат:
c:\ >nslookup your_hsm_name.managedhsm.azure.net
Non-authoritative answer:
Name:
Address: 10.1.0.5 (private IP address)
Aliases: <your-hsm-name>.managed.azure.net
<your-hsm-name>.privatelink.managedhsm.azure.net
Руководство по устранению неполадок
Убедитесь, что частная конечная точка находится в состоянии утверждено.
- Используйте подкоманду
az keyvault private-endpoint-connections show
, чтобы просмотреть состояние подключения к частной конечной точке. - Убедитесь, что подключение находится в состоянии Утверждено, а состояние подготовки — Успешно.
- Убедитесь, что виртуальная сеть совпадает с используемой.
- Используйте подкоманду
Убедитесь, что у вас есть ресурс Частной зоны DNS.
- Вам необходим ресурс Частной зоны DNS с точно таким именем: privatelink.vaultcore.azure.net.
- Чтобы узнать, как это сделать, перейдите по следующей ссылке. Частные зоны DNS
Убедитесь, что Частная зона DNS связана с виртуальной сетью. Эта проблема может быть вызвана тем, что вы по-прежнему получаете общедоступный IP-адрес.
- Если Частная зона DNS не связана с виртуальной сетью, запрос DNS, исходящий из виртуальной сети, возвратит общедоступный IP-адрес HSM.
- Перейдите к ресурсу Частной зоны DNS на портале Azure и щелкните параметр связей виртуальных сетей.
- Должна быть указана виртуальная сеть, которая будет выполнять вызовы к HSM.
- Если она отсутствует, добавьте ее.
- Подробные инструкции см. в разделе освязывании виртуальной сети с Частной зоной DNS.
Проверьте, указана ли запись А для HSM в Частной зоне DNS.
- Перейдите на страницу Частной зоны DNS.
- Щелкните "Обзор" и проверьте, есть ли запись A с простым именем вашего HSM. Не указывайте суффиксы.
- Проверьте правильность написания, а затем создайте или исправьте запись A. Значение срока жизни может быть 3600 секунд (1 час).
- Необходимо указать правильный Частный IP-адрес.
Убедитесь, что запись A имеет правильный IP-адрес.
- Вы можете проверить IP-адрес, открыв ресурс частной конечной точки на портале Azure.
- Перейдите к ресурсу Microsoft.Network/privateEndpoints на портале Azure
- На странице обзора найдите сетевой интерфейс и щелкните соответствующую ссылку.
- Отобразится обзор ресурса сетевой карты, который содержит частный IP-адрес свойства.
- Убедитесь, что это правильный IP-адрес, который указан в записи A.
Проблемы и ограничения разработки
Примечание.
Количество управляемых модулей HSM с включенными частными конечными точками для каждой подписки можно настраивать. Ниже приведено ограничение по умолчанию. Если вы хотите увеличить лимит для подписки, создайте запрос в службу поддержки Azure. Мы одобряем эти запросы в зависимости от индивидуальной ситуации.
Цены: сведения о ценах на службу “Приватный канал Azure” см. здесь.
Максимальное число частных конечных точек на один управляемый модуль HSM: 64.
Число управляемых модулей HSM с частными конечными точками на одну подписку по умолчанию: 400.
Подробнее см. в разделе Ограничения службы “Приватный канал Azure”.
Next Steps
- Дополнительные сведения о службе Приватный канал Azure
- Узнайте больше об управляемых модулях HSM