Relocaliser Azure Key Vault dans une autre région

Azure Key Vault ne prend pas en charge la relocalisation du coffre de clés dans une autre région.

Au lieu d’une relocalisation, vous devez :

  • Créer un coffre de clés avec la relocalisation des services Azure associés.
  • Regénérer les clés, les secrets ou les certificats nécessaires. Dans certains cas, vous devez peut-être transférer les secrets ou certificats de votre coffre de clés existant vers le coffre de clés relocalisé.

Diagramme montrant le modèle de relocalisation d’un coffre de clés Azure

Prérequis

  • Vérifiez que votre abonnement Azure vous permet de créer des coffres de clés dans la région cible.

  • Créez une carte de dépendances avec tous les services Azure utilisés par le coffre de clés. Pour les services qui sont dans l’étendue de la relocalisation, vous devez choisir la stratégie de relocalisation appropriée.

  • Selon la conception du coffre de clés, vous devez peut-être déployer et configurer le réseau virtuel dans la région cible.

  • Documentez et planifiez la reconfiguration du coffre de clés dans la région cible :

    • Paramètres de configuration des stratégies d’accès et du réseau.
    • Suppression réversible et protection contre la suppression définitive.
    • Paramètres de rotation automatique.

Temps d’arrêt

Pour comprendre les temps d’arrêt possibles impliqués, consultez Cloud Adoption Framework pour Azure : sélectionnez une méthode de relocalisation.

Considérations sur les points de terminaison de service

Les points de terminaison de service de réseau virtuel pour Azure Key Vault limitent l’accès à un réseau virtuel spécifié. Les points de terminaison limitent également l’accès à une liste de plages d’adresses IPv4 (Internet Protocol version 4). L’accès est refusé à tout utilisateur se connectant au coffre de clés en dehors de ces sources. Si les points de terminaison de service ont été configurés dans la région source de la ressource Key Vault, la même chose doit être effectuée dans la région cible.

Pour recréer le coffre de clés dans la région cible, le VNet et le sous-réseau doivent être créés au préalable. Si le déplacement de ces deux ressources est effectué avec l’outil Azure Resource Mover, les points de terminaison de service ne sont pas configurés automatiquement. Par conséquent, ils doivent être configurés manuellement, ce qui peut être effectué dans le portail Azure, Azure CLI ou Azure PowerShell.

Considérations sur les points de terminaison privés

Azure Private Link fournit une connectivité privée entre un réseau virtuel et la plateforme Azure en tant que service (PaaS), appartenant à un client ou à des services partenaires Microsoft. Private Link simplifie l’architecture réseau et sécurise la connexion entre les points de terminaison dans Azure en éliminant l’exposition des données sur l’Internet public.

Pour recréer le coffre de clés dans la région cible, le VNet et le sous-réseau doivent être créés avant la recréation effective.

Considérations sur l’intégration DNS des points de terminaison privés Azure

Il est important de configurer correctement vos paramètres DNS pour résoudre l’adresse IP du point de terminaison privé en nom de domaine complet (FQDN) de la chaîne de connexion.

Les services Microsoft Azure existants sont susceptibles de disposer d’une configuration DNS pour un point de terminaison public. Cette configuration doit être remplacée pour la connexion à l’aide de votre point de terminaison privé.

L’interface réseau associée au point de terminaison privé contient les informations permettant de configurer votre DNS. Les informations de l’interface réseau incluent le nom de domaine complet et les adresses IP privées de votre ressource de liaison privée.

Vous pouvez utiliser les options suivantes pour configurer vos paramètres DNS pour Private Endpoint :

  • Utilisez le fichier d’hôte (recommandé uniquement pour les tests). Vous pouvez utiliser le fichier d’hôte sur une machine virtuelle pour remplacer le DNS.
  • Utilisez une zone DNS privée. Vous pouvez utiliser des zones DNS privées pour remplacer la résolution DNS pour un point de terminaison privé. Une zone DNS privée peut être liée à votre réseau virtuel pour résoudre des domaines spécifiques.
  • Utilisez votre redirecteur DNS (facultatif). Vous pouvez utiliser votre redirecteur DNS pour remplacer la résolution DNS par une ressource de liaison privée. Créez une règle de transfert DNS pour utiliser une zone DNS privée sur votre serveur DNS hébergé dans un réseau virtuel.

Préparer

Pour exporter un modèle à l’aide du portail Azure :

  1. Connectez-vous au portail Azure.

  2. Sélectionnez Toutes les ressources, puis sélectionnez votre coffre de clés.

  3. Sélectionnez >Automatisation>Exporter le modèle.

  4. Choisissez Télécharger dans le panneau Exporter le modèle.

  5. Localisez le fichier .zip que vous avez téléchargé à partir du portail, puis décompressez-le dans le dossier de votre choix.

    Ce fichier zip contient les fichiers .json qui composent le modèle et des scripts pour le déployer.

