Authentifier l’accès aux objets blob et aux files d’attente Azure à l’aide d’Azure Active DirectoryAuthenticate access to Azure blobs and queues using Azure Active Directory

Le Stockage Azure prend en charge l’authentification et l’autorisation avec Azure Active Directory (AD) pour les services de Blob et de File d’attente.Azure Storage supports authentication and authorization with Azure Active Directory (AD) for the Blob and Queue services. Avec Azure AD, vous pouvez utiliser le contrôle d’accès basé sur un rôle (RBAC) pour accorder l’accès aux utilisateurs, groupes ou principaux de service d’application.With Azure AD, you can use role-based access control (RBAC) to grant access to users, groups, or application service principals.

L’authentification des utilisateurs et des applications à l’aide des informations d’identification Azure AD est plus sécurisée et plus facile à utiliser que les autres modes d’autorisation.Authenticating users or applications using Azure AD credentials provides superior security and ease of use over other means of authorization. Même si vous pouvez continuer à utiliser l’autorisation de clé partagée avec vos applications, avec Azure AD, vous n’avez plus besoin de stocker votre clé d’accès de compte avec votre code.While you can continue to use Shared Key authorization with your applications, using Azure AD circumvents the need to store your account access key with your code. Vous pouvez également continuer à utiliser des signatures d’accès partagé (SAP) pour accorder un accès affiné aux ressources de votre compte de stockage. Toutefois, Azure AD offre des fonctionnalités similaires sans nécessiter de gestion des jetons SAP, ni de révocation des SAP compromises.You can also continue to use shared access signatures (SAS) to grant fine-grained access to resources in your storage account, but Azure AD offers similar capabilities without the need to manage SAS tokens or worry about revoking a compromised SAS. Dans la mesure du possible, Microsoft recommande d’utiliser l’authentification Azure AD pour les applications Stockage Azure.Microsoft recommends using Azure AD authentication for your Azure Storage applications when possible.

L’authentification et l’autorisation avec les informations d’identification Azure AD sont disponibles pour tous les comptes de stockage universels et comptes de stockage Blob dans la totalité des régions publiques et clouds nationaux.Authentication and authorization with Azure AD credentials is available for all general-purpose and Blob storage accounts in all public regions and national clouds. Seuls les comptes de stockage créés avec le modèle de déploiement Azure Resource Manager prennent en charge l’autorisation Azure AD.Only storage accounts created with the Azure Resource Manager deployment model support Azure AD authorization.

Vue d’ensemble d’Azure AD pour les objets blob et les files d’attenteOverview of Azure AD for blobs and queues

Lorsqu’un principal de sécurité (utilisateur, groupe ou application) tente d’accéder à une ressource d’objet blob ou de file d’attente, cette requête doit être autorisée, sauf s’il s’agit d’un objet blob disponible pour l’accès anonyme.When a security principal (a user, group, or application) attempts to access a blob or queue resource, the request must be authorized, unless it is a blob available for anonymous access. Avec Azure AD, l’accès à une ressource est un processus en deux étapes.With Azure AD, access to a resource is a two-step process. Pour commencer, l’identité du principal de sécurité est authentifiée, et un jeton OAuth 2.0 est renvoyé.First, the security principal's identity is authenticated and an OAuth 2.0 token is returned. Ensuite, ce jeton est transmis dans le cadre d’une requête adressée au service BLOB ou au service de File d’attente et utilisé par le service pour autoriser l’accès à la ressource spécifiée.Next, the token is passed as part of a request to the Blob or Queue service and used by the service to authorize access to the specified resource.

L’étape d’authentification nécessite qu’une application demande un jeton d’accès OAuth 2.0 au moment de l’exécution.The authentication step requires that an application request an OAuth 2.0 access token at runtime. Si une application s’exécute à partir d’une entité Azure telle qu’une machine virtuelle Azure, un groupe de machines virtuelles identiques ou une application Azure Functions, elle peut utiliser une identité managée pour accéder aux objets blob ou aux files d’attente.If an application is running from within an Azure entity such as an Azure VM, a virtual machine scale set, or an Azure Functions app, it can use a managed identity to access blobs or queues. Pour plus d’informations sur l’autorisation des requêtes adressées par une identité managée aux services Azure BLOB ou de File d’attente, consultez l’article Authenticate access to blobs and queues with Azure Active Directory and managed identities for Azure Resources (Authentifier l’accès aux objets blob et files d’attente avec Azure Active Directory et les identités managées pour les ressources Azure).To learn how to authorize requests made by a managed identity to the Azure Blob or Queue service, see Authenticate access to blobs and queues with Azure Active Directory and managed identities for Azure Resources.

