Contrôle d’accès Azure Synapse

Cet article fournit une vue d’ensemble des mécanismes disponibles pour contrôler l’accès aux données et aux ressources de calcul d’Azure Synapse.

Vue d’ensemble

Azure Synapse fournit un système de contrôle d’accès complet et affiné, qui intègre les éléments suivants :

  • Rôles Azure pour la gestion des ressources et l’accès aux données dans le stockage
  • Rôles Synapse pour la gestion de l’accès direct au code et à l’exécution
  • Rôles SQL pour l’accès du plan de données aux données dans les pools SQL
  • Autorisations Git pour le contrôle du code source, entre autres la prise en charge de l’intégration et du déploiement continus

Les rôles Azure Synapse fournissent des ensembles d’autorisations qui peuvent être appliqués à différentes étendues. Grâce à cette granularité, il est facile d’accorder aux administrateurs, développeurs, opérateurs et personnel de sécurité un accès approprié aux données et ressources de calcul.

Le contrôle d’accès peut être simplifié en utilisant des groupes de sécurité correspondant aux rôles de travail des personnes. Il vous suffit d’ajouter ou de supprimer des utilisateurs dans les groupes de sécurité appropriés pour gérer l’accès.

Éléments du contrôle d’accès

Créer et gérer des ressources de calcul Azure Synapse

Les rôles Azure sont utilisés pour contrôler la gestion des éléments suivants :

  • Pools SQL dédiés
  • Pools Explorateur de données
  • Pools Apache Spark
  • Runtimes d’intégration

Pour créer ces ressources, vous devez être propriétaire ou contributeur Azure sur le groupe de ressources. Pour les gérer une fois créées, vous devez être propriétaire ou contributeur Azure sur le groupe de ressources ou les ressources individuelles.

Un Propriétaire ou Contributeur Azure peut activer ou désactiver l’authentification Microsoft Entra uniquement pour les espaces de travail Azure Synapse. Pour plus d’informations sur l’authentification Microsoft Entra uniquement, consultez Désactivation de l’authentification locale dans Azure Synapse Analytics.

Développer et exécuter du code dans Azure Synapse

Synapse prend en charge deux modèles de développement.

  • Développement direct Synapse. Vous développez et déboguez du code dans Synapse Studio, puis vous le publiez pour l’enregistrer et l’exécuter. Le service Synapse constitue la seule source fiable de modification et d’exécution du code. Tout travail non publié est perdu quand vous fermez Synapse Studio.
  • Développement compatible Git. Vous développez et déboguez du code dans Synapse Studio, puis vous validez les modifications apportées à une branche de travail d’un dépôt Git. Le travail effectué sur une ou plusieurs branches est intégré à une branche de collaboration, à partir de laquelle vous publiez sur le service. Le dépôt Git est la seule source fiable pour l’édition de code, et le service celle pour l’exécution. Les modifications doivent être validées dans le dépôt Git, ou publiées dans le service avant de fermer Synapse Studio. Apprenez-en davantage sur l’utilisation de Synapse Analytics avec Git.

Dans les deux modèles de développement, tout utilisateur ayant accès à Synapse Studio peut créer des artefacts de code. En revanche, vous avez besoin d’autorisations supplémentaires pour publier des artefacts dans le service et lire des artefacts publiés, également pour valider des modifications dans Git, exécuter du code et accéder à des données liées, protégées par des informations d’identification. Les utilisateurs doivent disposer au moins du rôle Azure Contributeur (contrôle d’accès en fonction du rôle Azure) sur l’espace de travail Synapse pour configurer, modifier des paramètres et déconnecter un référentiel Git avec Synapse.

Rôles Azure Synapse

Les rôles Azure Synapse servent à contrôler l’accès au service Synapse. Des rôles différents peuvent vous permettre d’effectuer les opérations suivantes :

  • Lister les artefacts de code publiés
  • Publier les artefacts de code, les services liés et les définitions d’informations d’identification
  • Exécuter du code ou des pipelines qui utilisent des ressources de calcul Synapse
  • Exécuter du code ou des pipelines qui accèdent à des données liées protégées par des informations d’identification
  • Afficher les sorties associées aux artefacts de code publiés
  • Superviser l’état des ressources de calcul et afficher les journaux du runtime.

Les rôles Azure Synapse peuvent être affectés au niveau de l’étendue de l’espace de travail ou au niveau d’étendues plus précises afin de limiter les autorisations qui sont accordées à des ressources Azure Synapse spécifiques.

Autorisations Git

Lorsque vous utilisez le développement compatible Git en mode Git, vous avez besoin d’autorisations Git, en plus des rôles Utilisateur Synapse ou RBAC Synapse, pour lire les artefacts de code, y compris les définitions de service lié et d’informations d’identification. Pour valider les modifications apportées aux artefacts de code en mode Git, vous devez disposer d’autorisations Git et du rôle Éditeur d’artefact Synapse (RBAC Synapse).

Accéder aux données dans SQL

