Partager via


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

S’applique à : ✅Azure Data Explorer

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

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 d’emprunt d’identité
  • Lorsque la requête référence des tables dans d’autres bases de données
  • Lorsque la requête fait 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 affectée par l’utilisateur et à créer un travail d’exportation continu à l’aide de cette identité.

Conditions préalables

Configurer une identité managée

Il existe deux types d’identités managé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é.

  • affectée par l’utilisateur
  • affectée par le système
  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 ID principal à utiliser dans les étapes suivantes.

    capture d’écran de la zone du portail Azure avec des ID d’identité managée.

  3. Exécutez la commande managed_identity stratégie .alter-merge suivante, en remplaçant <objectId> 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 à l’identité managée d’être utilisée avec l’exportation continue.

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

    Note

    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 Database Viewer autorisations sur toutes les bases de données utilisées pour l’exportation continue, comme la base de données qui contient la table externe.

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

    Remplacez <DatabaseName> par 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 locataire Microsoft Entra de l’étape 2.

Configurer une table externe

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

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

  • stockage Azure
  • SQL Server
  1. Créez une chaîne de connexion basée 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 vous recommandons de l’authentification d’emprunt d’identité.

  2. Exécutez la commande .create ou .alter external table 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, une pour un entier x et une pour une chaîne s. La chaîne de connexion se termine par ;impersonate, ce 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 les autorisations d’écriture d’identité managée 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 de stockage Attribuer un rôle Azure
    Data Lake Storage Gen2 Contributeur aux données Blob de stockage Attribuer un rôle Azure
    Data Lake Storage Gen1 Contributeur Attribuer 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écute pour le compte d’une identité managée affectée par l’utilisateur ou affectée par le système.

  • affectée par l’utilisateur
  • affectée par le système

Exécutez la commande .create-or-alter continuous-export avec la 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 au nom 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