Autoriser l’accès aux tables à l’aide Microsoft Entra ID

Le Stockage Azure prend en charge l’utilisation de Microsoft Entra ID pour autoriser les requêtes aux données de table. Microsoft Entra ID vous permet d’utiliser le contrôle d’accès en fonction du rôle (RBAC) Azure pour accorder des autorisations à un principal de sécurité, qui peut être un utilisateur, un groupe ou un principal de service d’application. Le principal de sécurité est authentifié par Microsoft Entra ID pour retourner un jeton OAuth 2.0. Le jeton peut ensuite être utilisé pour autoriser une requête auprès du service Table.

Autoriser les demandes auprès du Stockage Azure avec Microsoft Entra ID offre davantage de sécurité et de facilité d’utilisation sur l’autorisation de clé partagée. Microsoft recommande d’utiliser l’autorisation Microsoft Entra avec vos applications de table dans la mesure du possible pour garantir l’accès avec les privilèges minimaux nécessaires.

L’autorisation avec Microsoft Entra ID est disponible de manière universelle dans la totalité des régions publiques et clouds nationaux. Seuls les comptes de stockage créés avec le modèle de déploiement Azure Resource Manager prennent en charge l’autorisation Microsoft Entra.

Vue d’ensemble de Microsoft Entra ID pour les tables

Quand un principal de sécurité (utilisateur, groupe ou application) tente d’accéder à une ressource de table, la requête doit être autorisée. Avec Microsoft Entra ID, l’accès à une ressource est un processus en deux étapes. Pour commencer, l’identité du principal de sécurité est authentifiée, et un jeton OAuth 2.0 est renvoyé. Ensuite, ce jeton est passé dans le cadre d’une requête adressée au service Table et utilisé par le service pour autoriser l’accès à la ressource spécifiée.

L’étape d’authentification nécessite qu’une application demande un jeton d’accès OAuth 2.0 au moment de l’exécution. Si une application s’exécute à partir d’une entité Azure comme 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 tables.

L’étape d’autorisation exige qu’un ou plusieurs rôles Azure soient attribués au principal de sécurité. Le Stockage Azure fournit des rôles Azure qui englobent des ensembles communs d’autorisations pour les données de table. Les rôles qui sont attribués à un principal de sécurité déterminent les autorisations dont il disposera. Pour en savoir plus sur l’attribution de rôles Azure pour l’accès aux tables, consultez Attribuer un rôle Azure pour l’accès aux données de table.

Le tableau suivant pointe vers des informations supplémentaires pour autoriser l’accès à des données dans différents scénarios :

Langage .NET Java JavaScript Python Go
Vue d’ensemble de l’authentification avec Microsoft Entra ID Comment authentifier des applications .NET avec les services Azure Authentification Azure avec Java et Azure Identity Authentifier des applications JavaScript auprès des services Azure à l’aide du Kit de développement logiciel (SDK) Azure Authentifier des applications Python auprès des services Azure à l’aide du Kit de développement logiciel (SDK) Azure
Authentification à l’aide de principaux de service de développeur Authentifier des applications .NET auprès des services Azure pendant le développement local à l’aide de principaux de service Authentification Azure avec un principal de service Authentification des applications JS auprès des services Azure avec un principal de service Authentifier des applications Python auprès des services Azure pendant le développement local à l’aide de principaux de service Authentification Azure SDK pour Go avec un principal de service
Authentification à l’aide de comptes de développeur ou d’utilisateur Authentifier des applications .NET auprès des services Azure pendant le développement local à l’aide de comptes de développeur Authentification Azure avec des informations d’identification d’utilisateur Authentification d’applications JS auprès des services Azure avec des comptes de développeur Authentifier des applications Python auprès des services Azure pendant le développement local à l’aide de comptes de développeur Authentification Azure avec Azure SDK pour Go
Authentification à partir d’applications hébergées dans Azure Authentification des applications hébergées dans Azure auprès des ressources Azure avec le Kit de développement logiciel (SDK) Azure pour .NET Authentifier les applications Java hébergées dans Azure Authentification des applications JavaScript hébergées dans Azure auprès des ressources Azure avec le Kit de développement logiciel (SDK) Azure pour JavaScript Authentification des applications hébergées dans Azure auprès de ressources Azure avec le Kit de développement logiciel (SDK) Azure pour Python Authentification avec Azure SDK pour Go en utilisant une identité managée
Authentification à partir d’applications locales S’authentifier auprès des ressources Azure à partir d’applications .NET hébergées localement Authentifier des applications JavaScript locales auprès des ressources Azure S’authentifier auprès des ressources Azure à partir d’applications Python hébergées localement
Vue d’ensemble de la bibliothèque de client Identité Bibliothèque cliente Azure Identity pour .NET Bibliothèque cliente Azure Identity pour Java Bibliothèque cliente Azure Identity pour JavaScript Bibliothèque cliente Azure Identity pour Python Bibliothèque cliente Azure Identity pour Go

