Utiliser Azure CLI pour les fichiers et les listes de contrôle d’accès dans Azure Data Lake Storage Gen2Use Azure CLI to manage directories, files, and ACLs in Azure Data Lake Storage Gen2

Cet article vous explique comment utiliser l’interface de ligne de commande (CLI) Azure pour créer et gérer des répertoires, des fichiers et des autorisations dans des comptes de stockage dotés d’un espace de noms hiérarchique.This article shows you how to use the Azure Command-Line Interface (CLI) to create and manage directories, files, and permissions in storage accounts that have a hierarchical namespace.

Exemples | Donner votre avisSamples | Give feedback

PrérequisPrerequisites

  • Un abonnement Azure.An Azure subscription. Consultez la page Obtention d’un essai gratuit d’Azure.See Get Azure free trial.
  • Un compte de stockage doté d’un espace de noms hiérarchique (HNS) activé.A storage account that has hierarchical namespace (HNS) enabled. Pour créer un test, suivez ces instructions.Follow these instructions to create one.
  • Azure CLI version 2.6.0 ou ultérieure.Azure CLI version 2.6.0 or higher.

Vérifiez que la version correcte d’Azure CLI est installée.Ensure that you have the correct version of Azure CLI installed

  1. Ouvrez Azure Cloud Shell ou, si vous avez installé Azure CLI localement, ouvrez une application console de commandes telle que Windows PowerShell.Open the Azure Cloud Shell, or if you've installed the Azure CLI locally, open a command console application such as Windows PowerShell.

  2. Vérifiez que la version 2.6.0 d’Azure CLI ou une version supérieure est installée à l’aide de la commande suivante.Verify that the version of Azure CLI that have installed is 2.6.0 or higher by using the following command.

     az --version
    

    Si la version d’Azure CLI est inférieure à 2.6.0, installez une version plus récente.If your version of Azure CLI is lower than 2.6.0, then install a later version. Voir Installer l’interface de ligne de commande Azure.See Install the Azure CLI.

Se connecter au compteConnect to the account

  1. Si vous utilisez Azure CLI localement, exécutez la commande login.If you're using Azure CLI locally, run the login command.

    az login
    

    Si l’interface CLI peut ouvrir votre navigateur par défaut, elle le fait et charge une page de connexion Azure par la même occasion.If the CLI can open your default browser, it will do so and load an Azure sign-in page.

    Sinon, ouvrez une page de navigateur à l’adresse https://aka.ms/devicelogin et entrez le code d’autorisation affiché dans votre terminal.Otherwise, open a browser page at https://aka.ms/devicelogin and enter the authorization code displayed in your terminal. Connectez-vous ensuite avec les informations d’identification de votre compte dans le navigateur.Then, sign in with your account credentials in the browser.

    Pour en savoir plus sur les différentes méthodes d’authentification, consultez Autoriser l’accès à des données d’objet blob ou de file d’attente avec Azure CLI.To learn more about different authentication methods, see Authorize access to blob or queue data with Azure CLI.

  2. Si votre identité est associée à plusieurs abonnements, définissez comme abonnement actif l’abonnement du compte de stockage qui doit héberger votre site web statique.If your identity is associated with more than one subscription, then set your active subscription to subscription of the storage account that will host your static website.

    az account set --subscription <subscription-id>
    

    Remplacez la valeur d’espace réservé <subscription-id> par l’ID de votre abonnement.Replace the <subscription-id> placeholder value with the ID of your subscription.

Notes

L’exemple présenté dans cet article illustre l’autorisation Azure Active Directory (AD).The example presented in this article show Azure Active Directory (AD) authorization. Pour en savoir plus sur les méthodes d’autorisation, consultez Autoriser l’accès à des données d’objet blob ou de file d’attente avec Azure CLI.To learn more about authorization methods, see Authorize access to blob or queue data with Azure CLI.

Créez un conteneur.Create a container

Un conteneur fait office de système de fichiers pour vos fichiers.A container acts as a file system for your files. Vous pouvez en créer un à l’aide de la commande az storage fs create.You can create one by using the az storage fs create command.

Cet exemple crée un conteneur nommé my-file-system.This example creates a container named my-file-system.

az storage fs create -n my-file-system --account-name mystorageaccount --auth-mode login

