Rôles et exigences pour Azure Data Share

Cet article décrit les rôles et les autorisations nécessaires pour partager et recevoir des données à l’aide du service Azure Data Share.

Rôles et conditions requises

À l’aide du service Azure Data Share, vous pouvez partager des données sans échanger les informations d’identification entre le fournisseur de données et le consommateur de données. Pour le partage basé sur instantané, le service Azure Data Share utilise des identités managées (précédemment appelées MSI) pour s’authentifier auprès du magasin de données Azure.

Pour créer des partages dans le partage de données Azure, un utilisateur a besoin des autorisations suivantes :

partage de Stockage et de lac de données

Type de banque de données Action Rôle sur le magasin de données source Rôle sur le magasin de données cible Remarque
Stockage Blob Azure Partager les données Contributeur de compte Stockage** **Au lieu de cela, vous pouvez créer un rôle personnalisé avec les actions de stockage nécessaires
recevoir des données Contributeur de compte Stockage** **Au lieu de cela, vous pouvez créer un rôle personnalisé avec les actions de stockage nécessaires
Attribuer automatiquement des autorisations MI au partage Rôle avec des attributions de rôles/d’attributions de rôle Microsoft.Authorization/write* facultatif. Au lieu de cela, vous pouvez affecter manuellement les autorisations MI.
Attribuer automatiquement des autorisations MI à recevoir Rôle avec des attributions de rôles/d’attributions de rôle Microsoft.Authorization/write* facultatif. Au lieu de cela, vous pouvez affecter manuellement les autorisations MI.
Azure Data Lake Storage Gen1 Partager les données Accéder aux autorisations d’accès et d’écriture sur les fichiers que vous souhaitez partager.
recevoir des données Non pris en charge
Attribuer automatiquement des autorisations MI au partage Rôle avec des attributions de rôles/d’attributions de rôle Microsoft.Authorization/write* facultatif. Au lieu de cela, vous pouvez affecter manuellement les autorisations MI.
Attribuer automatiquement des autorisations MI à recevoir Non pris en charge.
Azure Data Lake Storage Gen2 Partager les données Contributeur de compte Stockage** **Au lieu de cela, vous pouvez créer un rôle personnalisé avec les actions de stockage nécessaires
recevoir des données Contributeur de compte Stockage** **Au lieu de cela, vous pouvez créer un rôle personnalisé avec les actions de stockage nécessaires
Attribuer automatiquement des autorisations MI au partage Rôle avec des attributions de rôles/d’attributions de rôle Microsoft.Authorization/write* facultatif. Au lieu de cela, vous pouvez affecter manuellement les autorisations MI.
Attribuer automatiquement des autorisations MI à recevoir Rôle avec des attributions de rôles/d’attributions de rôle Microsoft.Authorization/write* facultatif. Au lieu de cela, vous pouvez affecter manuellement les autorisations MI.

* Cette autorisation existe dans le rôle Propriétaire .

Pour plus d’informations sur le partage vers et à partir du stockage Azure, consultez l’article pour partager et recevoir des données de Stockage Blob Azure et d’Azure Data Lake Stockage.

Partage de base de données SQL

Pour partager des données à partir de SQL, vous pouvez utiliser :

Pour recevoir des données dans SQL, vous devez attribuer des autorisations pour recevoir des données.

Authentification Microsoft Entra à partager

Ces conditions préalables couvrent l’authentification dont vous aurez besoin pour qu’Azure Data Share puisse se connecter à votre instance Azure SQL Database :

  • Vous aurez besoin de l’autorisation d’écrire dans les bases de données sur SQL Server : Microsoft.Sql/servers/databases/write. Cette autorisation existe dans le rôle Contributeur.
  • Autorisations microsoft Entra Administration SQL Server.
  • Accès au pare-feu SQL Server :
    1. Dans le Portail Azure, accédez à votre serveur SQL. Sélectionnez Pare-feu et réseaux virtuels dans le volet de navigation gauche.
    2. Sélectionnez Oui pour Autoriser les services et les ressources Azure à accéder à ce serveur.
    3. Sélectionnez +Ajouter une adresse IP cliente. L’adresse IP du client peut changer. Vous devrez peut-être ajouter à nouveau votre adresse IP cliente la prochaine fois que vous partagez des données à partir du portail.
    4. Sélectionnez Enregistrer.