Attribuer des rôles Azure pour les droits d’accès

Microsoft Entra autorise les droits d’accès aux ressources sécurisées via le contrôle d’accès en fonction du rôle (RBAC Azure). Le Stockage Azure définit un ensemble de rôles intégrés Azure qui englobent les jeux d’autorisations courants permettant d’accéder aux données de table. Vous pouvez également définir des rôles personnalisés pour l’accès aux données de table.

Quand un rôle Azure est attribué à un principal de sécurité Microsoft Entra, Azure octroie l’accès à ces ressources pour ce principal de sécurité. Un principal de sécurité Microsoft Entra peut correspondre à un utilisateur, à un groupe, à un principal de service d’application ou à une identité managée pour les ressources Azure.

Étendue des ressources

Avant d’attribuer un rôle RBAC Azure à un principal de sécurité, déterminez l’étendue de l’accès dont doit disposer le principal de sécurité. Selon les bonnes pratiques, il est toujours préférable d’accorder la plus petite étendue possible. Les rôles RBAC Azure définis au niveau d’une étendue plus large sont hérités par les ressources qui sont sous eux.

Vous pouvez étendre l’accès aux ressources de table Azure aux niveaux suivants, en commençant par l’étendue la plus restreinte :

  • Une table individuelle. Dans cette étendue, une attribution de rôle s’applique à la table spécifiée.
  • Le compte de stockage. Dans cette étendue, une attribution de rôle s’applique à toutes les tables dans le compte.
  • Groupe de ressources. Dans cette étendue, une attribution de rôle s’applique à toutes les tables dans tous les comptes de stockage du groupe de ressources.
  • Abonnement. Dans cette étendue, une attribution de rôle s’applique à toutes les tables dans tous les comptes de stockage de tous les groupes de ressources de l’abonnement.
  • Un groupe d’administration. Dans cette étendue, une attribution de rôle s’applique à toutes les tables dans tous les comptes de stockage de tous les groupes de ressources de tous les abonnements du groupe d’administration.

Pour plus d’informations sur l’étendue des attributions de rôle RBAC Azure, consultez Comprendre l’étendue de RBAC Azure.

Rôles intégrés Azure pour les tables

RBAC Azure fournit des rôles intégrés pour autoriser l’accès aux données de table avec Microsoft Entra ID et OAuth. Les rôles qui fournissent des autorisations aux tables dans le Stockage Azure sont notamment les suivants :

Pour savoir comment attribuer un rôle intégré Azure à un principal de sécurité, consultez Attribuer un rôle Azure pour l’accès aux données de table. Pour apprendre à lister les rôles RBAC Azure et leurs autorisations, consultez Lister les définitions de rôles Azure.

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. Pour plus d’informations sur la création de rôles personnalisés Azure, consultez Rôles personnalisés Azure.

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 de table. 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 table dans ce compte via Microsoft Entra ID. 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.

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. 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 Microsoft Entra.

Important

Les attributions de rôles Azure peuvent prendre jusqu’à 30 minutes pour se propager.

Autorisations d’accès pour les opérations de données

Pour plus d’informations sur les autorisations nécessaires pour appeler des opérations propres au service Table, consultez Autorisations pour appeler des opérations de données.

Étapes suivantes