Partager via


Autorisation pour l'analyse à l'échelle du cloud dans Azure

L’autorisation correspond à l’action d’accorder à une partie authentifiée le droit d’effectuer une opération. Le principe clé de contrôle d’accès consiste à accorder aux utilisateurs uniquement la quantité d’accès dont ils ont besoin pour effectuer leurs tâches et pour autoriser uniquement certaines actions dans une étendue particulière. La sécurité basée sur les rôles correspond au contrôle d’accès. De nombreuses organisations utilisent la sécurité basée sur les rôles pour contrôler l’accès en fonction des rôles définis ou des fonctions de travail au lieu d’utilisateurs individuels. Les utilisateurs reçoivent un ou plusieurs rôles de sécurité, et chaque rôle reçoit des autorisations autorisées pour effectuer des tâches spécifiques.

Microsoft Entra ID est un fournisseur d’identité centralisé qui accorde l’autorisation d’accéder aux services de données et au stockage pour chaque utilisateur ou pour chaque application en fonction d’une identité Microsoft Entra.

Autorisation du service de données

Le contrôle d’accès en fonction du rôle Azure (RBAC) et les listes de contrôle d’accès (ACL) jouent des rôles essentiels dans la gestion de l’accès et la sécurité. Azure RBAC et les ACL nécessitent que l'utilisateur ou l'application dispose d'une identité dans Microsoft Entra ID. Dans l’analytique à l’échelle du cloud, RBAC est efficace pour les bases de données et Azure Data Lake Storage. Les listes de contrôle d’accès sont principalement utilisées dans Data Lake Storage pour fournir un contrôle d’accès affiné aux niveaux de fichier et de répertoire. Les listes de contrôle d’accès complètent RBAC en fournissant des autorisations plus détaillées dans la hiérarchie de stockage.

Azure RBAC fournit des rôles intégrés tels que Propriétaire, Contributeur et Lecteur, mais vous pouvez également créer des rôles personnalisés pour des besoins spécifiques. Les rôles intégrés suivants sont fondamentaux pour tous les types de ressources Azure, notamment les services de données Azure :

Role Description
Propriétaire Ce rôle dispose d’un accès complet à la ressource et peut tout gérer sur la ressource, notamment le droit d’accorder l’accès à celle-ci.
Contributeur Ce rôle peut gérer la ressource, mais ne peut pas accorder l’accès à celle-ci.
Lecteur Ce rôle peut afficher la ressource et les informations, à l’exception des informations sensibles telles que les clés d’accès ou les secrets, sur la ressource. Ils ne peuvent apporter aucune modification à la ressource.

Remarque

Certains services ont des rôles RBAC spécifiques tels que Contributeur aux données Blob de stockage ou Contributeur Data Factory. Vous devez donc utiliser ces rôles pour ces services. RBAC est un modèle additif dans lequel l’ajout d’attributions de rôles est une autorisation active. RBAC prend également en charge les affectations de refus, qui sont prioritaires sur les attributions de rôles.

Conseil

Lorsque vous planifiez une stratégie de contrôle d’accès, nous vous recommandons d’accorder aux utilisateurs uniquement la quantité d’accès dont ils ont besoin pour effectuer leurs travaux. Vous ne devez également autoriser certaines actions qu’à une étendue particulière.

Contrôle d’accès dans les bases de données Azure

RBAC dans les bases de données Azure tourne autour des rôles, des étendues et des autorisations. Azure fournit plusieurs rôles intégrés pour la gestion des bases de données. L’un de ces rôles est contributeur(-trice) SQL Server, qui permet la gestion des serveurs et bases de données SQL. Un autre rôle est Contributeur de base de données SQL, ce qui permet la gestion des bases de données SQL, mais pas du serveur lui-même. En outre, vous pouvez créer des rôles personnalisés qui disposent d’autorisations spécifiques pour répondre à des exigences uniques.

Vous pouvez attribuer des rôles à différents niveaux, notamment :

  • Au niveau de l’abonnement, où les rôles s’appliquent à toutes les ressources de l’abonnement.
  • Au niveau du groupe de ressources, où les rôles s’appliquent à toutes les ressources du groupe de ressources spécifié.
  • Au niveau de la ressource, où vous pouvez attribuer des rôles directement à des bases de données ou serveurs individuels. Cette approche vous donne un contrôle précis.

Les autorisations définissent les actions qu’un rôle peut effectuer, telles que la gestion des paramètres de lecture, d’écriture, de suppression ou de sécurité. Ces autorisations sont regroupées en rôles pour simplifier la gestion.