Authentification SQL à partager

Vous pouvez suivre la vidéo de démonstration pas à pas pour configurer l’authentification ou compléter chacune de ces conditions :

  • Autorisation d’écrire dans les bases de données sur SQL Server : Microsoft.Sql/servers/databases/write. Cette autorisation existe dans le rôle Contributeur.

  • Autorisation permettant à l’identité managée de la ressource Azure Data Share d’accéder à la base de données :

    1. Dans le Portail Azure, accédez au serveur SQL et définissez-vous en tant que Microsoft Entra Administration.

    2. Connecter à Azure SQL Database/Data Warehouse à l’aide du Éditeur de requête ou de SQL Server Management Studio avec l’authentification Microsoft Entra.

    3. Exécutez le script suivant pour ajouter l’identité managée de la ressource Data Share en tant que db_datareader. Connectez-vous avec Active Directory et non avec l’authentification SQL Server.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Remarque

      <share_acc_name> est le nom de votre ressource Data Share.

  • Un utilisateur Azure SQL Database avec un accès « db_datareader » pour parcourir et sélectionner les tables ou les vues que vous voulez partager.

  • Accès au pare-feu SQL Server :

    1. Dans le portail Azure, accédez à SQL Server. Sélectionnez Pare-feu et réseaux virtuels dans le volet de navigation gauche.
    2. Sélectionnez Oui pour Autoriser les services et les ressources Azure à accéder à ce serveur.
    3. Sélectionnez +Ajouter une adresse IP cliente. L’adresse IP du client peut changer. Vous devrez peut-être ajouter à nouveau votre adresse IP cliente la prochaine fois que vous partagez des données à partir du portail.
    4. Sélectionnez Enregistrer.

Authentification à recevoir dans SQL

Pour un serveur SQL où vous êtes l’administrateur Microsoft Entra du serveur SQL, remplissez ces conditions préalables avant d’accepter un partage de données :

  • Azure SQL Database ou Azure Synapse Analytics (anciennement Azure SQL DW).
  • Autorisation d’écrire dans les bases de données sur SQL Server : Microsoft.Sql/servers/databases/write. Cette autorisation existe dans le rôle Contributeur.
  • Accès au pare-feu SQL Server :
    1. Dans le Portail Azure, accédez à votre serveur SQL. Sélectionnez Pare-feu et réseaux virtuels dans le volet de navigation gauche.
    2. Sélectionnez Oui pour Autoriser les services et les ressources Azure à accéder à ce serveur.
    3. Sélectionnez +Ajouter une adresse IP cliente. L’adresse IP du client peut changer. Vous devrez peut-être ajouter à nouveau votre adresse IP cliente la prochaine fois que vous partagez des données à partir du portail.
    4. Sélectionnez Enregistrer.

Pour un serveur SQL où vous n’êtes pas l’administrateur Microsoft Entra, remplissez ces conditions préalables avant d’accepter un partage de données :

Vous pouvez suivre la vidéo de démonstration pas à pas ou les étapes ci-dessous pour remplir les conditions préalables.

  • Azure SQL Database ou Azure Synapse Analytics (anciennement Azure SQL DW).

  • Autorisation d’écrire dans les bases de données sur SQL Server : Microsoft.Sql/servers/databases/write. Cette autorisation existe dans le rôle Contributeur.

  • Autorisation permettant à l’identité managée de la ressource Data Share d’accéder à Azure SQL Database ou à Azure Synapse Analytics :

    1. Dans le Portail Azure, accédez au serveur SQL et définissez-vous en tant que Microsoft Entra Administration.

    2. Connecter à Azure SQL Database/Data Warehouse à l’aide du Éditeur de requête ou de SQL Server Management Studio avec l’authentification Microsoft Entra.

    3. Exécutez le script suivant pour ajouter l’identité managée Data Share en tant que « db_datareader, db_datawriter, db_ddladmin ».

      create user "<share_acc_name>" from external provider; 
      exec sp_addrolemember db_datareader, "<share_acc_name>"; 
      exec sp_addrolemember db_datawriter, "<share_acc_name>"; 
      exec sp_addrolemember db_ddladmin, "<share_acc_name>";
      

      Remarque

      <share_acc_name> est le nom de votre ressource Data Share.

  • Accès au pare-feu SQL Server :

    1. Dans le Portail Azure, accédez au serveur SQL et sélectionnez Pare-feu et réseaux virtuels.
    2. Sélectionnez Oui pour Autoriser les services et les ressources Azure à accéder à ce serveur.
    3. Sélectionnez +Ajouter une adresse IP cliente. L’adresse IP du client peut changer. Vous devrez peut-être ajouter à nouveau votre adresse IP cliente la prochaine fois que vous partagez des données à partir du portail.
    4. Sélectionnez Enregistrer.

