Rilocare Azure Key Vault in un'altra area

Esistono diversi motivi per cui è possibile spostare le risorse di Azure esistenti da un'area a un'altra. È possibile:

  • Sfruttare i vantaggi di una nuova area di Azure.
  • Distribuire funzionalità o servizi disponibili solo in aree specifiche.
  • Soddisfare i requisiti di governance e criteri interni.
  • Allinearsi alle fusioni e alle acquisizioni aziendali
  • Soddisfare i requisiti di pianificazione della capacità.

Azure Key Vault non supporta la rilocazione dell'insieme di credenziali delle chiavi in un'altra area.

Invece della rilocazione, è necessario:

  • Creare un nuovo insieme di credenziali delle chiavi con la rilocazione dei servizi di Azure associati.
  • Rigenerare le chiavi, i segreti o i certificati necessari. In alcuni casi, potrebbe essere necessario trasferire i segreti o i certificati dall'insieme di credenziali delle chiavi esistente a quello rilocato.

Diagramma che mostra il modello di rilocazione di Azure Key Vault

Prerequisiti

  • Verificare che la sottoscrizione di Azure consenta di creare insiemi di credenziali delle chiavi nell'area di destinazione.

  • Creare una mappa delle dipendenze con tutti i servizi di Azure usati da Key Vault. Per i servizi inclusi nell'ambito della rilocazione, è necessario scegliere la strategia di rilocazione appropriata.

  • A seconda della progettazione di Key Vault, potrebbe essere necessario implementare e configurare la rete virtuale nell'area di destinazione.

  • Documentare e pianificare la riconfigurazione nell'insieme di credenziali delle chiavi nell'area di destinazione:

    • Criteri di accesso e impostazioni di configurazione di rete.
    • Eliminazione temporanea e protezione dall'eliminazione.
    • Impostazioni di rotazione automatica.

Tempo di inattività

Per comprendere i possibili tempi di inattività, vedere Cloud Adoption Framework per Azure: selezionare un metodo di rilocazione.

Considerazioni per gli endpoint di servizio

Gli endpoint servizio di rete virtuale per Azure Key Vault limitano l'accesso a una rete virtuale specifica. Gli endpoint possono inoltre limitare l'accesso a un elenco di intervalli di indirizzi IPv4 (protocollo IP versione 4). L'accesso viene negato a tutti gli utenti che si connettono a Key Vault dall'esterno di tali origini. Se gli endpoint di servizio sono stati configurati nell'area di origine per la risorsa di Key Vault, è necessario eseguire la stessa operazione nell'area di destinazione.

Per ricreare correttamente l'istanza di Key Vault nell'area di destinazione, è necessario creare prima la rete virtuale e la subnet. Nel caso in cui lo spostamento di queste due risorse venga eseguito con lo strumento Spostamento risorse di Azure, gli endpoint di servizio non verranno configurati automaticamente. Di conseguenza, è necessario configurarli manualmente. L'operazione può essere eseguita tramite il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell.

Considerazioni sull'endpoint privato

Collegamento privato di Azure offre connettività privata da una rete virtuale alla piattaforma di Azure distribuita come servizio (PaaS), di proprietà del cliente o dei servizi partner Microsoft. Il collegamento privato semplifica l'architettura di rete e protegge la connessione tra gli endpoint in Azure eliminando l'esposizione dei dati alla rete Internet pubblica.

Per una ricreazione corretta dell'insieme di credenziali delle chiavi nell'area di destinazione, è necessario creare la rete virtuale e la subnet prima che si verifichi la ricreazione effettiva.

Considerazioni sull'integrazione DNS dell'endpoint privato di Azure

È importante configurare correttamente le impostazioni DNS per risolvere l'indirizzo IP dell'endpoint privato nel nome di dominio completo (FQDN) della stringa di connessione.

È possibile che i servizi di Microsoft Azure esistenti abbiano già una configurazione DNS per un endpoint pubblico. È necessario eseguire l'override di questa configurazione per connettersi usando l'endpoint privato.

L'interfaccia di rete associata all'endpoint privato contiene le informazioni necessarie per configurare il DNS. Le informazioni sull'interfaccia di rete includono l'FQDN e gli indirizzi IP privati per la risorsa del collegamento privato.

Per configurare le impostazioni DNS per gli endpoint privati si può procedere nei modi seguenti:

  • Usare il file host (soluzione consigliata solo per il test) . È possibile usare il file host in una macchina virtuale per eseguire l'override del DNS.
  • Usare una zona DNS privato. È possibile usare zone DNS privato per eseguire l'override della risoluzione DNS per un endpoint privato. Una zona DNS privato può essere collegata alla rete virtuale per risolvere domini specifici.
  • Usare il server d'inoltro DNS (facoltativo) . È possibile usare il server d'inoltro DNS per eseguire l'override della risoluzione DNS per una risorsa collegamento privato. Creare una regola di inoltro DNS per usare una zona DNS privato nel server DNS ospitato in una rete virtuale.

Preparazione

Per esportare un modello con il portale di Azure:

  1. Accedere al portale di Azure.

  2. Selezionare Tutte le risorse e quindi selezionare l'insieme di credenziali delle chiavi.

  3. Selezionare >Automazione>Esporta modello.

  4. Scegliere Scarica nel pannello Esporta modello.

  5. Individuare il file .zip scaricato dal portale e decomprimere il file in una cartella di propria scelta.

    Questo file ZIP contiene i file .json che includono il modello e gli script per distribuire il modello.

