Integrare il modulo di protezione hardware gestito con collegamento privato di Azure

Il servizio Collegamento privato di Azure consente di accedere ai servizi di Azure, ad esempio Modulo di protezione hardware gestito, Archiviazione di Azure e Azure Cosmos DB, e ai servizi di clienti/partner ospitati in Azure tramite un endpoint privato nella rete virtuale.

Un endpoint privato di Azure è un'interfaccia di rete che connette privatamente e in modo sicuro a un servizio basato su Collegamento privato di Azure. L'endpoint privato usa un indirizzo IP privato della rete virtuale, introducendo efficacemente il servizio nella rete virtuale. Tutto il traffico verso il servizio può essere instradato tramite l'endpoint privato, quindi non sono necessari gateway, dispositivi NAT, ExpressRoute o connessioni VPN oppure indirizzi IP pubblici. Il traffico tra la rete virtuale e il servizio attraversa la rete backbone Microsoft, impedendone l'esposizione alla rete Internet pubblica. È possibile connettersi a un'istanza di una risorsa di Azure, garantendo il massimo livello di granularità nel controllo di accesso.

Per altre informazioni, vedere Che cos'è Collegamento privato di Azure?.

Nota

Il modulo di protezione hardware gestito attualmente non supporta regole IP o endpoint servizio di rete virtuale

Prerequisiti

Per integrare un HSM gestito con Collegamento privato di Azure, è necessario quanto segue:

L'endpoint privato e la rete virtuale devono trovarsi nella stessa area. Quando si seleziona un'area per l'endpoint privato tramite il portale, verranno automaticamente filtrate solo le reti virtuali presenti in tale area. Il modulo di protezione hardware può trovarsi in un'area diversa.

L'endpoint privato usa un indirizzo IP privato nella rete virtuale.

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

Consentire ai servizi attendibili di accedere al modulo di protezione hardware gestito

Quando il firewall è attivato, tutti gli accessi al modulo di protezione hardware da qualsiasi posizione che non usano una connessione di endpoint privati verranno negati, inclusi i servizi Internet pubblici e di Azure. Usare --bypass AzureServices opzione se si vuole consentire ai servizi Microsoft di accedere alle chiavi nel modulo di protezione hardware gestito. Le singole entità, ad esempio un account di archiviazione di Azure o Azure SQL Server, devono comunque disporre di assegnazioni di ruolo specifiche per poter accedere a una chiave.

Nota

Sono supportati solo scenari di utilizzo di servizi attendibili specifici. Per altri dettagli, vedere l'elenco degli scenari di utilizzo dei servizi attendibili.

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

Creare un endpoint privato (approvazione automatica)

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}

Nota

Se si elimina questo modulo di protezione hardware, l'endpoint privato smetterà di funzionare. Se il ripristino (annulla l'eliminazione) del modulo di protezione hardware in un secondo momento, è necessario ricreare un nuovo endpoint privato.

Creare un endpoint privato (richiesta manuale di approvazione)

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}

Aggiungere record DNS privato

# 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

È necessario verificare che le risorse all'interno della stessa subnet della risorsa endpoint privato si connettano il modulo di protezione hardware tramite un indirizzo IP privato e che dispongano dell'integrazione con la zona DNS privato corretta.

Creare prima di tutto una macchina virtuale seguendo la procedura descritta nell'articolo Creare una macchina virtuale di Windows nel portale di Azure.

Nella scheda "Rete":

  1. Specificare Rete virtuale e Subnet. È possibile creare una nuova macchina virtuale o selezionarne una esistente. Se si seleziona una macchina virtuale esistente, assicurarsi che l'area corrisponda.
  2. Specificare una risorsa IP pubblico.
  3. In "Gruppo di sicurezza di rete della scheda di interfaccia di rete" selezionare "Nessuno".
  4. In "Bilanciamento del carico" selezionare "No".

Aprire la riga di comando ed eseguire il comando seguente:

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

Se si esegue il comando ns lookup per risolvere l'indirizzo IP di un HSM gestito su un endpoint pubblico, verrà visualizzato un risultato simile al seguente:

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

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

Se si esegue il comando ns lookup per risolvere l'indirizzo IP di un HSM gestito su un endpoint privato, verrà visualizzato un risultato simile al seguente:

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

Guida alla risoluzione dei problemi

  • Verificare che l'endpoint privato sia nello stato approvato.

    1. Usare il sottocomando az keyvault private-endpoint-connections show per visualizzare lo stato di una connessione endpoint privato.
    2. Verificare che lo stato della connessione sia Approvato e che lo stato del provisioning sia Riuscito.
    3. Assicurarsi che la rete virtuale corrisponda a quella in uso.
  • Verificare che sia presente una risorsa Zona DNS privato.

    1. Deve essere presente una risorsa Zona DNS privato con il nome esatto: privatelink.managedhsm.azure.net.
    2. Per informazioni su come configurare questa risorsa, vedere il collegamento seguente. Zone DNS privato
  • Verificare che la zona DNS privato sia collegata alla rete virtuale. Se continua a essere restituito l'indirizzo IP pubblico, la causa potrebbe essere questa.

    1. Se il DNS della zona privata non è collegato alla rete virtuale, la query DNS originata dalla rete virtuale restituirà l'indirizzo IP pubblico del modulo di protezione hardware.
    2. Passare alla risorsa Zona DNS privato nel portale di Azure e fare clic sull'opzione Collegamenti di rete virtuale.
    3. La rete virtuale che effettuerà le chiamate al modulo di protezione hardware deve essere elencata.
    4. Se non lo è, aggiungerla.
    5. Per la procedura dettagliata, vedere Collegare la rete virtuale alla zona DNS privato.
  • Verificare che nella zona DNS privato non manchi un record A per il modulo di protezione hardware.

    1. Passare alla pagina Zona DNS privato.
    2. Fare clic su Panoramica e controllare se è presente un record A con il semplice nome del modulo di protezione hardware. Non specificare alcun suffisso.
    3. Controllare l'ortografia e creare o correggere il record A. È possibile usare un valore TTL pari a 3600 (1 ora).
    4. Assicurarsi di specificare l'indirizzo IP privato corretto.
  • Verificare che l'indirizzo IP del record A sia corretto.

    1. È possibile verificare l'indirizzo IP aprendo la risorsa Endpoint privato nel portale di Azure.
    2. Nel portale di Azure passare alla risorsa Microsoft.Network/privateEndpoints
    3. Nella pagina di panoramica cercare Interfaccia di rete e fare clic su tale collegamento.
    4. Il collegamento visualizzerà la panoramica della risorsa Scheda di interfaccia di rete, che contiene la proprietà Indirizzo IP privato.
    5. Verificare che sia l'indirizzo IP corretto specificato nel record A.

Limitazioni e considerazioni di progettazione

Nota

Il numero di HSM gestiti con endpoint privati abilitati per ogni sottoscrizione è un limite regolabile. Il limite indicato di seguito è il limite predefinito. Se si vuole richiedere un aumento del limite per la sottoscrizione, creare un ticket di supporto di Azure. Queste richieste vengono approvate caso per caso.

Prezzi: per informazioni sui prezzi, vedere prezzi di Collegamento privato di Azure.

Numero massimo di endpoint privati per modulo di protezione hardware gestito: 64.

Numero predefinito di moduli di protezione hardware gestiti con endpoint privati per ogni sottoscrizione: 400.

Per altre informazioni, vedere Servizio collegamento privato di Azure: Limitazioni

Passaggi successivi