Pour plus d’informations sur le partage vers et à partir d’Azure SQL, consultez l’article pour partager et recevoir des données d’Azure SQL Database.

Partage d’analytique Azure synapse

Partager

  • Autorisation d’écrire dans le pool SQL de l’espace de travail Synapse : Microsoft.Synapse/workspaces/sqlPools/write. Cette autorisation existe dans le rôle Contributeur.

  • Autorisation permettant à l’identité managée de la ressource Data Share d’accéder au pool SQL de l’espace de travail Synapse :

    1. Dans le portail Azure, accédez à votre espace de travail Synapse. Sélectionnez l’administrateur SQL Active Directory dans le volet de navigation gauche et définissez-vous en tant qu’administrateur Microsoft Entra.

    2. Ouvrez Synapse Studio et sélectionnez Gérer dans le volet de navigation gauche. Sélectionnez Contrôle d’accès sous Sécurité. Attribuez-vous le rôle Administrateur SQL ou Administrateur d’espace de travail.

    3. Dans Synapse Studio, sélectionnez Développer dans le volet de navigation gauche. Exécutez le script suivant dans le pool SQL pour ajouter l’identité managée de la ressource Data Share en tant que db_datareader.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Remarque

      <share_acc_name> est le nom de votre ressource Data Share.

  • Accès au pare-feu de l’espace de travail Synapse :

    1. Dans le portail Azure, accédez à l’espace de travail Synapse. Sélectionnez Pare-feu dans le volet de navigation gauche.
    2. Sélectionnez ON pour Autoriser les services et ressources Azure à accéder à cet espace de travail.
    3. Sélectionnez +Ajouter une adresse IP cliente. L’adresse IP du client peut changer. Vous devrez peut-être ajouter à nouveau votre adresse IP cliente la prochaine fois que vous partagez des données à partir du portail.
    4. Sélectionnez Enregistrer.

Receive

  • Pool SQL dédié Azure Synapse Analytics (espace de travail). La réception de données dans un pool SQL serverless n’est actuellement pas prise en charge.

  • Autorisation d’écrire dans le pool SQL de l’espace de travail Synapse : Microsoft.Synapse/workspaces/sqlPools/write. Cette autorisation existe dans le rôle Contributeur.

  • Autorisation permettant à l’identité managée de la ressource Data Share d’accéder au pool SQL de l’espace de travail Synapse :

    1. Dans le portail Azure, accédez à l’espace de travail Synapse.

    2. Sélectionnez Administrateur SQL Active Directory dans le volet de navigation gauche et attribuez-vous le rôle Administrateur Microsoft Entra.

    3. Ouvrez Synapse Studio et sélectionnez Gérer dans le volet de navigation gauche. Sélectionnez Contrôle d’accès sous Sécurité. Attribuez-vous le rôle Administrateur SQL ou Administrateur d’espace de travail.

    4. Dans Synapse Studio, sélectionnez Développer dans le volet de navigation gauche. Exécutez le script suivant dans le pool SQL pour ajouter l’identité managée de la ressource Data Share en tant que « db_datareader, db_datawriter, db_ddladmin ».

      create user "<share_acc_name>" from external provider; 
      exec sp_addrolemember db_datareader, "<share_acc_name>"; 
      exec sp_addrolemember db_datawriter, "<share_acc_name>"; 
      exec sp_addrolemember db_ddladmin, "<share_acc_name>";
      

      Remarque

      <share_acc_name> est le nom de votre ressource Data Share.

  • Accès au pare-feu de l’espace de travail Synapse :

    1. Dans le portail Azure, accédez à l’espace de travail Synapse. Sélectionnez Pare-feu dans le volet de navigation gauche.
    2. Sélectionnez ON pour Autoriser les services et ressources Azure à accéder à cet espace de travail.
    3. Sélectionnez +Ajouter une adresse IP cliente. Cette adresse IP est susceptible d’être modifiée. Il peut être nécessaire de répéter ce processus la prochaine fois que vous partagerez des données SQL à partir du portail Azure.
    4. Sélectionnez Enregistrer.

