Integrowanie zarządzanego modułu HSM z usługą Azure Private Link

Usługa Azure Private Link umożliwia dostęp do usług platformy Azure (na przykład zarządzanego modułu HSM, usługi Azure Storage i usługi Azure Cosmos DB itp.) oraz hostowanych przez platformę Azure usług klientów/partnerów za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej.

Prywatny punkt końcowy platformy Azure to interfejs sieciowy, który łączy Cię prywatnie i bezpiecznie z usługą obsługiwaną przez usługę Azure Private Link. Prywatny punkt końcowy używa prywatnego adresu IP z sieci wirtualnej, efektywnie przenosząc usługę do sieci wirtualnej. Cały ruch do usługi może być kierowany przez prywatny punkt końcowy. Nie jest wówczas wymagane użycie bram, urządzeń NAT, połączeń ExpressRoute, połączeń VPN ani publicznych adresów IP. Ruch między siecią wirtualną a usługą odbywa się za pośrednictwem sieci szkieletowej firmy Microsoft, eliminując ekspozycję z publicznego Internetu. Możesz nawiązać połączenie z wystąpieniem zasobu platformy Azure, zapewniając najwyższy poziom szczegółowości kontroli dostępu.

Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Private Link?

Uwaga

Zarządzany moduł HSM nie obsługuje obecnie reguł adresów IP ani punktów końcowych usługi sieci wirtualnej

Wymagania wstępne

Do zintegrowania zarządzanego modułu HSM z usługą Azure Private Link potrzebne są następujące elementy:

Prywatny punkt końcowy i sieć wirtualna muszą znajdować się w tym samym regionie. Po wybraniu regionu prywatnego punktu końcowego przy użyciu portalu automatycznie filtruje tylko sieci wirtualne, które znajdują się w tym regionie. Moduł HSM może znajdować się w innym regionie.

Prywatny punkt końcowy używa prywatnego adresu IP w sieci wirtualnej.

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

Zezwalaj zaufanym usługom na dostęp do zarządzanego modułu HSM

Po włączeniu zapory cały dostęp do modułu HSM z dowolnej lokalizacji, która nie korzysta z połączenia prywatnych punktów końcowych, zostanie odrzucona, w tym publiczny Internet i usługi platformy Azure. Użyj --bypass AzureServices opcji , jeśli chcesz zezwolić usługi firmy Microsoft na dostęp do kluczy w zarządzanym module HSM. Poszczególne jednostki (takie jak konto usługi Azure Storage lub program Azure SQL Server) nadal muszą mieć określone przypisania ról, aby móc uzyskać dostęp do klucza.

Uwaga

Obsługiwane są tylko określone scenariusze użycia usług zaufanych. Aby uzyskać więcej informacji, zapoznaj się z listą scenariuszy użycia zaufanych usług.

az keyvault update-hsm --hsm-name {HSM NAME} -g {RG} --default-action deny --bypass AzureServices

Tworzenie prywatnego punktu końcowego (automatycznie zatwierdzanie)

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}

Uwaga

Jeśli usuniesz ten moduł HSM, prywatny punkt końcowy przestanie działać. Jeśli odzyskiwanie (cofanie) tego modułu HSM później, należy ponownie utworzyć nowy prywatny punkt końcowy.

Tworzenie prywatnego punktu końcowego (ręczne żądanie zatwierdzenia)

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}

Dodawanie rekordów Prywatna strefa 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://learn.microsoft.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

Należy sprawdzić, czy zasoby w tej samej podsieci zasobu prywatnego punktu końcowego łączą się z modułem HSM za pośrednictwem prywatnego adresu IP i że mają prawidłową integrację prywatnej strefy DNS.

Najpierw utwórz maszynę wirtualną, wykonując kroki opisane w temacie Tworzenie maszyny wirtualnej z systemem Windows w witrynie Azure Portal

Na karcie "Sieć":

  1. Określ sieć wirtualną i podsieć. Możesz utworzyć nową sieć wirtualną lub wybrać istniejącą. Jeśli wybrano istniejący, upewnij się, że region jest zgodny.
  2. Określ zasób publicznego adresu IP.
  3. W obszarze "Sieciowa grupa zabezpieczeń karty sieciowej" wybierz pozycję "Brak".
  4. W obszarze "Równoważenie obciążenia" wybierz pozycję "Nie".

Otwórz wiersz polecenia i uruchom następujące polecenie:

nslookup <your-HSM-name>.managedhsm.azure.net

