Share via


Rilocare Azure Key Vault in un'altra area

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

Invece di rilocazione, è necessario:

  • Creare un nuovo insieme di credenziali delle chiavi con la rilocazione dei servizi di Azure associati.
  • Rigenerare eventuali chiavi, segreti o certificati necessari. In alcuni casi, potrebbe essere necessario trasferire i segreti o i certificati dall'insieme di credenziali delle chiavi esistente all'insieme di credenziali delle chiavi 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 distribuire e configurare il 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 autorotazione.

Tempi di fermo

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

Considerazioni sugli endpoint di servizio

Gli endpoint servizio di rete virtuale per Azure Key Vault limitano l'accesso a una rete virtuale specificata. Gli endpoint possono anche limitare l'accesso a un elenco di intervalli di indirizzi IPv4 (protocollo Internet versione 4). Qualsiasi utente che si connette all'insieme di credenziali delle chiavi dall'esterno di tali origini viene negato l'accesso. Se gli endpoint di servizio sono stati configurati nell'area di origine per la risorsa Key Vault, è necessario eseguire la stessa operazione nell'area di destinazione.

Per una ricreazione corretta dell'insieme di credenziali delle chiavi 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, che possono essere eseguiti tramite il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell.

Considerazioni sull'endpoint privato

collegamento privato di Azure fornisce connettività privata da una rete virtuale a Piattaforma distribuita come servizio (PaaS), di proprietà del cliente o dei servizi partner Microsoft. collegamento privato semplifica l'architettura di rete e protegge la connessione tra 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) del 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 per configurare il DNS. Le informazioni sull'interfaccia di rete includono FQDN e indirizzi IP privati per la risorsa 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 Modello di esportazione >automazione>.

  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 comprendono 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 autorotazione. Potrebbe essere necessario riconfigurare le impostazioni.

Modificare il modello

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

Per distribuire il modello usando 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à location 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 i termini e le condizioni indicati in precedenza e quindi selezionare Seleziona acquisto.

  4. È necessario riconfigurare i criteri di accesso e le impostazioni di configurazione di rete (endpoint privati) nel nuovo insieme di credenziali delle chiavi. L'eliminazione temporanea e la protezione dall'eliminazione devono essere riconfigurabilite nel nuovo insieme di credenziali delle chiavi e nelle impostazioni di autorotazione.

Suggerimento

Se viene visualizzato un errore che indica che il codice XML specificato non è sintatticamente valido, 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, ma 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 ridistribuimento.
  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 su 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.