Partager via


Configurer le stockage pour l'outil Azure Application Consistent Snapshot

Cet article fournit un guide pour configurer le stockage Azure à utiliser avec l'outil Azure Application Consistent Snapshot (AzAcSnap).

Sélectionnez le stockage que vous utilisez avec AzAcSnap.

Configurez une identité managée par le système (recommandée) ou générez le fichier d'authentification du principal de service.

Lorsque vous avez validé la communication avec Azure NetApp Files, la communication peut échouer ou expirer. Vérifiez que les règles de pare-feu ne bloquent pas le trafic sortant du système exécutant AzAcSnap vers les adresses et les ports TCP/IP suivants :

  • (https://)management.azure.com:443
  • (https://)login.microsoftonline.com:443

Activer la communication avec le stockage

Cette section explique comment activer la communication avec le stockage. Utilisez les onglets suivants pour sélectionner correctement le back-end de stockage que vous utilisez.

Il existe deux façons de s'authentifier auprès d'Azure Resource Manager à l'aide d'une identité managée par le système ou d'un fichier de principal de service. Les options sont décrites ici.

Identité managée par le système Azure

À partir d'AzAcSnap 9, il est possible d'utiliser une identité managée par le système au lieu d'un principal de service pour l'opération. L'utilisation de cette fonctionnalité évite la nécessité de stocker les informations d'identification du principal de service sur une machine virtuelle. Pour configurer une identité managée Azure à l'aide d'Azure Cloud Shell, procédez comme suit :

  1. Dans une session Cloud Shell avec Bash, utilisez l'exemple suivant pour définir les variables d'interpréteur de commandes de manière appropriée et les appliquer à l'abonnement dans lequel vous souhaitez créer l'identité managée Azure. Définissez SUBSCRIPTION, VM_NAME et RESOURCE_GROUP sur vos valeurs spécifiques au site.

    export SUBSCRIPTION="99z999zz-99z9-99zz-99zz-9z9zz999zz99"
    export VM_NAME="MyVM"
    export RESOURCE_GROUP="MyResourceGroup"
    export ROLE="Contributor"
    export SCOPE="/subscriptions/${SUBSCRIPTION}/resourceGroups/${RESOURCE_GROUP}"
    
  2. Définissez Cloud Shell sur l'abonnement approprié :

    az account set -s "${SUBSCRIPTION}"
    
  3. Créez l'identité managée pour la machine virtuelle. La commande suivante définit (ou indique s'il est déjà défini) l'identité managée de la machine virtuelle AzAcSnap :

    az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
    
  4. Obtenez l'ID de principal pour l'attribution d'un rôle :

    PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
    
  5. Attribuez le rôle Contributeur à l'identité principale :

    az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
    

RBAC facultatif

Il est possible de limiter les autorisations pour l'identité managée à l'aide d'une définition de rôle personnalisée dans le contrôle d'accès en fonction du rôle (RBAC). Créez une définition de rôle appropriée pour que la machine virtuelle puisse gérer les instantanés. Vous trouverez des exemples de paramètres d'autorisations dans conseils et astuces pour utiliser l'outil Azure Application Consistent Snapshot.

Ensuite, attribuez le rôle à l'ID du principal de machine virtuelle Azure (également affiché en tant que SystemAssignedIdentity) :

az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"

Générer un fichier de principal de service

  1. Dans une session Cloud Shell, vérifiez que vous êtes connecté à l'abonnement dans lequel vous voulez être associé au principal de service par défaut :

    az account show
    
  2. Si l'abonnement n'est pas correct, utilisez la commande az account set :

    az account set -s <subscription name or id>
    
  3. Créez un principal de service à l'aide de l'interface de ligne de commande Azure, comme illustré dans cet exemple :

    az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
    

    La commande doit générer une sortie comme cet exemple :

    {
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "clientSecret": "Dd4Ee~5Ff6.-Gg7Hh8Ii9Jj0Kk1Ll2_Mm3Nn4Oo5",
      "subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
      "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
      "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
      "resourceManagerEndpointUrl": "https://management.azure.com/",
      "activeDirectoryGraphResourceId": "https://graph.windows.net/",
      "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
      "galleryEndpointUrl": "https://gallery.azure.com/",
      "managementEndpointUrl": "https://management.core.windows.net/"
    }
    

    Cette commande affecte automatiquement le rôle Contributeur RBAC au principal de service au niveau de l'abonnement. Vous pouvez limiter l'étendue au groupe de ressources spécifique dans lequel vos tests créent les ressources.

  4. Coupez et collez le contenu de sortie dans un fichier appelé azureauth.json stocké sur le même système que la commande azacsnap. Sécurisez le fichier avec les autorisations système appropriées.

    Assurez-vous que le format du fichier JSON est exactement comme décrit à l'étape précédente, avec les URL placées entre guillemets doubles (").

Étapes suivantes