Dans azure SQL Database, vous pouvez attribuer des rôles à des utilisateurs, des groupes ou des applications pour contrôler l’accès. Par exemple, un administrateur de base de données peut être affecté au rôle Contributeur SQL Server pour gérer le serveur et les bases de données. Les rôles tels que Contributeur SQL DB permettent aux utilisateurs de créer, mettre à jour et supprimer des bases de données, tandis que le rôle SQL Security Manager se concentre sur les configurations de sécurité.

Dans Azure Cosmos DB, vous pouvez attribuer des rôles pour gérer l’accès aux comptes, bases de données et conteneurs Azure Cosmos DB. Les rôles intégrés tels que Lecteur de compte Cosmos DB et Contributeur de compte Cosmos DB fournissent différents niveaux d’accès.

Dans Azure Database pour MySQL, Azure Database pour PostgreSQLet Azure Database for MariaDB, vous pouvez attribuer des rôles pour gérer les serveurs de base de données et les bases de données individuelles. Vous pouvez utiliser des rôles tels que Contributeur et Lecteur pour contrôler l’accès.

Pour plus d’informations, consultez Rôles intégrés Azure pour les bases de données.

Contrôle d’accès dans Data Lake Storage

Azure RBAC vous permet d’accorder un accès grossier, comme l’accès en lecture ou en écriture, à toutes les données des comptes de stockage. Les listes de contrôle d’accès vous permettent d’accorder un accès affiné, tel que l’accès en écriture à un répertoire ou un fichier spécifique.

Dans de nombreux scénarios, vous pouvez utiliser RBAC et les ACL ensemble pour fournir un contrôle d’accès complet dans Data Lake Storage. Vous pouvez utiliser RBAC pour gérer l’accès général aux données, ce qui permet de s’assurer que seuls les utilisateurs autorisés peuvent accéder au service. Vous pouvez ensuite appliquer des listes de contrôle d’accès au sein du compte de stockage pour contrôler l’accès à des fichiers et répertoires spécifiques, ce qui améliore la sécurité.

Le contrôle d’accès basé sur des attributs Azure s’appuie sur Azure RBAC en ajoutant des conditions d’attribution de rôle en fonction des attributs dans le contexte d’actions spécifiques. Cela vous permet essentiellement d’affiner les attributions de rôles RBAC en ajoutant des conditions. Par exemple, vous pouvez accorder un accès en lecture ou en écriture à tous les objets de données d’un compte de stockage qui comporte une étiquette spécifique.

Les rôles suivants permettent à un principal de sécurité d’accéder aux données dans un compte de stockage.

Role Description
Propriétaire des données Blob du stockage Ce rôle donne un accès complet aux conteneurs et aux données du stockage en mode blob. Cet accès permet au principal de sécurité de définir le propriétaire d’un élément, et de modifier les listes de contrôle d’accès de tous les éléments.
Contributeur aux données Blob du stockage Ce rôle donne un accès en lecture, en écriture et en suppression aux conteneurs de stockage et aux blobs. Cet accès n’autorise pas le principal de sécurité à définir la propriété d’un élément, mais il peut modifier la liste de contrôle d’accès des éléments dont possède le principal de sécurité.
Lecteur des données blob du stockage Ce rôle peut lire et répertorier les conteneurs de stockage de blobs et les blobs.

Les rôles tels que Propriétaire, Contributeur, Lecteuret Contributeur de compte de stockage autoriser un principal de sécurité à gérer un compte de stockage, mais ils ne fournissent pas d’accès aux données au sein de ce compte. Toutefois, ces rôles, à l’exclusion de Lecteur, peuvent obtenir l’accès aux clés de stockage, qui peuvent être utilisées dans différents outils clients pour accéder aux données. Pour plus d’informations, consultez modèle de contrôle d’accès dans Data Lake Storage.

Contrôle d’accès dans Azure Databricks

Azure Databricks fournit des systèmes de contrôle d’accès pour gérer l’accès dans l’environnement Azure Databricks. Ces systèmes se concentrent sur les objets sécurisables et la gouvernance des données. Les trois principaux systèmes de contrôle d’accès dans Azure Databricks sont les suivants :

  • ACLs, que vous pouvez utiliser pour configurer les autorisations d'accès aux objets d’espace de travail tels que les carnets de notes. Pour plus d’informations, consultez la page Vue d’ensemble du contrôle d’accès.
  • Compte RBAC, que vous pouvez utiliser pour configurer l'autorisation d'utiliser des objets au niveau du compte tels que les mandants de service et les groupes.
  • Catalogue Unity, que vous pouvez utiliser pour sécuriser et régir les objets de données.