L’étape d’autorisation exige qu’un ou plusieurs rôles RBAC soient attribués au principal de sécurité.The authorization step requires that one or more RBAC roles be assigned to the security principal. Le service Stockage Azure fournit des rôles RBAC qui englobent des ensembles communs d’autorisations pour les données d’objet blob et de file d’attente.Azure Storage provides RBAC roles that encompass common sets of permissions for blob and queue data. Les rôles qui sont attribués à un principal de sécurité déterminent les autorisations dont disposera le principal.The roles that are assigned to a security principal determine the permissions that the principal will have. Pour plus d’informations sur l’attribution de rôles RBAC pour le service Stockage Azure, consultez l’article Manage access rights to storage data with RBAC (Gérer les droits d’accès aux données de stockage avec RBAC).To learn more about assigning RBAC roles for Azure Storage, see Manage access rights to storage data with RBAC.

Les applications natives et les applications web qui adressent des requêtes aux services Azure BLOB ou de File d’attente peuvent également s’authentifier auprès d’Azure AD.Native applications and web applications that make requests to the Azure Blob or Queue service can also authenticate with Azure AD. Pour savoir comment demander un jeton d’accès et l’utiliser pour autoriser les requêtes adressées de données d’objet blob ou de file d’attente, consultez l’article Authentification avec Azure AD à partir d’une application de stockage Azure.To learn how to request an access token and use it to authorize requests for blob or queue data, see Authenticate with Azure AD from an Azure Storage application.

Attribution de rôles RBAC pour les droits d’accèsAssigning RBAC roles for access rights

Azure Active Directory (Azure AD) autorise les droits d’accès aux ressources sécurisées via RBAC (contrôle d’accès en fonction du rôle).Azure Active Directory (Azure AD) authorizes access rights to secured resources through role-based access control (RBAC). Le service Stockage Azure définit un ensemble de rôles RBAC intégrés qui englobent les ensembles communs d’autorisations permettant d’accéder aux données d’objet blob ou de file d’attente.Azure Storage defines a set of built-in RBAC roles that encompass common sets of permissions used to access blob and queue data. Vous pouvez également définir des rôles personnalisés pour l’accès aux données d’objet blob et de file d’attente.You can also define custom roles for access to blob and queue data.

Lorsqu’un rôle RBAC est attribué à un principal de sécurité Azure AD, Azure octroie l’accès à ces ressources pour ce principal de sécurité.When an RBAC role is assigned to an Azure AD security principal, Azure grants access to those resources for that security principal. L’accès peut être limité au niveau de l’abonnement, du groupe de ressources, du compte de stockage ou d’un conteneur ou d’une file d’attente individuelle.Access can be scoped to the level of the subscription, the resource group, the storage account, or an individual container or queue. Un principal de sécurité Azure AD peut correspondre à un utilisateur, à un groupe, à un principal de service d’application ou à une identité managée pour les ressources Azure.An Azure AD security principal may be a user, a group, an application service principal, or a managed identity for Azure resources.

Rôles RBAC intégrés pour les objets blob et les files d’attenteBuilt-in RBAC roles for blobs and queues

Azure fournit les rôles RBAC intégrés suivants pour autoriser l’accès aux données blob et file d’attente à l’aide d’Azure AD et OAuth :Azure provides the following built-in RBAC roles for authorizing access to blob and queue data using Azure AD and OAuth:

Notes

N’oubliez pas que les attributions de rôles RBAC peuvent prendre jusqu'à cinq minutes pour se propager.Keep in mind that RBAC role assignments may take up to five minutes to propagate.

Pour plus d’informations sur l’attribution d’un rôle RBAC intégré à un principal de sécurité, consultez l’un des articles suivants :To learn how to assign a built-in RBAC role to a security principal, see one of the following articles:

Pour plus d’informations sur la définition des rôles intégrés pour le Stockage Azure, consultez Comprendre les définitions de rôles.For more information about how built-in roles are defined for Azure Storage, see Understand role definitions. Pour plus d’informations sur la création de rôles RBAC personnalisés, consultez l’article Créer des rôles personnalisés pour le contrôle d’accès en fonction du rôle Azure.For information about creating custom RBAC roles, see Create custom roles for Azure Role-Based Access Control.

