Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les identités managées offrent un moyen sécurisé et pratique d’autoriser les opérations AzCopy sans stocker d’informations d’identification ni gérer les jetons SAP. Cette méthode d’authentification est particulièrement utile pour les scripts automatisés, les pipelines CI/CD et les applications s’exécutant sur des machines virtuelles Azure ou d’autres services Azure.
Cet article explique comment configurer AzCopy pour utiliser des identités managées affectées par le système ou affectées par l’utilisateur. Vous pouvez autoriser l’accès via des variables d’environnement, la commande de connexion AzCopy ou en tirant parti des sessions Azure CLI ou Azure PowerShell existantes.
Pour plus d’informations sur les autres façons d’autoriser l’accès à AzCopy, consultez Autoriser AzCopy.
Vérifier les attributions de rôles
Vérifiez que votre identité managée a le rôle Azure requis pour vos opérations prévues :
Pour les opérations de téléchargement, utilisez Storage Blob Data Reader (Blob Storage) ou Storage File Data Privileged Reader (Azure Files).
Pour les opérations de chargement, utilisez Contributeur aux données Blob du stockage ou Propriétaire des données Blob du stockage (Stockage Blob) ou Contributeur privilégié des données du fichier de stockage (Azure Files).
Pour obtenir des instructions sur l’attribution de rôle, consultez Affecter un rôle Azure pour accéder aux données blob (Stockage Blob) ou Choisissez comment autoriser l’accès aux données de fichier dans le portail Azure (Azure Files).
Note
Les attributions de rôles peuvent prendre jusqu’à cinq minutes pour se propager.
Si vous transférez des objets blob dans un compte disposant d’un espace de noms hiérarchique, vous n’avez pas besoin d’attribuer l’un de ces rôles à votre principal de sécurité si vous ajoutez votre principal de sécurité à la liste de contrôle d’accès (ACL) du conteneur ou du répertoire cible. Dans la liste de contrôle d’accès, votre responsable de la sécurité a besoin de droits d’écriture sur le répertoire cible et d’autorisation d’exécution sur le conteneur et chaque répertoire parent. Pour en savoir plus, consultez Modèle de contrôle d’accès dans Azure Data Lake Storage.
Autoriser à l’aide de variables d’environnement
Pour autoriser l’accès, définissez des variables d’environnement en mémoire. Exécutez ensuite une commande AzCopy. AzCopy récupère le jeton d’authentification requis pour terminer l’opération. Une fois l’opération terminée, le jeton disparaît de la mémoire.
AzCopy récupère le jeton OAuth à l’aide des informations d’identification que vous fournissez. AzCopy peut également utiliser le jeton OAuth d’une session Azure CLI ou Azure PowerShell active.
Cette option est idéale si vous envisagez d’utiliser AzCopy à l’intérieur d’un script qui s’exécute sans interaction utilisateur et que le script s’exécute à partir d’une machine virtuelle Azure. Lorsque vous utilisez cette option, vous n’avez pas besoin de stocker d’informations d’identification sur la machine virtuelle.
Vous pouvez vous connecter à votre compte à l’aide d’une identité managée à l’échelle du système que vous activez sur votre machine virtuelle, ou à l’aide de l’ID client, de l’ID d’objet ou de l’ID de ressource d’une identité managée affectée par l’utilisateur que vous affectez à votre machine virtuelle.
Pour en savoir plus sur l’activation d’une identité managée à l'échelle du système ou la création d'une identité managée attribuée par l'utilisateur, consultez Configurer des identités managées pour ressources Azure sur une machine virtuelle en utilisant le portail Azure.
Autoriser à l’aide d’une identité managée à l’échelle du système
Tout d’abord, veillez à activer une identité managée à l’échelle du système sur votre machine virtuelle. Pour plus d’informations, consultez Identité managée affectée par le système.
Tapez la commande suivante, puis appuyez sur ENTRÉE.
Exécutez ensuite n’importe quelle commande azcopy. Par exemple : azcopy list https://contoso.blob.core.windows.net.
Autoriser à l’aide d’une identité managée attribuée par l’utilisateur
Tout d’abord, assurez-vous d’activer une identité managée affectée par l’utilisateur sur votre machine virtuelle. Pour plus d’informations, consultez l’identité managée assignée par l’utilisateur.
Tapez la commande suivante, puis appuyez sur ENTRÉE.
Ensuite, définissez des variables d’environnement pour l’ID client, l’ID d’objet ou l’ID de ressource de l’identité managée affectée par l’utilisateur.
Utiliser un identifiant client
Pour autoriser à l’aide d’un ID client, tapez la commande suivante, puis appuyez sur Entrée.
Remplacez l'espace réservé <client-id> par l'ID client de l’identité managée attribuée par l’utilisateur.
Vous trouverez l’ID client dans le portail Azure en affichant les propriétés de l’identité managée. La capture d’écran suivante montre l’emplacement de la propriété ID client.
Utiliser un ID d’objet
Pour autoriser à l’aide d’un ID d’objet, tapez la commande suivante, puis appuyez sur Entrée.
Remplacez l'espace réservé <object-id> par l'ID objet de l’identité managée attribuée par l’utilisateur.
Vous trouverez l’ID d’objet dans le portail Azure en affichant les propriétés de l’identité managée. La capture d’écran suivante montre l’emplacement de l’ID d’objet (également appelé ID principal).
Utiliser un ID de ressource
Pour autoriser à l’aide d’un ID de ressource, tapez la commande suivante, puis appuyez sur Entrée.
Remplacez l'espace réservé <resource-id> par l'ID ressource de l’identité managée attribuée par l’utilisateur.
Vous trouverez l’ID de ressource dans le portail Azure en affichant les propriétés de l’identité managée. La capture d’écran suivante montre l’emplacement de la propriété ID de ressource.
Autoriser en utilisant la commande d’authentification de connexion AzCopy
Au lieu d’utiliser des variables en mémoire, autorisez l’accès à l’aide de la azcopy login commande.
La commande azcopy login récupère un jeton OAuth, puis place ce jeton dans un magasin de secrets sur votre système. Si votre système d’exploitation ne dispose pas d’un magasin des secrets comme un porte-clés Linux, la commande azcopy authentication login ne fonctionne pas, car il n’existe pas de place pour le jeton.
Autoriser avec une identité gérée au niveau du système
Tout d’abord, veillez à activer une identité managée à l’échelle du système sur votre machine virtuelle. Pour plus d’informations, consultez Identité managée affectée par le système.
Ensuite, dans votre console de commande, entrez la commande suivante et appuyez sur la touche ENTRÉE.
azcopy login --identity
Autoriser avec une identité managée assignée par l'utilisateur
Tout d’abord, assurez-vous d’activer une identité managée affectée par l’utilisateur sur votre machine virtuelle. Pour plus d’informations, consultez l’identité managée assignée par l’utilisateur. Ensuite, connectez-vous à l’aide de l’ID client, de l’ID d’objet ou de l’ID de ressource de l’identité managée affectée par l’utilisateur.
Se connecter à l’aide d’un ID client
Tapez la commande suivante, puis appuyez sur ENTRÉE.
azcopy login --identity --identity-client-id "<client-id>"
Remplacez l'espace réservé <client-id> par l'ID client de l’identité managée attribuée par l’utilisateur.
Vous trouverez l’ID client dans le portail Azure en affichant les propriétés de l’identité managée. La capture d’écran suivante montre l’emplacement de la propriété ID client.
Se connecter à l’aide d’un ID d’objet
Tapez la commande suivante, puis appuyez sur ENTRÉE.
azcopy login --identity --identity-object-id "<object-id>"
Remplacez l'espace réservé <object-id> par l'ID objet de l’identité managée attribuée par l’utilisateur.
Vous trouverez l’ID d’objet dans le portail Azure en affichant les propriétés de l’identité managée. La capture d’écran suivante montre l’emplacement de l’ID d’objet (également appelé ID principal).
Se connecter à l’aide d’un ID de ressource
Tapez la commande suivante, puis appuyez sur ENTRÉE.
azcopy login --identity --identity-resource-id "<resource-id>"
Remplacez l'espace réservé <resource-id> par l'ID ressource de l’identité managée attribuée par l’utilisateur.
Vous trouverez l’ID de ressource dans le portail Azure en affichant les propriétés de l’identité managée. La capture d’écran suivante montre l’emplacement de la propriété ID de ressource.
Autoriser avec Azure CLI
Lorsque vous vous connectez à l’aide d’Azure CLI, Azure CLI obtient un jeton OAuth utilisé par AzCopy pour autoriser les opérations.
Pour permettre à AzCopy d’utiliser ce jeton, tapez la commande suivante, puis appuyez sur la touche Entrée.
Pour plus d’informations sur la connexion à l’aide d’Azure CLI, consultez Se connecter à Azure avec une identité managée à l’aide d’Azure CLI.
Autoriser avec Azure PowerShell
Si vous vous connectez à l’aide d’Azure PowerShell, Azure PowerShell obtient un jeton OAuth que AzCopy peut utiliser pour autoriser les opérations.
Pour permettre à AzCopy d’utiliser ce jeton, tapez la commande suivante, puis appuyez sur la touche Entrée.
$Env:AZCOPY_AUTO_LOGIN_TYPE="PSCRED"
$Env:AZCOPY_TENANT_ID="<tenant-id>"
Pour plus d’informations sur la connexion à l’aide d’Azure PowerShell, consultez Connexion avec une identité managée.
Étapes suivantes
Pour plus d’informations sur AzCopy, consultez Prise en main d’AzCopy.
Si vous avez des questions, rencontrez des problèmes ou avez des commentaires généraux, envoyez-les sur GitHub.