Jeśli uruchomisz polecenie wyszukiwania ns, aby rozpoznać adres IP zarządzanego modułu HSM za pośrednictwem publicznego punktu końcowego, zostanie wyświetlony wynik podobny do następującego:

c:\ >nslookup <your-hsm-name>.managedhsm.azure.net

Non-authoritative answer:
Name:    
Address:  (public IP address)
Aliases:  <your-hsm-name>.managedhsm.azure.net

Jeśli uruchomisz polecenie wyszukiwania ns, aby rozpoznać adres IP zarządzanego modułu HSM za pośrednictwem prywatnego punktu końcowego, zostanie wyświetlony wynik podobny do następującego:

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

Przewodnik rozwiązywania problemów

  • Upewnij się, że prywatny punkt końcowy jest w stanie zatwierdzonym.

    1. Użyj az keyvault private-endpoint-connections show polecenia podrzędnego, aby wyświetlić stan połączenia prywatnego punktu końcowego.
    2. Upewnij się, że stan połączenia to Zatwierdzone, a stan aprowizacji to Powodzenie.
    3. Upewnij się, że sieć wirtualna jest zgodna z używaną siecią wirtualną.
  • Upewnij się, że masz zasób prywatnej strefy DNS.

    1. Musisz mieć zasób strefy Prywatna strefa DNS o dokładnej nazwie: privatelink.managedhsm.azure.net.
    2. Aby dowiedzieć się, jak to skonfigurować, zobacz następujący link. strefy Prywatna strefa DNS
  • Upewnij się, że strefa Prywatna strefa DNS jest połączona z siecią wirtualną. Taki problem może występować, jeśli nadal jest zwracany publiczny adres IP.

    1. Jeśli system DNS strefy prywatnej nie jest połączony z siecią wirtualną, zapytanie DNS pochodzące z sieci wirtualnej zwróci publiczny adres IP modułu HSM.
    2. Przejdź do zasobu strefy Prywatna strefa DNS w witrynie Azure Portal i kliknij opcję Łącza sieci wirtualnej.
    3. Sieć wirtualna, która będzie wykonywać wywołania modułu HSM, musi być wymieniona.
    4. Jeśli tak nie jest, dodaj ją.
    5. Aby uzyskać szczegółowe instrukcje, zobacz następujący dokument Łączenie sieci wirtualnej z strefą Prywatna strefa DNS
  • Upewnij się, że w strefie Prywatna strefa DNS nie brakuje rekordu A dla modułu HSM.

    1. Przejdź do strony strefy Prywatna strefa DNS.
    2. Kliknij pozycję Przegląd i sprawdź, czy istnieje rekord A z prostą nazwą modułu HSM. Nie określaj żadnego sufiksu.
    3. Pamiętaj o sprawdzeniu pisowni i utwórz lub popraw rekord A. Jako czas wygaśnięcia możesz wprowadzić wartość 3600 (1 godz.).
    4. Upewnij się, że poprawnie określono prywatny adres IP.
  • Upewnij się, że rekord A ma poprawny adres IP.

    1. Adres IP można potwierdzić, otwierając zasób prywatnego punktu końcowego w witrynie Azure Portal.
    2. Przejdź do zasobu Microsoft.Network/privateEndpoints w witrynie Azure Portal
    3. Na stronie przeglądu poszukaj interfejsu sieciowego i kliknij ten link.
    4. Ten link umożliwia wyświetlenie strony Przegląd dla zasobu karty sieciowej, która zawiera właściwość Prywatny adres IP.
    5. Sprawdź, czy jest to poprawny adres IP określony w rekordzie A.

Ograniczenia i zagadnienia dotyczące projektowania

Uwaga

Liczba zarządzanych modułów HSM z włączonymi prywatnymi punktami końcowymi na subskrypcję jest regulowanym limitem. Limit przedstawiony poniżej jest domyślnym limitem. Jeśli chcesz zażądać zwiększenia limitu dla subskrypcji, utwórz bilet pomoc techniczna platformy Azure. Zatwierdzimy te żądania na podstawie przypadków.

Cennik: aby uzyskać informacje o cenach, zobacz Cennik usługi Azure Private Link.

Maksymalna liczba prywatnych punktów końcowych na zarządzany moduł HSM: 64.

Domyślna liczba zarządzanych modułów HSM z prywatnymi punktami końcowymi na subskrypcję: 400.

Aby uzyskać więcej informacji, zobacz Azure Private Link Service: Limitations (Usługa Azure Private Link: ograniczenia)

Następne kroki