Autorisations d’accès pour les opérations de donnéesAccess permissions for data operations

Pour plus d’informations sur les autorisations requises pour l’appel d’opérations propres aux services Azure BLOB ou de File d’attente, consultez la section Permissions for calling blob and queue data operations (Autorisations pour l’appel d’opérations de données d’objet blob et de file d’attente).For details on the permissions required to call specific Blob or Queue service operations, see Permissions for calling blob and queue data operations.

Étendue des ressourcesResource scope

Avant de vous attribuez un rôle RBAC à un principal de sécurité, déterminez l’étendue d’accès que l’entité de sécurité doit avoir.Before you assign an RBAC role to a security principal, determine the scope of access that the security principal should have. Les méthodes conseillées préconisent qu’il est toujours préférable d’accorder la plus petite portée possible.Best practices dictate that it's always best to grant only the narrowest possible scope.

La liste suivante décrit les niveaux à laquelle vous pouvez étendre l’accès aux ressources d’objets blob et file d’attente Azure, en commençant par la plus petite portée :The following list describes the levels at which you can scope access to Azure blob and queue resources, starting with the narrowest scope:

  • Un conteneur spécifique.An individual container. Dans cette étendue, une attribution de rôle s’applique à tous les objets BLOB dans le conteneur, ainsi que les propriétés du conteneur et les métadonnées.At this scope, a role assignment applies to all of the blobs in the container, as well as container properties and metadata.
  • Une file d’attente individuel.An individual queue. Dans cette étendue, une attribution de rôle s’applique aux messages dans la file d’attente, ainsi que les propriétés de la file d’attente et les métadonnées.At this scope, a role assignment applies to messages in the queue, as well as queue properties and metadata.
  • Le compte de stockage.The storage account. Dans cette étendue, une attribution de rôle s’applique à tous les conteneurs et leurs objets BLOB, ou pour toutes les files d’attente et leurs messages.At this scope, a role assignment applies to all containers and their blobs, or to all queues and their messages.
  • Le groupe de ressources.The resource group. Dans cette étendue, une attribution de rôle s’applique à tous les conteneurs ou les files d’attente dans tous les comptes de stockage dans le groupe de ressources.At this scope, a role assignment applies to all of the containers or queues in all of the storage accounts in the resource group.
  • L’abonnement.The subscription. Dans cette étendue, une attribution de rôle s’applique à tous les conteneurs ou les files d’attente dans tous les comptes de stockage dans tous les groupes de ressources dans l’abonnement.At this scope, a role assignment applies to all of the containers or queues in all of the storage accounts in all of the resource groups in the subscription.

Important

Si votre abonnement inclut un espace de noms Azure DataBricks, les rôles attribués à l’étendue de l’abonnement seront bloqués d’octroyer l’accès aux données blob et file d’attente.If your subscription includes an Azure DataBricks namespace, roles assigned at the subscription scope will be blocked from granting access to blob and queue data.

Accéder aux données avec un compte Azure ADAccess data with an Azure AD account

L’accès aux données d’objet blob ou de file d’attente par le biais du Portail Azure, de PowerShell ou d’Azure CLI peut être autorisé à l’aide du compte Azure AD de l’utilisateur ou au moyen des clés d’accès au compte (authentification par clé partagée).Access to blob or queue data via the Azure portal, PowerShell, or Azure CLI can be authorized either by using the user's Azure AD account or by using the account access keys (Shared Key authentication).

Accès aux données à partir du Portail AzureData access from the Azure portal

Le Portail Azure peut utiliser soit votre compte Azure AD, soit les clés d’accès au compte pour accéder aux données d’objet blob et de file d’attente dans un compte de stockage Azure.The Azure portal can use either your Azure AD account or the account access keys to access blob and queue data in an Azure storage account. Le schéma d’autorisation utilisé par le Portail Azure dépend des rôles RBAC qui vous sont attribués.Which authorization scheme the Azure portal uses depends on the RBAC roles that are assigned to you.