Pour plus d’informations sur le partage vers et à partir d’Azure Synapse Analytics, consultez l’article pour partager et recevoir des données d’Azure Synapse Analytics.

Attribuer manuellement des autorisations MI

Si un utilisateur dispose d’autorisations d’attribution de rôle/d’attributions de rôles/d’écriture sur un magasin de données source ou cible, il affecte automatiquement l’identité managée d’Azure Data Share aux autorisations dont il a besoin pour s’authentifier auprès du magasin de données. Vous pouvez également attribuer manuellement des autorisations d’identité managée.

Si vous choisissez d’attribuer manuellement des autorisations, attribuez ces autorisations à l’identité managée de votre ressource Azure Data Share en fonction de la source et de l’action :

Type de magasin de données Magasin de données source de fournisseurs de données Magasin de données cible de consommateurs de données
Stockage Blob Azure Lecteur des données blob du stockage Contributeur aux données Blob du stockage
Azure Data Lake Gen1 Owner Non pris en charge
Azure Data Lake Gen2 Lecteur des données blob du stockage Contributeur aux données Blob du stockage
Azure SQL Database db_datareader db_datareader, db_datawriter, db_ddladmin
Azure Synapse Analytics db_datareader db_datareader, db_datawriter, db_ddladmin

Exemple de fournisseur de données

Lorsque vous partagez des données à partir d’un compte de stockage, l’identité managée de la ressource de partage de données est accordée au rôle lecteur de données blob Stockage.

Cette opération est effectuée automatiquement par le service Azure Data Share lorsque l’utilisateur ajoute un jeu de données via Portail Azure et que l’utilisateur est propriétaire du magasin de données Azure, ou est membre d’un rôle personnalisé disposant de l’autorisation Microsoft.Authorization/role assignments/write attribuée.

Vous pouvez également avoir le propriétaire du magasin de données Azure pour ajouter l’identité managée de la ressource de partage de données au magasin de données Azure manuellement. Cette action ne doit être effectuée qu’une seule fois par ressource de partage de données.

Pour créer une attribution de rôle pour l’identité managée de la ressource de partage de données manuellement, suivez les étapes ci-dessous :

  1. Accédez au magasin de données Azure.

  2. Sélectionnez Contrôle d’accès (IAM) .

  3. Sélectionner Ajouter> Ajouter une attribution de rôle.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  4. Sous l’onglet Rôle, sélectionnez l’un des rôles listés dans la table d’attribution de rôles de la section précédente.

  5. Sous l’onglet Membres, sélectionnez Identité managée, puis Sélectionner des membres.

  6. Sélectionnez votre abonnement Azure.

  7. Sélectionnez l’identité managée affectée par le système, recherchez votre ressource Azure Data Share, puis sélectionnez-la.

  8. Dans l’onglet Passer en revue + affecter, sélectionnez Passer en revue + affecter pour affecter le rôle.

Pour en savoir plus sur l’attribution de rôle, consultez Attribuer des rôles Azure à l’aide du portail Azure. Si vous partagez des données à l’aide d’API REST, vous pouvez créer une attribution de rôle à l’aide d’une API en vous référant à Attribuer des rôles Azure à l’aide du portail Azure à l’aide de l’API REST.

