Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une table externe est une entité de schéma qui fait référence à des données stockées en dehors d’une base de données Azure Data Explorer. Les tables externes peuvent être définies pour référencer des données dans Stockage Azure ou SQL Server et prendre en charge différentes méthodes d’authentification.
Dans cet article, vous allez apprendre à créer une table externe qui s’authentifie avec une identité managée.
Prérequis
- Un cluster et une base de données Azure Data Explorer. Créez un cluster et une base de données.
- Autorisations d’administrateur de base de données sur la base de données Azure Data Explorer.
1 - Configurer une identité managée à utiliser avec des tables externes
Il existe deux types d’identités managées :
Affecté 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é par l’utilisateur : une identité managée affectée par l’utilisateur est une ressource Azure autonome. Plusieurs identités attribuées par l’utilisateur peuvent être affectées à votre cluster.
Sélectionnez l’un des onglets suivants pour configurer le type d’identité managée par défaut.
Suivez les étapes pour ajouter une identité affectée par l’utilisateur à votre cluster, puis enregistrez l’IDd’objet (principal) pour une utilisation ultérieure.
Exécutez la commande .alter-merge policy managed_identity. Cette commande définit une stratégie d’identité managée sur le cluster qui permet l’utilisation de l’identité managée avec des tables externes. Remplacez
<objectId>par l’ID d’objet (principal)..alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "ExternalTable" } ]```Remarque
Pour définir la stratégie pour une base de données spécifique, utilisez
database <DatabaseName>plutôt quecluster.
2 - Accorder à l’identité managée des autorisations sur des ressources externes
L’identité managée doit avoir des autorisations sur la ressource externe pour s’authentifier correctement.
Sélectionnez l’onglet pour le type de ressource externe approprié et attribuez les autorisations requises.
Le tableau suivant présente les autorisations requises par la ressource externe. Pour importer ou interroger des données à partir de la ressource externe, accordez les autorisations de lecture d’identité managée. Pour exporter des données vers la ressource externe, accordez à l’identité managée des autorisations d’écriture.
| Magasin de données externe | Autorisations de lecture | Autorisations d’écriture | Accorder les autorisations |
|---|---|---|---|
| Stockage Blob Azure | Lecteur des données Blob du stockage | Contributeur aux données Blob du stockage | Attribuer un rôle Azure |
| Data Lake Storage Gen2 | Lecteur de données Blob du stockage | Contributeur aux données du stockage Blob | Attribuer un rôle Azure |
3 - Créer une table externe
Il existe deux types de tables externes qui prennent en charge l’authentification avec des identités gérées : tables externes stockage Azure et tables externes SQL Server.
Sélectionnez l’un des onglets suivants pour configurer une table externe Stockage Azure ou SQL Server.
Pour créer une table externe Stockage Azure, procédez comme suit :
Créez une chaîne de connexion à partir des modèles de chaînes de connexion de stockage. Cette chaîne indique la ressource à accéder et ses informations d’authentification. Spécifiez la méthode d’authentification d’identité managée.
Exécutez la commande .create or .alter external table pour créer la table. Utilisez le chaîne de connexion de l’étape précédente comme argument storageConnectionString.
Exemple
La commande suivante crée MyExternalTable qui fait référence à des données au format CSV dans mycontainer de mystorageaccount dans le stockage Blob Azure. La table comporte deux colonnes, une pour un entier x et une pour une chaîne s. Le chaîne de connexion se termine par ;managed_identity=system, ce qui indique d’utiliser une identité managée affectée par le système pour l’authentification 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;managed_identity=system'
)
Remarque
Pour vous authentifier avec une identité managée affectée par l’utilisateur, remplacez system par l’ID d’objet d’identité managée.