Afficher les propriétés d’un conteneurShow container properties

Vous pouvez imprimer les propriétés d’un conteneur dans la console à l’aide de la commande az storage fs show.You can print the properties of a container to the console by using the az storage fs show command.

az storage fs show -n my-file-system --account-name mystorageaccount --auth-mode login

Lister le contenu d’un conteneurList container contents

Affichez le contenu d’un répertoire à l’aide de la commande az storage fs file list.List the contents of a directory by using the az storage fs file list command.

Cet exemple liste le contenu d’un conteneur nommé my-file-system.This example lists the contents of a container named my-file-system.

az storage fs file list -f my-file-system --account-name mystorageaccount --auth-mode login

Supprimer un conteneurDelete a container

Supprimez un conteneur à l’aide de la commande az storage fs delete.Delete a container by using the az storage fs delete command.

Cet exemple supprime un conteneur nommé my-file-system.This example deletes a container named my-file-system.

az storage fs delete -n my-file-system --account-name mystorageaccount --auth-mode login

Créer un répertoireCreate a directory

Créez une référence de répertoire à l’aide de la commande az storage fs directory create.Create a directory reference by using the az storage fs directory create command.

Cet exemple ajoute un répertoire nommé my-directory à un conteneur nommé my-file-system qui se trouve dans un compte nommé mystorageaccount.This example adds a directory named my-directory to a container named my-file-system that is located in an account named mystorageaccount.

az storage fs directory create -n my-directory -f my-file-system --account-name mystorageaccount --auth-mode login

Afficher les propriétés du répertoireShow directory properties

Vous pouvez imprimer les propriétés d’un répertoire dans la console à l’aide de la commande az storage fs directory show.You can print the properties of a directory to the console by using the az storage fs directory show command.

az storage fs directory show -n my-directory -f my-file-system --account-name mystorageaccount --auth-mode login

Renommer ou déplacer un répertoireRename or move a directory

Renommez ou déplacez un répertoire à l’aide de la commande az storage fs directory move.Rename or move a directory by using the az storage fs directory move command.

Cet exemple affecte au répertoire my-directory le nouveau nom my-new-directory dans le même conteneur.This example renames a directory from the name my-directory to the name my-new-directory in the same container.

az storage fs directory move -n my-directory -f my-file-system --new-directory "my-file-system/my-new-directory" --account-name mystorageaccount --auth-mode login

Cet exemple déplace un répertoire vers un conteneur nommé my-second-file-system.This example moves a directory to a container named my-second-file-system.

az storage fs directory move -n my-directory -f my-file-system --new-directory "my-second-file-system/my-new-directory" --account-name mystorageaccount --auth-mode login

Supprimer un répertoireDelete a directory

Supprimez un répertoire à l’aide de la commande az storage fs directory delete.Delete a directory by using the az storage fs directory delete command.

Cet exemple supprime un répertoire nommé my-directory.This example deletes a directory named my-directory.

az storage fs directory delete -n my-directory -f my-file-system  --account-name mystorageaccount --auth-mode login 

Vérifier l’existence d’un répertoireCheck if a directory exists

Déterminez si un répertoire spécifique existe dans le conteneur à l’aide de la commande az storage fs directory exists.Determine if a specific directory exists in the container by using the az storage fs directory exists command.

Cet exemple indique si un répertoire nommé my-directory existe dans le conteneur my-file-system.This example reveals whether a directory named my-directory exists in the my-file-system container.

az storage fs directory exists -n my-directory -f my-file-system --account-name mystorageaccount --auth-mode login 

Télécharger à partir d’un répertoireDownload from a directory

Téléchargez un fichier à partir d’un répertoire à l’aide de la commande az storage fs file download.Download a file from a directory by using the az storage fs file download command.

Cet exemple télécharge un fichier nommé upload.txt à partir d’un répertoire nommé my-directory.This example downloads a file named upload.txt from a directory named my-directory.

az storage fs file download -p my-directory/upload.txt -f my-file-system -d "C:\myFolder\download.txt" --account-name mystorageaccount --auth-mode login

Afficher le contenu du répertoireList directory contents

Affichez le contenu d’un répertoire à l’aide de la commande az storage fs file list.List the contents of a directory by using the az storage fs file list command.

