Exécuter des commandes PowerShell avec des informations d’identification Microsoft Entra pour accéder aux données d’objet blob

Azure Storage fournit des extensions pour PowerShell qui vous permettent de vous connecter et d'exécuter des commandes de script avec les informations d'identification Microsoft Entra. Lorsque vous vous connectez à PowerShell avec les informations d'identification Microsoft Entra, un jeton d'accès OAuth 2.0 est renvoyé. Ce jeton est utilisé automatiquement par PowerShell pour autoriser les opérations de données suivantes sur Stockage Blob. Pour les opérations prises en charge, vous n’avez plus besoin de fournir une clé de compte ou le jeton SAP avec la commande.

Vous pouvez attribuer des autorisations sur les données blob à un principal de sécurité Microsoft Entra via le contrôle d'accès en fonction du rôle Azure (Azure RBAC). Pour plus d’informations sur les rôles Azure dans Stockage Azure, consultez Attribuer un rôle Azure pour l’accès aux données d’objet blob.

Opérations prises en charge

Les extensions Stockage Azure sont prises en charge pour les opérations sur les données Blob. Les opérations que vous pouvez appeler dépendent des autorisations accordées à l'entité de sécurité Microsoft Entra avec laquelle vous vous connectez à PowerShell. Les autorisations sur les conteneurs Stockage Azure sont attribuées via Azure RBAC. Par exemple, si le rôle Lecteur des données Blob vous a été attribué, vous pouvez exécuter des commandes de script qui lisent les données d’un conteneur. Si le rôle Contributeur aux données Blob vous a été attribué, vous pouvez exécuter des commandes de script qui lisent, écrivent ou suppriment un conteneur ou les données qu’il contient.

Pour plus d’informations sur les autorisations requises pour chaque opération Stockage Azure sur un conteneur, consultez Appeler des opérations de stockage avec des jetons OAuth.

Important

Quand un compte de stockage est verrouillé à l’aide d’un verrou ReadOnly Azure Resource Manager, l’opération Répertorier les clés n’est pas autorisée pour ce compte de stockage. Répertorier les clés est une opération POST, et toutes les opérations POST sont empêchées lorsqu’un verrou ReadOnly est configuré pour le compte. Pour cette raison, quand le compte est verrouillé avec un verrou ReadOnly, les utilisateurs qui ne détiennent pas déjà les clés de compte doivent utiliser des informations d’identification Microsoft Entra pour accéder aux données des objets blob. Dans PowerShell, ajoutez le paramètre -UseConnectedAccount pour créer un objet AzureStorageContext à l’aide de vos informations d’identification Microsoft Entra.

Appeler des commandes PowerShell à l'aide des informations d'identification Microsoft Entra

Pour utiliser Azure PowerShell pour vous connecter et exécuter des opérations ultérieures sur Azure Storage à l’aide des informations d’identification Microsoft Entra, créez un contexte de stockage pour référencer le compte de stockage et incluez le paramètre -UseConnectedAccount.

L'exemple suivant montre comment créer un conteneur dans un nouveau compte de stockage à partir d'Azure PowerShell à l'aide de vos informations d'identification Microsoft Entra. N’oubliez pas de remplacer les valeurs d’espace réservé entre crochets par vos propres valeurs :

  1. Connectez-vous à votre compte Azure à l’aide de la commande Connect-AzAccount :

    Connect-AzAccount
    

    Pour plus d’informations sur la connexion à Azure avec PowerShell, consultez Se connecter avec Azure PowerShell.

  2. Créez un groupe de ressources Azure en appelant New-AzResourceGroup.

    $resourceGroup = "sample-resource-group-ps"
    $location = "eastus"
    New-AzResourceGroup -Name $resourceGroup -Location $location
    
  3. Créez un compte de stockage en appelant New-AzStorageAccount.

    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
      -Name "<storage-account>" `
      -SkuName Standard_LRS `
      -Location $location `
      -AllowBlobPublicAccess $false
    
  4. Obtenez le contexte du compte de stockage qui spécifie le nouveau compte de stockage en appelant New-AzStorageContext. Si un compte de stockage est utilisé, vous pouvez référencer le contexte au lieu d’entrer les informations d’identification à plusieurs reprises. Incluez le paramètre -UseConnectedAccount pour appeler toutes les opérations de données ultérieures à l'aide de vos informations d'identification Microsoft Entra :

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. Avant de créer le conteneur, attribuez-vous le rôle Contributeur aux données Blob du stockage. Même si vous êtes le propriétaire du compte, vous avez besoin d’autorisations explicites pour effectuer des opérations de données sur le compte de stockage. Pour plus d’informations sur l’attribution de rôles Azure, consultez Attribuer un rôle Azure pour l’accès aux données d’objet blob.

    Important

    La propagation des attributions de rôles Azure peut prendre plusieurs minutes.

  6. Créez un conteneur en appelant New-AzStorageContainer. Étant donné que cet appel utilise le contexte créé lors des étapes précédentes, le conteneur est créé à l'aide de vos informations d'identification Microsoft Entra.

    $containerName = "sample-container"
    New-AzStorageContainer -Name $containerName -Context $ctx
    

Étapes suivantes