Gardez en mémoire les concepts suivants :

  • Les noms de coffres de clés sont globalement uniques. Vous ne pouvez pas réutiliser un nom de coffre de clés.
  • Vous devez reconfigurer vos stratégies d’accès et paramètres de configuration réseau dans le nouveau coffre de clés.
  • Vous devez reconfigurer la suppression réversible et la protection contre le vidage dans le nouveau coffre de clés.
  • L’opération de sauvegarde et restauration ne conserve pas vos paramètres de rotation automatique. Vous serez peut-être amené à reconfigurer les paramètres.

Modifier le modèle

Modifiez le modèle en changeant le nom et la région du coffre de clés.

Pour déployer le modèle à l’aide du portail Azure :

  1. Dans le portail Azure, sélectionnez Créer une ressource.

  2. Dans Rechercher sur la Place de marché, tapez déploiement de modèle, puis appuyez sur Entrée.

  3. Sélectionnez Déploiement de modèle.

  4. Sélectionnez Create (Créer).

  5. Sélectionnez Générer votre propre modèle dans l’éditeur.

  6. Sélectionnez Charger le fichier, puis suivez les instructions pour charger le fichier template.json que vous avez téléchargé dans la section précédente.

  7. Dans le fichier template.json, nommez le coffre de clés en définissant la valeur par défaut du nom du coffre de clés. Cet exemple définit la valeur par défaut du nom du coffre de clés sur 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. Remplacez la propriété location dans le fichier template.json par la région cible. Cet exemple définit centralus comme région cible.

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

    Pour obtenir les codes d’emplacement des régions, consultez Emplacements Azure. Le code d’une région est le nom de la région sans espace, USA Centre = centralus.

  9. Supprimez les ressources du point de terminaison privé dans le modèle.

    {
    "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
    ...
    }
    
  10. Si vous avez configuré un point de terminaison de service dans votre coffre de clés, dans la section networkAcl, sous virtualNetworkRules, ajoutez la règle pour le sous-réseau cible. Vérifiez que l’indicateur ignoreMissingVnetServiceEndpoint est défini sur False, pour que l’IaC ne parvienne pas à déployer le coffre de clés si le point de terminaison de service n’est pas configuré dans la région cible.

    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
                }
            ]
        }
    

Redeploy

Déployez le modèle pour créer un coffre de clés dans la région cible.

  1. Enregistrez le fichier template.json.

  2. Entrez ou sélectionnez les valeurs de propriété :

    • Abonnement: Sélectionnez un abonnement Azure.

    • Groupe de ressources : Sélectionnez Créer et donnez un nom au groupe de ressources.

    • Emplacement : Sélectionnez un emplacement Azure.

  3. Sélectionnez J’accepte les conditions générales mentionnées ci-dessus, puis Acheter.

  4. Vous devez reconfigurer les paramètres de configuration des stratégies d’accès et du réseau (points de terminaison privés) dans le nouveau coffre de clés. Vous devez reconfigurer la suppression réversible et la protection contre la suppression définitive dans le nouveau coffre de clés et les paramètres de rotation automatique.

Conseil

Si vous recevez une erreur indiquant que le code XML spécifié n’est pas syntaxiquement valide, comparez le JSON dans votre modèle aux schémas décrits dans la documentation Azure Resource Manager.

Redéployer avec une migration de données

Important

Si vous envisagez de déplacer un coffre de clés entre les régions d’une même zone géographique, nous vous recommandons d’effectuer une sauvegarde et une restauration des secrets, des clés et des certificats.

  1. Suivez les étapes décrites dans l’approche de redéploiement.
  2. Pour les secrets :
    1. Copiez et enregistrez la valeur du secret dans le coffre de clés source.
    2. Recréez le secret dans le coffre de clés cible et définissez la valeur sur le secret enregistré.
  3. Pour les certificats :
    1. Exportez le certificat vers un fichier PFX.
    2. Importez le fichier PFX dans le coffre de clés cible. Si vous ne pouvez pas exporter la clé privée (exportable n’est pas défini), vous devez générer un nouveau certificat et l’importer dans le coffre de clés cible.
  4. Avec la relocalisation du service Azure associé, les clés sont regénérées.
  5. Vérifiez que les clés ont été générées pour le service associé.

Vérification

Avant de supprimer votre ancien coffre de clés, vérifiez que le nouveau coffre contient l’ensemble des clés, secrets et certificats nécessaires après la relocalisation des services Azure associés.