Pour le partage sql instantané, un utilisateur SQL doit être créé à partir d’un fournisseur externe dans SQL Database portant le même nom que la ressource Azure Data Share lors de la connexion à la base de données SQL à l’aide de l’authentification Microsoft Entra. Cet utilisateur doit disposer de l’autorisation db_datareader. Vous trouverez un exemple de script avec d’autres prérequis pour le partage basé sur SQL dans le tutoriel Partager à partir d’Azure SQL Database ou Azure Synapse Analytics.

Exemple de consommateur de données

Pour recevoir des données dans le compte de stockage, l’identité managée de la ressource de partage de données du consommateur doit être autorisée à accéder au compte de stockage cible. Le rôle Contributeur de données de l'objet blob de stockage doit être accordé à l’identité managée de la ressource du partage de données. Cette opération est effectuée automatiquement par le service Azure Data Share si l’utilisateur spécifie un compte de stockage cible via le Portail Azure et que l’utilisateur dispose de l’autorisation appropriée. Par exemple, l’utilisateur est propriétaire du compte de stockage ou est membre d’un rôle personnalisé qui dispose de l’autorisation Microsoft.Authorization/role assignments/write.

L’utilisateur peut également demander au propriétaire du compte de stockage d’ajouter manuellement l’identité managée de la ressource de partage de données au compte de stockage. Cette action ne doit être effectuée qu’une seule fois par ressource de partage de données. Pour créer une attribution de rôle pour l’identité managée de la ressource de partage de données manuellement, suivez les étapes ci-dessous.

  1. Accédez au magasin de données Azure.

  2. Sélectionnez Contrôle d’accès (IAM) .

  3. Sélectionner Ajouter> Ajouter une attribution de rôle.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  4. Sous l’onglet Rôle, sélectionnez l’un des rôles listés dans la table d’attribution de rôles de la section précédente. Par exemple, pour un compte de stockage, sélectionnez Lecteur de données Blob de stockage.

  5. Sous l’onglet Membres, sélectionnez Identité managée, puis Sélectionner des membres.

  6. Sélectionnez votre abonnement Azure.

  7. Sélectionnez l’identité managée affectée par le système, recherchez votre ressource Azure Data Share, puis sélectionnez-la.

  8. Dans l’onglet Passer en revue + affecter, sélectionnez Passer en revue + affecter pour affecter le rôle.

Pour en savoir plus sur l’attribution de rôle, consultez Attribuer des rôles Azure à l’aide du portail Azure. Si vous recevez des données à l’aide d’API REST, vous pouvez créer une attribution de rôle à l’aide d’une API en vous référant à Attribuer des rôles Azure à l’aide de l’API REST.

Pour la cible SQL, un utilisateur SQL doit être créé à partir d’un fournisseur externe dans SQL Database avec le même nom que la ressource Azure Data Share lors de la connexion à la base de données SQL à l’aide de l’authentification Microsoft Entra. Cet utilisateur doit disposer de l’autorisation db_datareader, db_datawriter, db_ddladmin. Vous trouverez un exemple de script avec d’autres prérequis pour le partage basé sur SQL dans le tutoriel Partager à partir d’Azure SQL Database ou Azure Synapse Analytics.

Inscription du fournisseur de ressources

Vous devrez peut-être inscrire manuellement le fournisseur de ressources Microsoft.DataShare dans votre abonnement Azure dans les scénarios suivants :

  • Afficher l’invitation d’Azure Data Share pour la première fois dans votre locataire Azure
  • Partager les données d’un magasin de données Azure dans un abonnement Azure différent de celui de votre ressource Azure Data Share
  • Recevoir des données dans un magasin de données Azure dans un abonnement Azure différent de celui de votre ressource Azure Data Share

Suivez ces étapes pour inscrire le fournisseur de ressources Microsoft.DataShare dans votre abonnement Azure. Vous avez besoin d’un accès Contributeur à l’abonnement Azure pour inscrire le fournisseur de ressources.

  1. Dans le portail Azure, accédez à Abonnements.
  2. Sélectionnez l’abonnement que vous utilisez pour Azure Data Share.
  3. Sélectionnez Fournisseurs de ressources.
  4. Recherchez Microsoft.DataShare.
  5. Sélectionnez Inscrire.

