Applicare l'estensione macchina virtuale di Key Vault a Servizi cloud di Azure (supporto "Extended")

Questo articolo fornisce informazioni di base sull'estensione macchina virtuale di Azure Key Vault per Windows e illustra come abilitarla in Servizi cloud di Azure.

Che cos'è l'estensione macchina virtuale di Key Vault?

L'estensione macchina virtuale di Key Vault offre l'aggiornamento automatico dei certificati archiviati in un insieme di credenziali delle chiavi di Azure. In particolare, l'estensione monitora un elenco di certificati osservati archiviati in insiemi di credenziali delle chiavi. Quando rileva una modifica, l'estensione recupera e installa i certificati corrispondenti. Per altre informazioni, vedere Estensione di macchina virtuale Key Vault per Windows.

Novità dell'estensione macchina virtuale di Key Vault

L'estensione macchina virtuale di Key Vault è ora supportata nella piattaforma Servizi cloud di Azure (supporto "Extended") per consentire la gestione dei certificati end-to-end. L'estensione può ora estrarre i certificati da un insieme di credenziali delle chiavi configurato a un intervallo di polling predefinito e installarli per l'uso del servizio.

Come è possibile usare l'estensione macchina virtuale di Key Vault?

La procedura seguente illustra come installare l'estensione macchina virtuale di Key Vault in Servizi cloud di Azure creando prima un certificato bootstrap nell'insieme di credenziali per ottenere un token dal Microsoft Entra ID. Tale token consentirà di eseguire l'autenticazione dell'estensione con l'insieme di credenziali. Dopo aver configurato il processo di autenticazione e aver installato l'estensione, tutti i certificati più recenti verranno estratti automaticamente a intervalli regolari di polling.

Nota

L'estensione macchina virtuale di Key Vault scarica tutti i certificati nell'archivio certificati di Windows nella posizione fornita dalla proprietà certificateStoreLocation nelle impostazioni dell'estensione macchina virtuale. Attualmente, l'estensione macchina virtuale di Key Vault concede l'accesso alla chiave privata del certificato solo all'account amministratore del sistema locale.

Prerequisiti

Per usare l'estensione macchina virtuale di Azure Key Vault, è necessario disporre di un tenant di Microsoft Entra. Per altre informazioni, vedere Avvio rapido: Configurare un tenant.

Abilitare l'estensione macchina virtuale di Azure Key Vault

  1. Generare un certificato nell'insieme di credenziali e scaricare il file con estensione CER per tale certificato.

  2. Nel portale di Azure passare a Registrazioni app.

    Screenshot of resources available in the Azure portal, including app registrations.

  3. Nella pagina Registrazioni app seleziona Nuova registrazione.

    Screenshot that shows the page for app registrations in the Azure portal.

  4. Nella pagina successiva compilare il modulo e completare la creazione dell'app.

  5. Caricare il file CER del certificato nel portale dell'app Microsoft Entra.

    Facoltativamente, è possibile usare la funzionalità di notifica di Griglia di eventi di Azure per Key Vault per caricare il certificato.

  6. Concedere all'app Microsoft Entra le autorizzazioni dei segreti in Key Vault:

    • Se si usa un'anteprima del controllo degli accessi in base al ruolo, cercare il nome dell'app Microsoft Entra creata e assegnarla al ruolo Utente dei segreti di Key Vault (anteprima).
    • Se si usano i criteri di accesso all'insieme di credenziali, assegnare le autorizzazioni Secret-Get all'app Microsoft Entra creata. Per altre informazioni, vedere Assegnare i criteri di accesso.
  7. Installare l'estensione macchina virtuale di Key Vault usando il frammento di modello di Azure Resource Manager per la risorsa cloudService:

    {
        "osProfile":
        {
            "secrets":
            [
                {
                    "sourceVault":
                    {
                        "id": "[parameters('sourceVaultValue')]"
                    },
                    "vaultCertificates":
                    [
                        {
                            "certificateUrl": "[parameters('bootstrpCertificateUrlValue')]"
                        }
                    ]
                }
            ]
        },
        "extensionProfile":
        {
            "extensions":
            [
                {
                    "name": "KVVMExtensionForPaaS",
                    "properties":
                    {
                        "type": "KeyVaultForPaaS",
                        "autoUpgradeMinorVersion": true,
                        "typeHandlerVersion": "1.0",
                        "publisher": "Microsoft.Azure.KeyVault",
                        "settings":
                        {
                            "secretsManagementSettings":
                            {
                                "pollingIntervalInS": "3600",
                                "certificateStoreName": "My",
                                "certificateStoreLocation": "LocalMachine",
                                "linkOnRenewal": false,
                                "requireInitialSync": false,
                                "observedCertificates": "[parameters('keyVaultObservedCertificates']"
                            },
                            "authenticationSettings":
                            {
                                "clientId": "Your AAD app ID",
                                "clientCertificateSubjectName": "Your boot strap certificate subject name [Do not include the 'CN=' in the subject name]"
                            }
                        }
                    }
                }
            ]
        }
    }
    

    Potrebbe essere necessario specificare l'archivio certificati per il certificato bootstrap in ServiceDefinition.csdef:

        <Certificates>
                 <Certificate name="bootstrapcert" storeLocation="LocalMachine" storeName="My" />
        </Certificates> 
    

Passaggi successivi

Migliorare ulteriormente la distribuzione abilitando il monitoraggio in Servizi cloud di Azure (supporto "Extended").