Share via


Utiliser une identité managée pour exécuter un travail d’exportation continue

Un travail d’exportation continue exporte des données vers une table externe avec une requête exécutée régulièrement.

Le travail d’exportation continue doit être configuré avec une identité managée dans les scénarios suivants :

  • Lorsque la table externe utilise l’authentification par emprunt d’identité.
  • Quand la requête référence des tables dans d’autres bases de données.
  • Lorsque la requête référence des tables avec une stratégie de sécurité au niveau des lignes activée.

Un travail d’exportation continue configuré avec une identité managée est effectué pour le compte de l’identité managée.

Dans cet article, vous allez apprendre à configurer une identité managée affectée par le système ou par l’utilisateur et à créer un travail d’exportation continue à l’aide de cette identité.

Prérequis

Configurer une identité managée

Il existe deux types d’identités administrées :

  • Affectée par le système : une identité affectée par le système est connectée à votre cluster et est supprimée lorsque le cluster est supprimé. Une seule identité affectée par le système est autorisée par cluster.

  • Affectée par l’utilisateur : une identité managée affectée par l’utilisateur est une ressource Azure autonome. Plusieurs identités affectées par l’utilisateur peuvent être affectées à votre cluster.

Sélectionnez l’un des onglets suivants pour configurer votre type d’identité managée préféré.

  1. Suivez les étapes pour Ajouter une identité affectée par l’utilisateur.

  2. Dans le Portail Azure, dans le menu de gauche de votre ressource d’identité managée, sélectionnez Propriétés. Copiez et enregistrez l’ID de locataire et l’ID de principal à utiliser dans les étapes suivantes.

    Capture d’écran de Portail Azure zone avec des ID d’identité managée.

  3. Exécutez la commande .alter-merge policy managed_identity suivante, en <objectId> remplaçant par l’ID d’objet d’identité managée de l’étape précédente. Cette commande définit une stratégie d’identité managée sur le cluster qui permet d’utiliser l’identité managée avec l’exportation continue.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Notes

    Pour définir la stratégie sur une base de données spécifique, utilisez database <DatabaseName> au lieu de cluster.

  4. Exécutez la commande suivante pour accorder à l’identité managée des autorisations Visionneuse de base de données sur toutes les bases de données utilisées pour l’exportation continue, telles que la base de données qui contient la table externe.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Remplacez par <DatabaseName> la base de données appropriée, <objectId> par l’ID de principal d’identité managée de l’étape 2, et <tenantId> par l’ID de Microsoft Entra Id de locataire de l’étape 2.

Configurer une table externe

Les tables externes font référence à des données situées dans stockage Azure, telles que Stockage Blob Azure, Azure Data Lake Gen1 et Azure Data Lake Gen2, ou SQL Server.

Sélectionnez l’un des onglets suivants pour configurer un stockage Azure ou SQL Server table externe.

  1. Créez un chaîne de connexion basé sur les modèles de chaîne de connexion de stockage. Cette chaîne indique la ressource à accéder et ses informations d’authentification. Pour les flux d’exportation continue, nous recommandons l’authentification par emprunt d’identité.

  2. Exécutez la table externe .create ou .alter pour créer la table. Utilisez la chaîne de connexion de l’étape précédente comme argument storageConnectionString.

    Par exemple, la commande suivante crée MyExternalTable qui fait référence aux données au format CSV dans mycontainer de mystorageaccount dans Stockage Blob Azure. La table comporte deux colonnes, l’une pour un entier x et l’autre pour une chaîne s. Le chaîne de connexion se termine par ;impersonate, qui indique d’utiliser l’authentification d’emprunt d’identité pour accéder au magasin de données.

    .create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
    ( 
        h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' 
    )
    
  3. Accordez à l’identité managée des autorisations d’écriture sur le magasin de données externe approprié. L’identité managée a besoin d’autorisations d’écriture, car le travail d’exportation continue exporte les données vers le magasin de données pour le compte de l’identité managée.

    Magasin de données externe Autorisations requises Accorder les autorisations
    Stockage Blob Azure Contributeur aux données Blob du stockage Affecter un rôle Azure
    Data Lake Storage Gen2 Contributeur aux données Blob du stockage Affecter un rôle Azure
    Data Lake Storage Gen 1 Contributeur Affecter un rôle Azure

Créer un travail d’exportation continue

Sélectionnez l’un des onglets suivants pour créer un travail d’exportation continue qui s’exécutera pour le compte d’une identité managée affectée par l’utilisateur ou affectée par le système.

Exécutez la commande .create-or-alter continuous-export avec la managedIdentity propriété définie sur l’ID d’objet d’identité managée.

Par exemple, la commande suivante crée un travail d’exportation continue nommé MyExport pour exporter les données dans MyTable pour MyExternalTable le compte d’une identité managée affectée par l’utilisateur. <objectId> doit être un ID d’objet d’identité managée.

.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable