Autoriser l’accès aux objets blob et aux files d’attente avec Azure Active DirectoryAuthorize access to blobs and queues using Azure Active Directory

Le Stockage Azure prend en charge l’utilisation d’Azure Active Directory (Azure AD) pour autoriser les demandes au stockage Blob et File d’attente.Azure Storage supports using Azure Active Directory (Azure AD) to authorize requests to Blob and Queue storage. Avec Azure AD, vous pouvez utiliser le contrôle d’accès en fonction du rôle d’Azure (Azure RBAC) pour accorder des autorisations à un principal de sécurité, qui peut être un utilisateur, un groupe ou un principal de service d’application.With Azure AD, you can use Azure role-based access control (Azure RBAC) to grant permissions to a security principal, which may be a user, group, or application service principal. Le principal de sécurité est authentifié par Azure AD pour retourner un jeton OAuth 2.0.The security principal is authenticated by Azure AD to return an OAuth 2.0 token. Le jeton peut ensuite être utilisé pour autoriser une demande auprès du stockage Blob ou File d’attente.The token can then be used to authorize a request against Blob or Queue storage.

Autoriser les demandes auprès du Stockage Azure avec Azure AD offre davantage de sécurité et de facilité d’utilisation sur l’autorisation de clé partagée.Authorizing requests against Azure Storage with Azure AD provides superior security and ease of use over Shared Key authorization. Microsoft recommande d’utiliser, si possible, l’autorisation Azure AD avec vos applications d’objets blob et de file d’attente afin de minimiser les failles de sécurité potentielles inhérentes à la clé partagée.Microsoft recommends using Azure AD authorization with your blob and queue applications when possible to minimize potential security vulnerabilities inherent in Shared Key.

L’autorisation avec Azure AD est disponible pour tous les comptes de stockage universels et comptes de stockage Blob, dans la totalité des régions publiques et clouds nationaux.Authorization with Azure AD 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.

Le stockage Blob prend également en charge la création de signatures d’accès partagé (SAS) signées avec des informations d’identification Azure AD.Blob storage additionally supports creating shared access signatures (SAS) that are signed with Azure AD credentials. Pour plus d’informations, consultez Accorder un accès limité aux données avec des signatures d’accès partagé.For more information, see Grant limited access to data with shared access signatures.

Azure Files prend uniquement en charge l’autorisation avec AD (en préversion) ou Azure AD DS (généralement disponible) sur SMB uniquement pour des machines virtuelles jointes au domaine.Azure Files supports authorization with AD (preview) or Azure AD DS (GA) over SMB for domain-joined VMs only. Pour en savoir plus sur l’utilisation d’AD (en préversion) ou d’Azure AD DS (généralement disponible) sur SMB pour Azure Files, voir Vue d’ensemble de la prise en charge de l’authentification basée sur l’identité Azure Files pour l’accès SMB.To learn about using AD (preview) or Azure AD DS (GA) over SMB for Azure Files, see Overview of Azure Files identity-based authentication support for SMB access.

L’autorisation avec Azure AD n’est pas prise en charge pour Stockage Table Azure.Authorization with Azure AD is not supported for Azure Table storage. Utilisez la clé partagée pour autoriser les demandes au stockage Table.Use Shared Key to authorize requests to Table storage.

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 savoir comment autoriser des requêtes adressées au service Azure Blob ou au service de File d’attente par une identité managée, consultez Autoriser l’accès aux objets blob et aux 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 Authorize 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 Azure soient attribués au principal de sécurité.The authorization step requires that one or more Azure roles be assigned to the security principal. Le service Stockage Azure fournit des rôles Azure qui englobent des ensembles communs d’autorisations pour les données de blob et de file d’attente.Azure Storage provides Azure 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 Azure pour le service Stockage Azure, consultez Gérer les droits d’accès aux données de stockage avec le contrôle RBAC Azure.To learn more about assigning Azure roles for Azure Storage, see Manage access rights to storage data with Azure RBAC.

Les applications natives et les applications web qui adressent des requêtes au service Azure Blob ou au service de File d’attente peuvent également autoriser l’accès avec Azure AD.Native applications and web applications that make requests to the Azure Blob or Queue service can also authorize access with Azure AD. Pour savoir comment demander un jeton d’accès et l’utiliser pour autoriser les requêtes qui interrogent des données d’objet blob ou de file d’attente, consultez Autoriser l’accès au stockage Azure 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 Authorize access to Azure Storage with Azure AD from an Azure Storage application.

Attribuer des rôles Azure pour les droits d’accèsAssign Azure roles for access rights

Azure Active Directory (Azure AD) autorise les droits d’accès aux ressources sécurisées par le biais du contrôle d’accès en fonction du rôle Azure (Azure RBAC).Azure Active Directory (Azure AD) authorizes access rights to secured resources through Azure role-based access control (Azure RBAC). Stockage Azure définit un ensemble de rôles intégrés Azure qui englobent les ensembles communs d’autorisations permettant d’accéder aux données blob et de file d’attente.Azure Storage defines a set of Azure built-in 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 Azure est attribué à un principal de sécurité Azure AD, Azure octroie l’accès à ces ressources pour ce principal de sécurité.When an Azure 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 intégrés Azure pour les objets blob et les files d’attenteAzure built-in roles for blobs and queues

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