Pour en savoir plus sur les fournisseurs de ressources, reportez-vous à Fournisseurs et types de ressources Azure.

Rôles personnalisés pour le partage de données

Cette section décrit les rôles personnalisés et les autorisations nécessaires au sein des rôles personnalisés pour partager et recevoir des données, propres à un compte de stockage. Il existe également des conditions préalables qui sont indépendantes du rôle personnalisé ou du rôle Azure Data Share.

Conditions préalables pour Data Share, en plus du rôle personnalisé

  • Pour le partage basé sur instantané de stockage et de lac de données, pour ajouter un jeu de données dans Azure Data Share, l’identité managée de la ressource de partage de données du fournisseur doit être autorisée à accéder au magasin de données Azure source. Par exemple, si un compte de stockage est utilisé, l’identité managée de la ressource de partage de données se voit octroyer le rôle Lecteur des données Blob du stockage.
  • Pour recevoir des données dans un compte de stockage, l’identité managée de la ressource de partage de données du consommateur doit être autorisée à accéder au compte de stockage cible. Le rôle Contributeur de données de l'objet blob de stockage doit être accordé à l’identité managée de la ressource du partage de données.
  • Vous devrez peut-être également inscrire manuellement le fournisseur de ressources Microsoft.DataShare dans votre abonnement Azure pour certains scénarios. Pour plus d’informations, consultez la section Inscription du fournisseur de ressources de cet article.

Créer des rôles personnalisés et les autorisations nécessaires

Vous pouvez créer des rôles personnalisés dans un abonnement ou un groupe de ressources à des fins de partage et de réception de données. Le rôle personnalisé peut alors être affecté à des utilisateurs et groupes.

  • Pour créer un rôle personnalisé, des actions sont nécessaires pour le stockage, le partage de données, le groupe de ressources et l’autorisation. Consultez le document sur les opérations du fournisseur de ressources Azure pour le partage de données afin de comprendre les différents niveaux d’autorisation et choisir ceux qui conviennent à votre rôle personnalisé.
  • Vous pouvez également utiliser le portail Azure pour accéder à IAM, Rôle personnalisé, Ajouter des autorisations, Rechercher, puis rechercher des autorisations Microsoft.DataShare pour voir la liste des actions disponibles.
  • Pour plus d’informations sur l’attribution d’un rôle personnalisé, reportez-vous aux rôles personnalisés Azure. Une fois que vous avez votre rôle personnalisé, testez-le pour vérifier qu’il fonctionne comme prévu.

Voici un exemple des actions nécessaires listées en mode JSON pour qu’un rôle personnalisé partage et reçoive des données.

{
"Actions": [ 

"Microsoft.Storage/storageAccounts/read",  

"Microsoft.Storage/storageAccounts/write",  

"Microsoft.Storage/storageAccounts/blobServices/containers/read", 

"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action",

"Microsoft.Storage/storageAccounts/listkeys/action",

"Microsoft.DataShare/accounts/read", 

"Microsoft.DataShare/accounts/providers/Microsoft.Insights/metricDefinitions/read", 

"Microsoft.DataShare/accounts/shares/listSynchronizations/action", 

"Microsoft.DataShare/accounts/shares/synchronizationSettings/read", 

"Microsoft.DataShare/accounts/shares/synchronizationSettings/write", 

"Microsoft.DataShare/accounts/shares/synchronizationSettings/delete", 

"Microsoft.DataShare/accounts/shareSubscriptions/*", 

"Microsoft.DataShare/listInvitations/read", 

"Microsoft.DataShare/locations/rejectInvitation/action", 

"Microsoft.DataShare/locations/consumerInvitations/read", 

"Microsoft.DataShare/locations/operationResults/read", 

"Microsoft.Resources/subscriptions/resourceGroups/read", 

"Microsoft.Resources/subscriptions/resourcegroups/resources/read", 

"Microsoft.Authorization/roleAssignments/read", 
 ] 
}

Étapes suivantes