Chaînes de connexion de stockage

Azure Data Explorer peut interagir avec des services de stockage externes. Par exemple, vous pouvez créer des tables externes de Stockage Azure afin d’interroger les données stockées sur des stockages externes.

Les types de stockage externe suivants sont pris en charge :

  • Stockage Blob Azure
  • Azure Data Lake Storage Gen2
  • Azure Data Lake Storage Gen1
  • Amazon S3

Chaque type de stockage a des formats chaîne de connexion correspondants utilisés pour décrire les ressources de stockage et comment y accéder. Azure Data Explorer utilise un format URI pour décrire ces ressources de stockage et les propriétés nécessaires pour y accéder, telles que les informations d’identification de sécurité.

Notes

Les services web HTTP qui n’implémentent pas l’ensemble des API de Stockage Blob Azure ne sont pas pris en charge, même s’ils semblent fonctionner dans certains scénarios.

Modèles de chaîne de connexion de stockage

Chaque type de stockage a un format chaîne de connexion différent. Consultez le tableau suivant pour chaîne de connexion modèles pour chaque type de stockage.

Type de stockage Schéma Modèle d’URI
Stockage Blob Azure https:// https://StorageAccountName.blob.core.windows.net/Container[/BlobName][CallerCredentials]
Azure Data Lake Storage Gen2 https:// https://StorageAccountName.dfs.core.windows.net/Filesystem[/PathToDirectoryOrFile][CallerCredentials]
Azure Data Lake Storage Gen2 abfss:// abfss://Fichiers@StorageAccountName.dfs.core.windows.net/[PathToDirectoryOrFile] [CallerCredentials]
Azure Data Lake Storage Gen1 adl:// adl://StorageAccountName.azuredatalakestore.net/PathToDirectoryOrFile[CallerCredentials]
Amazon S3 https:// https://BucketName.s3.RegionName.amazonaws.com/ObjectKey[CallerCredentials]

Notes

Pour empêcher l’affichage des secrets dans les traces, utilisez des littéraux de chaîne obfusqués.

Méthodes d’authentification du stockage

Pour interagir avec le stockage externe non public à partir d’Azure Data Explorer, vous devez spécifier des moyens d’authentification dans le cadre du chaîne de connexion de stockage externe. Le chaîne de connexion définit la ressource à accéder et ses informations d’authentification.

Azure Data Explorer prend en charge les méthodes d’authentification suivantes :

Authentification prise en charge par type de stockage

Le tableau suivant récapitule les méthodes d’authentification disponibles pour différents types de stockage externe.

Méthode d'authentification Disponible dans stockage Blob ? Disponible dans Azure Data Lake Storage Gen 2 ? Disponible dans Azure Data Lake Storage Gen 1 ? Disponible dans Amazon S3 ? Quand devez-vous utiliser cette méthode ?
Emprunt d'identité ✔️ ✔️ ✔️ Utilisez pour les flux assistés lorsque vous avez besoin d’un contrôle d’accès complexe sur le stockage externe. Par exemple, dans les flux d’exportation continus. Vous pouvez également restreindre l’accès au stockage au niveau de l’utilisateur.
Identité gérée ✔️ ✔️ ✔️ Utilisez dans des flux sans assistance, où aucun principal Microsoft Entra ne peut être dérivé pour exécuter des requêtes et des commandes. Les identités managées sont la seule solution d’authentification.
Clé d’accès partagé (SAS) ✔️ ✔️ Les jetons SAS ont un délai d’expiration. Utilisez lors de l’accès au stockage pendant une durée limitée.
jeton d’accès Microsoft Entra ✔️ ✔️ ✔️ Microsoft Entra jetons ont un délai d’expiration. Utilisez lors de l’accès au stockage pendant une durée limitée.
Clé d’accès au compte de stockage ✔️ ✔️ Lorsque vous devez accéder aux ressources de manière continue.
Clés d’accès par programmation Amazon Web Services ✔️ Lorsque vous devez accéder aux ressources Amazon S3 de manière continue.
URL présignée Amazon Web Services S3 ✔️ Lorsque vous devez accéder aux ressources Amazon S3 avec une URL présignée temporaire.

Emprunt d'identité

