Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
La gestione esterna delle chiavi di Managed HSM è in anteprima. Le funzionalità di anteprima vengono rese disponibili all'utente in base alla condizione che si accettano le condizioni supplementari per l'utilizzo. Alcuni aspetti di questa funzionalità potrebbero cambiare prima della disponibilità generale.
In questo avvio rapido si registra una connessione al proxy EKM per il proprio HSM gestito, quindi si crea un riferimento a una chiave di HSM gestito che punta a una chiave nell'HSM gestito dal cliente. Al termine, si esegue un ciclo completo di wrapping/unwrapping per verificare che l'integrazione funzioni.
Se si preferisce usare il portale di Azure, vedere Avvio rapido: Creare la prima chiave esterna usando il portale di Azure.
Prerequisiti
Prima di iniziare, è necessario disporre di quanto segue:
- Un HSM gestito esistente distribuito in qualsiasi area pubblica di Azure, con la gestione esterna delle chiavi abilitata per la sottoscrizione dal team Microsoft responsabile dell'account. Contatta il team responsabile dell'account per richiedere l'abilitazione. Per creare un modulo di protezione hardware gestito, vedere Avvio rapido: Effettuare il provisioning e attivare un modulo di protezione hardware gestito usando interfaccia della riga di comando di Azure.
- Un proxy EKM operativo raggiungibile da Azure. Il proxy deve implementare la specifica dell'API proxy EKM. Per i fornitori supportati, vedere Che cos'è la gestione delle chiavi esterne del modulo di protezione hardware gestito?.
- Chiave creata nell'HSM esterno con un identificatore esterno della chiave noto. L'identificatore di chiave esterna è l'identificatore usato dal proxy per cercare la chiave.
- Il certificato radice della CA, in formato PEM, che ha firmato il certificato TLS del server proxy.
- interfaccia della riga di comando di Azure versione 2.x con l'estensione più recente
keyvaultinstallata. Eseguireaz extension add --name keyvaultoaz extension update --name keyvaultper ottenere la versione più recente. - Ruolo
Managed HSM EKM Administratorper gestire le connessioni di gestione delle chiavi esterne e ilManaged HSM Crypto Userruolo per creare e usare le chiavi. Per i passaggi per l'assegnazione dei ruoli, vedi Controllo di accesso per HSM gestito.
Accedere ad Azure
az login
Impostare la sottoscrizione se sono presenti più di una:
az account set --subscription "<subscription-id>"
Mostrare il certificato client di Managed HSM
Managed HSM presenta un certificato client X.509 al tuo proxy EKM per ogni connessione mutual TLS (mTLS) in ingresso. Prima di creare la connessione alla gestione esterna delle chiavi, recuperare il nome comune del soggetto del certificato e il certificato della CA radice e aggiungerli all'elenco consentito del proxy. Questo è il modo in cui il proxy convalida che la connessione proviene dal modulo di protezione hardware gestito, non da un chiamante arbitrario.
az keyvault ekm-connection certificate show --hsm-name <Managed HSM Name>
L'output è simile al seguente:
{
"caCertificates": [
"MIIDj...<truncated>...MrY="
],
"subjectCommonName": "contoso.managedhsmclient.azure.net"
}
Configurare il proxy in modo che consideri attendibili le connessioni che presentano certificati con subjectCommonName e che sono ancorati a uno dei certificati nell'elenco caCertificates sopra. I passaggi esatti dipendono dal fornitore del proxy.
Note
Per informazioni dettagliate sui passaggi di rotazione e sul ciclo di vita dei certificati, vedere Configurare la rete e mTLS per la gestione delle chiavi esterne del modulo di protezione hardware gestito.
Creare la connessione esterna per la gestione delle chiavi
La connessione di gestione delle chiavi esterne associa il tuo Managed HSM a un singolo Proxy EKM. Contiene l'indirizzo del proxy, l'ancora di attendibilità della CA del server e un prefisso del percorso facoltativo.
az keyvault ekm-connection create \
--hsm-name <Managed HSM Name> \
--host <EKMProxy Host> \
--server-ca-certificate <Root cert> \
[--path-prefix <prefix>]
Riferimento ai parametri:
-
--hsm-name: Il nome del tuo Managed HSM. -
--host: Il nome host completo del tuo proxy EKM. Ad esempio:proxy.contoso.com. Il proxy deve essere in ascolto sulla porta TCP 443; Una porta non standard non è supportata in anteprima. -
--server-ca-certificate: specifica il percorso del file di certificato CA radice (formato PEM o DER) usato per verificare il certificato del server TLS del proxy. -
--path-prefix(facoltativo): un prefisso del percorso URL se il proxy instrada più clienti o pool in base al percorso. Ad esempio:/contoso/prod.
Note
Passare il certificato della CA radice a --server-ca-certificate, non il certificato finale del proxy. Il modulo di protezione hardware gestito usa questa CA per convalidare l'intera catena di certificati presentata dal proxy durante l'handshake mTLS. Il passaggio del certificato finale provoca invece il fallimento dell'handshake a ogni rinnovo del certificato.
Verificare la connessione
Dopo aver creato la connessione, verifica che Managed HSM possa raggiungere il proxy:
az keyvault ekm-connection check --hsm-name <Managed HSM Name>
Questo comando chiama l'endpoint del /info proxy tramite la connessione configurata. L'output riuscito è simile al seguente:
{
"apiVersion": "1.0",
"ekmProduct": "Contoso HSM v1.0.0",
"ekmVendor": "Contoso HSM",
"proxyName": "Contoso Proxy Service",
"proxyVendor": "Contoso Proxy"
}
Le cause di errore comuni includono regole del firewall che bloccano la porta proxy, un valore non corretto --host o il proxy che rifiuta il certificato client del modulo di protezione hardware gestito. Per i passaggi di correzione, vedere Risolvere i problemi di gestione delle chiavi esterne del modulo di protezione hardware gestito.
Creare la chiave esterna
Creare un riferimento a una chiave HSM gestito che punta alla chiave esterna nell'HSM. Nessun materiale chiave viene generato in Managed HSM: questo comando registra un riferimento a una chiave esistente identificata tramite il relativo identificatore di chiave esterna.
az keyvault key create \
--external-key-id <external-key-identifier> \
--hsm-name <Managed HSM Name> \
--name <key-ref-name>
Riferimento ai parametri:
-
--external-key-id: identificatore di chiave esterna registrato nel proxy. Si tratta dell'identificatore usato dal proxy per cercare la chiave corretta nel modulo di protezione hardware esterno. -
--hsm-name: Il nome del tuo Managed HSM. -
--name: Il nome che si desidera assegnare al riferimento della chiave Managed HSM. Questo diventa parte dell'URI della chiave utilizzato dai servizi Azure.
Importante
L'identificatore di chiave esterna non è modificabile per la durata di una versione della chiave. Non è possibile modificarlo dopo la creazione. Per ruotare la chiave, creare una nuova versione della chiave con un nuovo identificatore di chiave esterna usando az keyvault key create con lo stesso --name. L'URI della chiave (URI HSM + nome chiave) rimane stabile tra le versioni; cambia solo il segmento di versione.
Il comando restituisce l'URI della chiave nel formato https://<hsm-name>.managedhsm.azure.net/keys/<key-ref-name>/<version>. Usare questo URI quando si configurano le impostazioni della chiave gestita dal cliente nei servizi di Azure.
Verificare il wrapping/unwrapping
Confermare l'integrazione end-to-end con un round-trip di wrapping/unwrapping. Le operazioni effettive di wrapping e unwrapping avvengono nel proxy e nell'HSM esterno; HSM gestito instrada la richiesta e restituisce il risultato.
Importante
Non usare az keyvault key encrypt per testare una chiave esterna. Questo comando genera un'operazione encrypt , che la gestione delle chiavi esterne non supporta, ovvero la gestione delle chiavi esterne serve wrapKey e unwrapKey solo. Chiama direttamente con az rest gli endpoint del piano dati wrapkey e unwrapkey invece.
Crea il corpo della richiesta per l'operazione di incapsulamento. Impostare
valuesul materiale della chiave codificato in base64url di cui si desidera eseguire il wrapping.{ "alg": "RSA-OAEP-256", "value": "<base64url-encoded-plaintext-key>" }Salvarlo come
wrapkey.json. Per le chiavi esterne AES, usare"alg": "A256KW"invece diRSA-OAEP-256.Chiamare l'endpoint nel riferimento della chiave
wrapkey:az rest --method POST \ --uri "https://<Managed HSM Name>.managedhsm.azure.net/keys/<key-ref-name>/wrapkey?api-version=7.5" \ --resource "https://managedhsm.azure.net" \ --headers "Content-Type=application/json" \ --body @wrapkey.jsonLa risposta restituisce la versione della chiave (
kid) e un campovaluecontenente la chiave incapsulata con codifica Base64url. Copia ilvalueper il passaggio successivo.Creare il corpo della richiesta per l'operazione di unwrap, usando il valore sottoposto a wrapping
valuedal passaggio precedente:{ "alg": "RSA-OAEP-256", "value": "<wrapped-value-from-previous-step>" }Salvarlo come
unwrapkey.json.Chiamare l'endpoint
unwrapkeyper confermare la correttezza del percorso di andata e ritorno:az rest --method POST \ --uri "https://<Managed HSM Name>.managedhsm.azure.net/keys/<key-ref-name>/unwrapkey?api-version=7.5" \ --resource "https://managedhsm.azure.net" \ --headers "Content-Type=application/json" \ --body @unwrapkey.jsonUna risposta con esito positivo restituisce il testo in chiaro originale
valueche hai racchiuso nel primo passaggio. Se l’operazione di unwrap non riesce, consulta Risolvere i problemi della gestione delle chiavi esterne di Managed HSM per i codici di errore del proxy e i passaggi per la risoluzione.
Visualizzare i log di controllo
Ogni chiamata al proxy EKM produce una voce EkmProxyOperation nei registri di diagnostica di HSM gestito. Per interrogare questi elementi in Log Analytics:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.KEYVAULT"
| where OperationName contains "Ekm"
| project TimeGenerated, Resource, OperationName, requestUri_s, ResultType, ResultDescription
Il log include il tipo di operazione (wrap o unwrap), l'identificatore della chiave esterna, il codice di stato HTTP restituito dal proxy e la latenza di andata e ritorno. Per la guida completa alla registrazione e al monitoraggio, inclusa la configurazione degli avvisi e la correlazione dei log lato proxy, vedere Registrazione e monitoraggio per la gestione delle chiavi esterne del modulo di protezione hardware gestito.
Pulire le risorse
Per rimuovere le risorse create in questa guida introduttiva:
Eliminare il riferimento alla chiave Managed HSM:
az keyvault key delete \ --hsm-name <Managed HSM Name> \ --name <key-ref-name>Eliminare la connessione di gestione delle chiavi esterne:
az keyvault ekm-connection delete \ --hsm-name <Managed HSM Name>
L'eliminazione del riferimento alla chiave in Managed HSM non influisce sul materiale crittografico della chiave nell'HSM esterno. Quella chiave rimane nel tuo HSM finché non la rimuovi da lì.
Passaggi successivi
- Guida introduttiva: Creare la prima chiave esterna usando il portale di Azure, completare lo stesso flusso nel portale di Azure
- Ciclo di vita delle chiavi esterne nella gestione delle chiavi esterne di Managed HSM — rotazione delle chiavi, gestione delle versioni e dismissione delle chiavi esterne
- Configurare la rete e mTLS per Managed HSM per la gestione delle chiavi esterne — connettività Internet pubblica e rotazione dei certificati
- Registrazione e monitoraggio per la gestione delle chiavi esterne di HSM gestito: regole di avviso, query del linguaggio di query Kusto (KQL) e correlazione dei log del proxy
- Risolvere i problemi della gestione delle chiavi esterne di Managed HSM — codici di errore, diagnostica del proxy e passaggi per la risoluzione