Lorsque vous travaillez avec des pools SQL dédiés et serverless, l’accès du plan de données est contrôlé à l’aide d’autorisations SQL.

Le créateur d’un espace de travail est assigné en tant qu’administrateur Active Directory sur l’espace de travail. Après la création, ce rôle peut être attribué à un autre utilisateur ou à un groupe de sécurité dans le portail Azure.

Pool SQL serverless : les administrateurs Synapse disposent db_owner (DBO) d’autorisations sur le pool SQL serverless, « intégré ». Pour accorder à d’autres utilisateurs l’accès au pool SQL serverless, les administrateurs Synapse doivent exécuter des scripts SQL sur le pool serverless.

Pools SQL dédiés : les administrateurs Synapse ont un accès complet aux données des pools SQL dédiés. Ils peuvent également accorder l’accès à d’autres utilisateurs. Les administrateurs Synapse peuvent également effectuer des tâches de configuration et de maintenance sur des pools dédiés, mais ils ne peuvent pas supprimer des bases de données. l’autorisation d’administrateur Active Directory est accordée au créateur de l’espace de travail et aux identités managées pour les ressources Azure de l’espace de travail. L’autorisation d’accès aux pools SQL dédiés n’est, sinon, pas octroyée automatiquement. Pour accorder à d’autres utilisateurs ou groupes l’accès aux pools SQL dédiés, l’administrateur Active Directory ou Synapse doit exécuter des scripts SQL sur chaque pool SQL dédié.

Consultez Guide pratique pour configurer le contrôle d’accès Synapse qui donne des exemples de scripts SQL permettant d’accorder des autorisations SQL dans les pools SQL.

Accès aux données des pools Data Explorer

Lorsque vous utilisez des pools Data Explorer, l’accès au plan de données est contrôlé via des autorisations Data Explorer. Les administrateurs Synapse disposent d’autorisations All Database admin sur les pools Data Explorer. Pour accorder à d’autres utilisateurs ou groupes l’accès aux pools Data Explorer, les administrateurs Synapse doivent se référer à Gestion des rôles de sécurité. Pour plus d’informations sur l’accès au plan de données, consultez Vue d’ensemble du contrôle d’accès Data Explorer.

Accès aux données gérées par le système dans le stockage

Les pools SQL serverless et les tables Apache Spark stockent leurs données dans un conteneur ADLS Gen2 associé à l’espace de travail. Les bibliothèques Apache Spark installées par l’utilisateur sont également gérées dans le même compte de stockage. Pour activer ces cas d’usage, les identités managées pour les ressources Azure de l’espace de travail et les utilisateurs doivent disposer d’un accès Contributeur aux données de Stockage Blob sur ce conteneur de stockage ADLS Gen2 de l’espace de travail.

Utilisation de groupes de sécurité en guise de bonne pratique

Afin de simplifier la gestion du contrôle d’accès, vous pouvez utiliser des groupes de sécurité pour affecter des rôles à des individus et des groupes. Des groupes de sécurité peuvent être créés pour mettre en miroir les personnes ou les fonctions de tâche de votre organisation qui ont besoin d’accéder à des artefacts ou à des ressources Synapse. Ces groupes de sécurité basés sur des personnes peuvent ensuite se voir attribuer un ou plusieurs rôles Azure, des rôles Synapse, des autorisations SQL ou des autorisations Git. Avec des groupes de sécurité bien choisis, il est facile d’attribuer les autorisations nécessaires à un utilisateur en l’ajoutant au groupe de sécurité approprié.

Remarque

Si vous utilisez des groupes de sécurité pour gérer l’accès, une latence supplémentaire est introduite par Microsoft Entra ID pour l’application des changements.

Application du contrôle d’accès dans Synapse Studio

Synapse Studio se comporte différemment selon vos autorisations et le mode actif :

  • Mode direct Synapse : Synapse Studio vous empêche d’afficher du contenu publié, de publier du contenu ou d’effectuer d’autres actions si vous ne détenez pas l’autorisation adéquate. Dans certains cas, vous ne pourrez pas créer les artefacts de code que vous ne pouvez pas utiliser ou enregistrer.
  • Mode Git : si vous disposez d’autorisations Git qui vous permettent de valider les modifications apportées à la version Current Branch, l’action de validation sera autorisée si vous avez l’autorisation de publier des modifications dans le service en direct (rôle Éditeur d’artefact Synapse).

Dans certains cas, vous êtes autorisé à créer des artefacts de code même sans autorisation de publication ou de validation. Cela vous permet d’exécuter du code (avec les autorisations d’exécution requises). Pour plus d’informations sur les rôles requis pour les tâches courantes, consultez Comprendre les rôles requis pour effectuer des tâches courantes dans Azure Synapse.

Si une fonctionnalité est désactivée dans Synapse Studio, une info-bulle indique l’autorisation demandée. Utilisez le Guide des rôles RBAC Synapse pour rechercher quel rôle est demandé pour fournir l’autorisation manquante.

Étapes suivantes