Cet exemple liste le contenu d’un répertoire nommé my-directory qui se trouve dans le conteneur my-file-system d’un compte de stockage nommé mystorageaccount.This example lists the contents of a directory named my-directory that is located in the my-file-system container of a storage account named mystorageaccount.

az storage fs file list -f my-file-system --path my-directory --account-name mystorageaccount --auth-mode login

Charger un fichier dans un répertoireUpload a file to a directory

Téléchargez un fichier dans un répertoire à l’aide de la commande az storage fs directory upload.Upload a file to a directory by using the az storage fs directory upload command.

Cet exemple charge un fichier nommé upload.txt dans un répertoire nommé my-directory.This example uploads a file named upload.txt to a directory named my-directory.

az storage fs file upload -s "C:\myFolder\upload.txt" -p my-directory/upload.txt  -f my-file-system --account-name mystorageaccount --auth-mode login

Afficher les propriétés d’un fichierShow file properties

Vous pouvez imprimer les propriétés d’un fichier dans la console à l’aide de la commande az storage fs file show.You can print the properties of a file to the console by using the az storage fs file show command.

az storage fs file show -p my-file.txt -f my-file-system --account-name mystorageaccount --auth-mode login

Renommer ou déplacer un fichierRename or move a file

Renommez ou déplacez un fichier à l’aide de la commande az storage fs file move.Rename or move a file by using the az storage fs file move command.

Cet exemple renomme un fichier du nom my-file.txt au nom my-file-renamed.txt.This example renames a file from the name my-file.txt to the name my-file-renamed.txt.

az storage fs file move -p my-file.txt -f my-file-system --new-path my-file-system/my-file-renamed.txt --account-name mystorageaccount --auth-mode login

Supprimer un fichierDelete a file

Supprimez un fichier à l’aide de la commande az storage fs file delete.Delete a file by using the az storage fs file delete command.

Cet exemple supprime un fichier nommé my-file.txt.This example deletes a file named my-file.txt

az storage fs file delete -p my-directory/my-file.txt -f my-file-system  --account-name mystorageaccount --auth-mode login 

Gérer les autorisationsManage permissions

Vous pouvez obtenir, définir et mettre à jour les autorisations d’accès des répertoires et des fichiers.You can get, set, and update access permissions of directories and files.

Notes

Si vous utilisez Azure Active Directory (Azure AD) pour autoriser des commandes, assurez-vous que le rôle Propriétaire des données blob du stockage est attribué à votre principal de sécurité.If you're using Azure Active Directory (Azure AD) to authorize commands, then make sure that your security principal has been assigned the Storage Blob Data Owner role. Pour en savoir plus sur l’application des autorisations ACL et les conséquences de leur modification, consultez Contrôle d’accès dans Azure Data Lake Storage Gen2.To learn more about how ACL permissions are applied and the effects of changing them, see Access control in Azure Data Lake Storage Gen2.

Obtenir une liste de contrôle d’accèsGet an ACL

Obtenez l’ACL d’un répertoire à l’aide de la commande az storage fs access show.Get the ACL of a directory by using the az storage fs access show command.

Cet exemple obtient l’ACL d’un répertoire, puis imprime l’ACL sur la console.This example gets the ACL of a directory, and then prints the ACL to the console.

az storage fs access show -p my-directory -f my-file-system --account-name mystorageaccount --auth-mode login

Obtenez les autorisations d’accès d’un fichier à l’aide de la commande az storage fs access show.Get the access permissions of a file by using the az storage fs access show command.

Cet exemple obtient l’ACL d’un fichier, puis imprime l’ACL sur la console.This example gets the ACL of a file and then prints the ACL to the console.

az storage fs access show -p my-directory/upload.txt -f my-file-system --account-name mystorageaccount --auth-mode login

L’image suivante montre la sortie après l’obtention de la liste ACL d’un répertoire.The following image shows the output after getting the ACL of a directory.

Obtenir la sortie de liste ACL

Dans cet exemple, l’utilisateur propriétaire dispose d’autorisations de lecture, d’écriture et d’exécution.In this example, the owning user has read, write, and execute permissions. Le groupe propriétaire dispose uniquement d’autorisations de lecture et d’exécution.The owning group has only read and execute permissions. Pour plus d’informations sur les listes de contrôle d’accès, consultez Contrôle d’accès dans Azure Data Lake Storage Gen2.For more information about access control lists, see Access control in Azure Data Lake Storage Gen2.