Seuls les rôles explicitement définis pour l’accès aux données permettent à un principal de sécurité d’accéder aux données d’objet blob ou de file d’attente.Only roles explicitly defined for data access permit a security principal to access blob or queue data. Des rôles intégrés, tels que Propriétaire, Contributeur et Contributeur de comptes de stockage, permettent à un principal de sécurité de gérer un compte de stockage, mais n’accordent pas l’accès aux données de l’objet blob ou de la file d’attente dans ce compte via Azure AD.Built-in roles such as Owner, Contributor, and Storage Account Contributor permit a security principal to manage a storage account, but do not provide access to the blob or queue data within that account via Azure AD. Toutefois, si un rôle comprend Microsoft.Storage/storageAccounts/listKeys/action, un utilisateur auquel ce rôle est affecté peut accéder aux données du compte de stockage via l’autorisation de la clé partagée avec les clés d’accès au compte.However, if a role includes the Microsoft.Storage/storageAccounts/listKeys/action, then a user to whom that role is assigned can access data in the storage account via Shared Key authorization with the account access keys. Pour plus d’informations, voir Utiliser le portail Azure pour accéder aux données d’objet blob ou de file d’attente.For more information, see Use the Azure portal to access blob or queue data.

Pour des informations détaillées sur les rôles intégrés Azure pour le Stockage Azure pour les services de données et de gestion, consultez la section Stockage dans Rôles intégrés Azure pour Azure RBAC.For detailed information about Azure built-in roles for Azure Storage for both the data services and the management service, see the Storage section in Azure built-in roles for Azure RBAC. Pour plus d’informations sur les différents types de rôles qui fournissent des autorisations dans Azure, consultez Rôles d’administrateur d’abonnement classique, rôles Azure et rôles Azure AD.Additionally, for information about the different types of roles that provide permissions in Azure, see Classic subscription administrator roles, Azure roles, and Azure AD roles.

Importante

Les attributions de rôles Azure peuvent prendre jusqu’à cinq minutes pour se propager.Azure role assignments may take up to five minutes to propagate.

Pour plus d’informations sur l’attribution d’un rôle intégré Azure à un principal de sécurité, consultez l’un des articles suivants :To learn how to assign an Azure built-in 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 personnalisés Azure, consultez Rôles personnalisés Azure.For information about creating Azure custom roles, see Azure custom roles.

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 d’attribuer un rôle Azure à un principal de sécurité, déterminez l’étendue de l’accès dont doit disposer le principal de sécurité.Before you assign an Azure role to a security principal, determine the scope of access that the security principal should have. Selon les bonnes pratiques, il est toujours préférable d’accorder la plus petite étendue possible.Best practices dictate that it's always best to grant only the narrowest possible scope.

La liste suivante décrit les niveaux auxquels vous pouvez étendre l’accès aux ressources d’objets blob et de files d’attente Azure, en commençant par la plus petite étendue :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 individuel.An individual container. Dans cette étendue, une attribution de rôle s’applique à tous les objets blob dans le conteneur, ainsi qu’aux propriétés et aux métadonnées du conteneur.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 individuelle.An individual queue. Dans cette étendue, une attribution de rôle s’applique aux messages dans la file d’attente, ainsi qu’à ses propriétés et ses 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 à 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 à toutes les files d’attente dans tous les comptes de stockage du 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 à toutes les files d’attente dans tous les comptes de stockage de tous les groupes de ressources de 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.
  • Un groupe d’administration.A management group. Dans cette étendue, une attribution de rôle s’applique à tous les conteneurs ou à toutes les files d’attente dans tous les comptes de stockage de tous les groupes de ressources de tous les abonnements du groupe d’administration.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 all of the subscriptions in the management group.

Pour plus d’informations sur les attributions de rôles Azure et l’étendue, consultez Qu’est-ce que le contrôle d’accès en fonction du rôle Azure (Azure RBAC) ?.For more information about Azure role assignments and scope, see What is Azure role-based access control (Azure RBAC)?.

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 (autorisation de 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 authorization).

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 Azure qui vous sont attribués.Which authorization scheme the Azure portal uses depends on the Azure roles that are assigned to you.

Lorsque vous tentez d’accéder aux données de blob ou de file d’attente, le portail Azure commence par vérifier si vous avez reçu un rôle Azure 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 Azure 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 en savoir plus sur l’attribution d’autorisations à des utilisateurs pour l’accès aux données dans le portail Azure avec un compte Azure AD, consultez Utiliser le portail Azure afin d’attribuer un rôle Azure pour l’accès aux données Blob et de file d’attente.To learn more about how to assign permissions to users for data access in the Azure portal with an Azure AD account, see Use the Azure portal to assign an Azure role for access to blob and queue data.

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 Choisir comment autoriser l’accès à des données d’objets blob dans le portail Azure et Choisir comment autoriser l’accès à des données en file d’attente dans le portail Azure.For more information about data access in the portal, see Choose how to authorize access to blob data in the Azure portal and Choose how to authorize access to queue data in the Azure portal.

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.

Étapes suivantesNext steps