Outre le contrôle d’accès sur les objets, Azure Databricks fournit des rôles intégrés sur la plateforme. Vous pouvez attribuer des rôles aux utilisateurs, aux principaux de service et aux groupes. Pour plus d’informations, consultez les rôles d’administrateur et les droits d’espace de travail.

Meilleures pratiques pour l’autorisation dans l’analytique à l’échelle du cloud

Ce guide aborde les meilleures pratiques pour l'implémentation du contrôle d'accès basé sur les rôles dans des environnements d'analyse de données à l'échelle du cloud. Il inclut des principes RBAC généraux, un contrôle d’accès aux bases de données et des bonnes pratiques de contrôle d’accès data lake pour garantir une gestion des ressources sécurisée et efficace.

Bonnes pratiques générales en matière de RBAC pour l’analytique à l’échelle du cloud

Les bonnes pratiques suivantes peuvent vous aider à bien démarrer avec RBAC :

  • Utilisez des rôles RBAC pour la gestion et les opérations de service, et utilisez des rôles spécifiques au service pour les tâches spécifiques aux données et aux charges de travail. Utilisez des rôles RBAC sur les ressources Azure pour accorder l’autorisation aux principaux de sécurité qui doivent effectuer des tâches de gestion des ressources et d’opérations. Les principaux de sécurité qui doivent accéder aux données situées dans le stockage ne nécessitent pas de rôle RBAC sur la ressource, car ils n’ont pas besoin de la gérer. Au lieu de cela, accordez l’autorisation directement aux objets de données. Par exemple, accorder un accès en lecture à un dossier dans Data Lake Storage, ou accorder des permissions contenues à un utilisateur de base de données et à une table sur une base de données dans SQL Database.

  • Utilisez des rôles RBAC intégrés. Tout d’abord, utilisez les rôles de ressources Azure RBAC intégrés pour gérer les services et attribuer des rôles d’opérations pour contrôler l’accès. Créez et utilisez des rôles personnalisés pour les ressources Azure uniquement lorsque les rôles intégrés ne répondent pas à vos besoins spécifiques.

  • Utilisez des groupes pour gérer l’accès. Attribuez l’accès aux groupes Microsoft Entra et gérez les appartenances aux groupes pour la gestion continue des accès.

  • Considérez les périmètres d'abonnement et de groupe de ressources. Dans les environnements hors production, accordez l’accès à l’étendue du groupe de ressources pour séparer les besoins de gestion des services et d’accès aux opérations au lieu d’accorder l’accès à des ressources individuelles. Cette approche est logique, car, dans les environnements hors production, les développeurs et les testeurs doivent gérer les ressources. Par exemple, ils peuvent avoir besoin de créer un pipeline d’ingestion Azure Data Factory ou un conteneur dans Data Lake Storage.

    Toutefois, dans les environnements de production, vous pouvez accorder l’accès à des ressources individuelles pour des tâches spécifiques à la charge de travail telles que la prise en charge et les opérations du système de fichiers datalake. Cette approche est logique dans les environnements de production, car les utilisateurs doivent uniquement utiliser des ressources telles que l’affichage de l’état d’un pipeline d’ingestion Data Factory planifié ou la lecture de fichiers de données dans Data Lake Storage.

  • N’accordez pas d’accès inutile dans le cadre de l’abonnement. L’étendue de l’abonnement couvre toutes les ressources de l’abonnement.

  • Optez pour l’accès avec privilège minimum. Sélectionnez le seul rôle approprié pour le poste.

Meilleures pratiques en matière de contrôle d'accès aux bases de données

L’implémentation d’un RBAC efficace est essentielle pour maintenir la sécurité et la facilité de gestion dans votre environnement d’analyse. Cette section fournit les meilleures pratiques pour l’utilisation des groupes Microsoft Entra et des rôles intégrés et pour éviter les autorisations directes des utilisateurs afin de garantir un processus de gestion des accès simplifié et sécurisé.

Les environnements d’analytique à l’échelle du cloud contiennent généralement plusieurs types de solutions de stockage, notamment PostgreSQL, MySQL, SQL Database, Azure SQL Managed Instance et Azure Synapse Analytics.

  • Utilisez des groupes Microsoft Entra au lieu de comptes d’utilisateur individuels. Nous vous recommandons d’utiliser des groupes Microsoft Entra pour sécuriser les objets de base de données au lieu de comptes d’utilisateur Microsoft Entra individuels. Utilisez des groupes Microsoft Entra pour authentifier les utilisateurs et protéger les objets de base de données. À l’instar du modèle du lac de données, vous pouvez utiliser votre intégration d’application de données pour créer ces groupes.

  • Utilisez des rôles intégrés pour gérer l’accès. Créez des rôles personnalisés uniquement si vous devez répondre à des exigences spécifiques ou si les rôles intégrés accordent trop d’autorisations.

  • Évitez d’attribuer des autorisations à des utilisateurs individuels. Utilisez des rôles, tels que des rôles de base de données ou de serveur, de manière cohérente. Les rôles aident à créer des rapports et à résoudre les problèmes d’autorisations. Azure RBAC prend uniquement en charge l’attribution d’autorisations via des rôles.