Définir une liste de contrôle d’accèsSet an ACL

Utilisez la commande az storage fs access set pour définir l’ACL d’un répertoire.Use the az storage fs access set command to set the ACL of a directory.

Cet exemple définit l’ACL d’un répertoire pour l’utilisateur propriétaire, le groupe propriétaire ou d’autres utilisateurs, puis imprime l’ACL sur la console.This example sets the ACL on a directory for the owning user, owning group, or other users, and then prints the ACL to the console.

az storage fs access set --acl "user::rw-,group::rw-,other::-wx" -p my-directory -f my-file-system --account-name mystorageaccount --auth-mode login

Cet exemple définit l’ACL par défaut d’un répertoire pour l’utilisateur propriétaire, le groupe propriétaire ou d’autres utilisateurs, puis imprime l’ACL sur la console.This example sets the default ACL on a directory for the owning user, owning group, or other users, and then prints the ACL to the console.

az storage fs access set --acl "default:user::rw-,group::rw-,other::-wx" -p my-directory -f my-file-system --account-name mystorageaccount --auth-mode login

Utilisez la commande az storage fs access set pour définir l’ACL d’un fichier.Use the az storage fs access set command to set the acl of a file.

Cet exemple définit l’ACL d’un fichier pour l’utilisateur propriétaire, le groupe propriétaire ou d’autres utilisateurs, puis imprime l’ACL sur la console.This example sets the ACL on a file for the owning user, owning group, or other users, and then prints the ACL to the console.

az storage fs access set --acl "user::rw-,group::rw-,other::-wx" -p my-directory/upload.txt -f my-file-system --account-name mystorageaccount --auth-mode login

L’image suivante montre la sortie après la définition de la liste ACL d’un fichier.The following image shows the output after setting the ACL of a file.

Obtenir la sortie de liste ACL

Dans cet exemple, l’utilisateur propriétaire et le groupe propriétaire disposent uniquement des autorisations de lecture et d’écriture.In this example, the owning user and owning group have only read and write permissions. Tous les autres utilisateurs disposent des autorisations d’écriture et d’exécution.All other users have write and execute permissions. Pour plus d’informations sur les listes de contrôle d’accès, consultez Contrôle d’accès dans Azure Data Lake Storage Gen2.For more information about access control lists, see Access control in Azure Data Lake Storage Gen2.

Mettre à jour une ACLUpdate an ACL

Une autre façon de définir cette autorisation consiste à utiliser la commande az storage fs access set.Another way to set this permission is to use the az storage fs access set command.

Mettez à jour l’ACL d’un répertoire ou d’un fichier en définissant le paramètre -permissions sur la forme abrégée d’une ACL.Update the ACL of a directory or file by setting the -permissions parameter to the short form of an ACL.

Cet exemple met à jour l’ACL d’un répertoire.This example updates the ACL of a directory.

az storage fs access set --permissions rwxrwxrwx -p my-directory -f my-file-system --account-name mystorageaccount --auth-mode login

Cet exemple met à jour l’ACL d’un fichier.This example updates the ACL of a file.

az storage fs access set --permissions rwxrwxrwx -p my-directory/upload.txt -f my-file-system --account-name mystorageaccount --auth-mode login

Vous pouvez également mettre à jour l’utilisateur et le groupe propriétaire d’un répertoire ou d’un fichier en définissant les paramètres --owner ou group sur l’ID d’entité ou le nom d’utilisateur principal (UPN) d’un utilisateur.You can also update the owning user and group of a directory or file by setting the --owner or group parameters to the entity ID or User Principal Name (UPN) of a user.

Cet exemple modifie le propriétaire d’un répertoire.This example changes the owner of a directory.

az storage fs access set --owner xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -p my-directory -f my-file-system --account-name mystorageaccount --auth-mode login

Cet exemple modifie le propriétaire d’un fichier.This example changes the owner of a file.

az storage fs access set --owner xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -p my-directory/upload.txt -f my-file-system --account-name mystorageaccount --auth-mode login

Voir aussiSee also