Lorsque vous tentez d’accéder aux données d’objet blob ou de file d’attente, le Portail Azure commence par vérifier si vous avez reçu un rôle RBAC avec Microsoft.Storage/storageAccounts/listkeys/action.When you attempt to access blob or queue data, the Azure portal first checks whether you have been assigned an RBAC role with Microsoft.Storage/storageAccounts/listkeys/action. Si vous avez été doté d’un rôle avec cette action, le Portail Azure utilise la clé de compte pour l’accès aux données d’objet blob et de file d’attente par le biais de l’autorisation par clé partagée.If you have been assigned a role with this action, then the Azure portal uses the account key for accessing blob and queue data via Shared Key authorization. Si vous n’avez pas reçu un rôle avec cette action, le Portail Azure tente d’accéder aux données à l’aide de votre compte Azure AD.If you have not been assigned a role with this action, then the Azure portal attempts to access data using your Azure AD account.

Pour accéder aux données d’objet blob ou de file d’attente à partir du Portail Azure à l’aide de votre compte Azure AD, vous devez disposer d’autorisations pour accéder à ces données, ainsi que pour parcourir les ressources de compte de stockage dans le Portail Azure.To access blob or queue data from the Azure portal using your Azure AD account, you need permissions to access blob and queue data, and you also need permissions to navigate through the storage account resources in the Azure portal. Les rôles intégrés fournis par le service Stockage Azure octroient l’accès aux ressources d’objet blob et de file d’attente, mais n’accordent pas d’autorisations pour les ressources de compte de stockage.The built-in roles provided by Azure Storage grant access to blob and queue resources, but they don't grant permissions to storage account resources. C’est la raison pour laquelle l’accès au portail requiert également l’attribution d’un rôle Azure Resource Manager, tel que le rôle Lecteur, étendu au niveau du compte de stockage ou à un niveau supérieur.For this reason, access to the portal also requires the assignment of an Azure Resource Manager role such as the Reader role, scoped to the level of the storage account or higher. Le rôle Lecteur octroie les autorisations les plus restreintes, mais l’utilisation d’un autre rôle Azure Resource Manager accordant l’accès aux ressources de gestion de compte de stockage est également acceptable.The Reader role grants the most restricted permissions, but another Azure Resource Manager role that grants access to storage account management resources is also acceptable. Pour plus d’informations sur l’attribution d’autorisations aux utilisateurs pour l’accès aux données dans le Portail Azure avec un compte Azure AD, consultez l’article Grant access to Azure blob and queue data with RBAC in the Azure portal (Octroyer l’accès aux données d’objet blob et de file d’attente Azure avec RBAC dans le Portail Azure).To learn more about how to assign permissions to users for data access in the Azure portal with an Azure AD account, see Grant access to Azure blob and queue data with RBAC in the Azure portal.

Le Portail Azure indique le schéma d’autorisation en cours d’utilisation lorsque vous accédez à un conteneur ou à une file d’attente.The Azure portal indicates which authorization scheme is in use when you navigate to a container or queue. Pour plus d’informations sur l’accès aux données dans le portail, consultez l’article Use the Azure portal to access blob or queue data (Accéder aux données d’objet blob ou de file d’attente à l’aide du Portail Azure).For more information about data access in the portal, see Use the Azure portal to access blob or queue data.

Accès aux données à partir de PowerShell ou d’Azure CLIData access from PowerShell or Azure CLI

Azure CLI et PowerShell prennent en charge la connexion avec des informations d’identification Azure AD.Azure CLI and PowerShell support signing in with Azure AD credentials. Une fois que vous vous êtes connecté, votre session s’exécute sous ces informations d’identification.After you sign in, your session runs under those credentials. Pour plus d’informations, consultez l’article Exécuter des commandes Azure CLI ou PowerShell avec des informations d’identification Azure AD pour accéder aux données d’objet blob ou de file d’attente.To learn more, see Run Azure CLI or PowerShell commands with Azure AD credentials to access blob or queue data.

Authentification Azure AD sur SMB pour Azure FilesAzure AD authentication over SMB for Azure Files

Azure Files prend en charge l’authentification avec Azure AD sur SMB uniquement pour les machines virtuelles jointes au domaine (préversion).Azure Files supports authentication with Azure AD over SMB for domain-joined VMs only (preview). Pour plus d’informations sur l’utilisation d’Azure AD sur SMB pour Azure Files, consultez l’article Vue d’ensemble de l’authentification Azure Active Directory sur SMB pour Azure Files (préversion).To learn about using Azure AD over SMB for Azure Files,see Overview of Azure Active Directory authentication over SMB for Azure Files (preview).

Étapes suivantesNext steps