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
- Un cluster et une base de données. Créer un cluster et une base de données.
- Toutes les autorisations d’administrateur de bases de données sur la base de données.
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é.
Suivez les étapes pour Ajouter une identité affectée par l’utilisateur.
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.
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 decluster
.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.
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é.
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 dansmycontainer
demystorageaccount
dans stockage Blob Azure. La table comporte deux colonnes, une pour un entierx
et une pour une chaînes
. 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' )
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.
Exécutez la commande
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
Contenu connexe
- vue d’ensemble de l’exportation continue
- .show continue-export
- identités managées