Tenere presenti i concetti seguenti:

  • I nomi degli insiemi di credenziali delle chiavi sono univoci a livello globale. Non è possibile riutilizzare un nome di insieme di credenziali.
  • È necessario riconfigurare i criteri di accesso e le impostazioni di configurazione della rete nel nuovo insieme di credenziali delle chiavi.
  • È necessario riconfigurare l'eliminazione temporanea e la protezione dall'eliminazione nel nuovo insieme di credenziali delle chiavi.
  • L'operazione di backup e ripristino non mantiene le impostazioni di rotazione automatica. Potrebbe essere necessario riconfigurare le impostazioni.

Modificare il modello

Modificare il modello cambiando il nome e l'area dell'insieme di credenziali delle chiavi.

Per distribuire il modello usando il portale di Azure:

  1. Nel portale di Azure selezionare Crea una risorsa.

  2. In Cerca nel Marketplace digitare distribuzione modelli e quindi premere INVIO.

  3. Selezionare Distribuzione modello.

  4. Seleziona Crea.

  5. Selezionare Creare un modello personalizzato nell'editor.

  6. Selezionare Carica file e quindi seguire le istruzioni per caricare il file template.json scaricato nell'ultima sezione.

  7. Nel file template.json assegnare un nome all'insieme di credenziali delle chiavi impostando il valore predefinito del nome dell'insieme di credenziali delle chiavi. In questo esempio il valore predefinito del nome dell'insieme di credenziali delle chiavi viene impostato su mytargetaccount.

    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vaults_name": {
            "defaultValue": "key-vault-name",
            "type": "String"
        }
    },
    
  8. Modificare la proprietà posizione nel file template.json nell'area di destinazione. In questo esempio l'area di destinazione viene impostata su centralus.

    "resources": [
        {
            "type": "Microsoft.KeyVault/vaults",
            "apiVersion": "2023-07-01",
            "name": "[parameters('vaults_name')]",
            "location": "centralus",
            ...
        },
        ...
    ]
    

    Per ottenere i codici di posizione dell'area, vedere Località di Azure. Il codice per un'area è il nome dell'area senza spazi, Stati Uniti centrali = centralus.

  9. Rimuovere le risorse di tipo endpoint privato nel modello.

    {
    "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
    ...
    }
    
  10. Nel caso in cui sia stato configurato un endpoint di servizio nell'insieme di credenziali delle chiavi, nella sezione networkAcl, in virtualNetworkRules aggiungere la regola per la subnet di destinazione. Assicurarsi che il flag ignoreMissingVnetServiceEndpoint sia impostato su False, in modo che l'IaC non distribuisca l'insieme di credenziali delle chiavi nel caso in cui l'endpoint del servizio non sia configurato nell'area di destinazione.

    parameter.json

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "target_vnet_externalid": {
          "value": "virtualnetwork-externalid"
        },
        "target_subnet_name": {
          "value": "subnet-name"
        }
      }
    }
    

    _template.json

        "networkAcls": {
            "bypass": "AzureServices",
            "defaultAction": "Deny",
            "ipRules": [],
            "virtualNetworkRules": [
                {
                    "id": "[concat(parameters('target_vnet_externalid'), concat('/subnets/', parameters('target_subnet_name')]",
                    "ignoreMissingVnetServiceEndpoint": false
                }
            ]
        }
    

Ripetere la distribuzione

Distribuire il modello per creare un nuovo insieme di credenziali delle chiavi nell'area di destinazione.

  1. Salvare il file template.json.

  2. Immettere o selezionare i valori della proprietà:

    • Sottoscrizione: selezionare una sottoscrizione di Azure.

    • Gruppo di risorse: selezionare Crea nuovo e assegnare un nome al gruppo di risorse.

    • Posizione: seleziona una posizione di Azure.

  3. Selezionare Accetto le condizioni riportate sopra e quindi Acquista.

  4. È necessario riconfigurare i criteri di accesso e le impostazioni di configurazione di rete (endpoint privati) nel nuovo insieme di credenziali delle chiavi. È necessario riconfigurare l'eliminazione temporanea e la protezione dall'eliminazione nel nuovo insieme di credenziali delle chiavi, così come le Impostazioni di rotazione automatica.

Suggerimento

Se viene visualizzato un errore che indica che il codice XML specificato non è valido a livello sintattico, confrontare il codice JSON nel modello con gli schemi descritti nella documentazione di Azure Resource Manager.

Ridistribuire con la migrazione dei dati

Importante

Se si prevede di spostare un insieme di credenziali delle chiavi tra aree all'interno della stessa area geografica, è consigliabile eseguire un backup e un ripristino per segreti, chiavi e certificati.

  1. Seguire i passaggi descritti nell'approccio di ridistribuzione.
  2. Per i segreti:
    1. Copiare e salvare il valore del segreto nell'insieme di credenziali delle chiavi di origine.
    2. Ricreare il segreto nell'insieme di credenziali delle chiavi di destinazione e impostare il valore sul segreto salvato.
  3. Per i certificati:
    1. Esportare il certificato in un file PFX.
    2. Importare il file PFX nell'insieme di credenziali delle chiavi di destinazione. Se non è possibile esportare la chiave privata (exportable non è impostata) è necessario generare un nuovo certificato e importarlo nell'insieme di credenziali delle chiavi di destinazione.
  4. Con la rilocazione del servizio di Azure associato, le chiavi vengono rigenerate.
  5. Verificare che le chiavi siano state generate per il servizio associato.

Verificare

Prima di eliminare l'insieme di credenziali delle chiavi precedente, verificare che il nuovo insieme di credenziali contenga tutte le chiavi, i segreti e i certificati necessari dopo la rilocazione dei servizi di Azure associati.