Azure Data Explorer emprunte l’identité principale du demandeur pour accéder à la ressource. Pour utiliser l’emprunt d’identité, ajoutez ;impersonate à la chaîne de connexion.

Exemple
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;impersonate"

Le principal doit disposer des autorisations nécessaires pour effectuer l’opération. Par exemple, dans Stockage Blob Azure, pour lire à partir de l’objet blob, le principal a besoin du rôle Lecteur de données blob de stockage et pour exporter vers l’objet blob, le principal a besoin du rôle Contributeur aux données blob de stockage. Pour plus d’informations, consultez contrôle d’accès Stockage Blob Azure/Data Lake Storage Gen2 ou contrôle d’accès Data Lake Storage Gen1.

Identité managée

Azure Data Explorer effectue des requêtes pour le compte d’une identité managée et utilise son identité pour accéder aux ressources. Pour une identité managée affectée par le système, ajoutez ;managed_identity=system à la chaîne de connexion. Pour une identité managée affectée par l’utilisateur, ajoutez ;managed_identity={object_id} à la chaîne de connexion.

Type d'identité managée Exemple
Attribué par le système "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=system"
Affecté par l’utilisateur "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=12345678-1234-1234-1234-1234567890ab"

L’identité managée doit disposer des autorisations nécessaires pour effectuer l’opération. Par exemple, dans Stockage Blob Azure, pour lire à partir de l’objet blob, l’identité managée a besoin du rôle Lecteur de données blob de stockage et pour exporter vers l’objet blob, l’identité managée a besoin du rôle Contributeur aux données blob de stockage. Pour plus d’informations, consultez contrôle d’accès Stockage Blob Azure/Data Lake Storage Gen2 ou contrôle d’accès Data Lake Storage Gen1.

Notes

L’identité managée n’est prise en charge que dans des flux d’Data Explorer Azure spécifiques et nécessite la configuration de la stratégie d’identité managée. Pour plus d’informations, consultez Vue d’ensemble des identités managées.

Jeton d’accès partagé (SAS)

Dans le Portail Azure, générez un jeton SAP avec les autorisations requises.

Par exemple, pour lire à partir du stockage externe, spécifiez les autorisations Lecture et Liste, et pour exporter vers le stockage externe, spécifiez les autorisations d’écriture. Pour plus d’informations, consultez Déléguer l’accès à l’aide d’une signature d’accès partagé.

Utilisez l’URL SAS comme chaîne de connexion.

Exemple
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv?sv=...&sp=rwd"

jeton d’accès Microsoft Entra

Pour ajouter un jeton d’accès Microsoft Entra encodé en base 64, ajoutez ;token={AadToken} à la chaîne de connexion. Le jeton doit être pour la ressource https://storage.azure.com/.

Pour plus d’informations sur la génération d’un jeton d’accès Microsoft Entra, consultez Obtenir un jeton d’accès pour l’autorisation.

Exemple
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;token=1234567890abcdef1234567890abcdef1234567890abc..."

Clé d’accès au compte de stockage

Pour ajouter une clé d’accès au compte de stockage, ajoutez la clé au chaîne de connexion. Dans Stockage Blob Azure, ajoutez ;{key} à la chaîne de connexion. Pour Azure Data Lake Storage Gen 2, ajoutez ;sharedkey={key} au chaîne de connexion.

Compte de stockage Exemple
Stockage Blob Azure "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;ljkAkl...=="
Azure Data Lake Storage Gen2 "abfss://fs@fabrikam.dfs.core.windows.net/path/to/file.csv;sharedkey=sv=...&sp=rwd"

Clés d’accès par programmation Amazon Web Services

Pour ajouter des clés d’accès Amazon Web Services, ajoutez ;AwsCredentials={ACCESS_KEY_ID},{SECRET_ACCESS_KEY} à la chaîne de connexion.

Exemple
"https://yourbucketname.s3.us-east-1.amazonaws.com/path/to/file.csv;AwsCredentials=AWS1234567890EXAMPLE,1234567890abc/1234567/12345678EXAMPLEKEY"

URL présignée Amazon Web Services S3

Utilisez l’URL présignée S3 comme chaîne de connexion.

Exemple
"https://yourbucketname.s3.us-east-1.amazonaws.com/file.csv?12345678PRESIGNEDTOKEN"