Remarque

Les applications de données peuvent stocker des produits de données sensibles dans SQL Database, SQL Managed Instance ou des pools Azure Synapse Analytics. Pour plus d'informations, voir Confidentialité des données pour l'analyse à l'échelle du cloud dans Azure.

Meilleures pratiques de contrôle d’accès Data Lake Storage

Dans les environnements de données modernes, le contrôle d’accès sécurisé et efficace est primordial. Data Lake Storage fournit des mécanismes robustes pour gérer l’accès via des listes de contrôle d’accès. Cette section décrit les meilleures pratiques pour implémenter RBAC dans Data Lake Storage et appliquer des listes de contrôle d’accès, des groupes de sécurité Microsoft Entra et le principe du moindre privilège pour maintenir un environnement de lac de données plus sécurisé et gérable. En outre, il met en évidence l’importance d’aligner les listes de contrôle d’accès avec les schémas de partitionnement de données et d’utiliser Unity Catalog pour les utilisateurs d’Azure Databricks afin de garantir une sécurité et une gouvernance complètes.

  • Utilisez des listes de contrôle d’accès affinées. Les listes de contrôle d’accès jouent un rôle important dans la définition de l’accès à un niveau granulaire. Dans Data Lake Storage, les listes de contrôle d’accès (ACL) fonctionnent avec les principaux de sécurité pour gérer l’accès granulaire aux fichiers et répertoires.

  • Appliquez des listes de contrôle d’accès aux niveaux de fichier et de dossier. Pour contrôler l’accès aux données dans le lac de données, nous vous recommandons d’utiliser des listes de contrôle d’accès au niveau des fichiers et dossiers. Data Lake Storage adopte également un modèle de liste de contrôle d’accès similaire à l’interface POSIX (Portable Operating System Interface). POSIX est un groupe de normes pour les systèmes d’exploitation. Un standard définit une structure d’autorisation simple mais puissante pour l’accès aux fichiers et aux dossiers. POSIX est largement utilisé pour les partages de fichiers réseau et les ordinateurs Unix.

  • Utiliser les groupes de sécurité Microsoft Entra comme principal assigné dans une entrée ACL. Au lieu d’affecter directement des utilisateurs individuels ou des principaux de service, utilisez cette approche pour ajouter et supprimer des utilisateurs ou des principaux de service sans avoir à réappliquer des listes de contrôle d’accès à une structure d’annuaire entière. Vous pouvez simplement ajouter ou supprimer des utilisateurs et des principaux de service du groupe de sécurité Microsoft Entra approprié.

  • Attribuez l’accès aux groupes Microsoft Entra et gérez l’appartenance aux groupes pour la gestion continue des accès. Pour plus d’informations, consultez modèle de contrôle d’accès dans Data Lake Storage.

  • Appliquez le principe du privilège minimum aux ACL. Dans la plupart des cas, les utilisateurs ne devraient avoir qu'un droit de lecture sur les fichiers et dossiers dont ils ont besoin dans le lac de données. Les utilisateurs de données ne doivent pas avoir accès au conteneur du compte de stockage.

  • Aligner les listes de contrôle d’accès avec les schémas de partitionnement de données. Les listes de contrôle d’accès et la conception de partition de données doivent s’aligner pour garantir un contrôle d’accès aux données efficace. Pour plus d’informations, consultez Partitionnement du lac de données.

  • Pour les utilisateurs d’Azure Databricks, contrôlez exclusivement l’accès aux objets de données avec Unity Catalog. L’octroi d’un accès direct au stockage externe dans Data Lake Storage ne respecte pas les autorisations accordées ni les audits gérés par Unity Catalog. L’accès direct contourne l’audit, la traçabilité et d’autres fonctionnalités de sécurité et de surveillance d’Unity Catalog, notamment le contrôle d’accès et les autorisations. Par conséquent, vous ne devez pas accorder aux utilisateurs Azure Databricks un accès direct au niveau du stockage aux tables et volumes managés du catalogue Unity.

Étape suivante

Sécuriser l’analytique à l’échelle du cloud dans Azure