Chaînes de connexion de stockage
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer
Le service Kusto peut interagir avec les services de stockage externes. Par exemple, vous pouvez créer une Stockage Azure tables externes 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 de chaîne de connexion correspondants utilisés pour décrire les ressources de stockage et comment y accéder. Un format d’URI est utilisé 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é.
Remarque
La prise en charge des services web HTTP est limitée à la récupération des ressources à partir de services web HTTP arbitraires. D’autres opérations, telles que l’écriture de ressources, ne sont pas prises en charge.
Modèles de chaîne de connexion de stockage
Chaque type de stockage a un format de 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:// Conteneur StorageAccountName[/ BlobName.blob.core.windows.net/ ][CallerCredentials] |
Azure Data Lake Storage Gen2 | https:// |
https:// StorageAccountName Filesystem[/ PathToDirectoryOrFile][CallerCredentials].dfs.core.windows.net/ |
Azure Data Lake Storage Gen2 | abfss:// |
abfss:// Filesystem@ StorageAccountName.dfs.core.windows.net/ [PathToDirectoryOrFile][CallerCredentials] |
Azure Data Lake Storage Gen1 | adl:// |
adl:// StorageAccountName.azuredatalakestore.net/ PathToDirectoryOrFile[CallerCredentials] |
Amazon S3 | https:// |
https:// BucketName RegionName.amazonaws.com/ .s3. ObjectKey[CallerCredentials] |
Services web HTTP | https:// |
https:// / Nom d’hôte PathAndQuery |
Remarque
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, vous devez spécifier des moyens d’authentification dans le cadre du stockage externe chaîne de connexion. Le chaîne de connexion définit la ressource pour accéder à ses informations d’authentification et ses informations d’authentification.
Les méthodes d’authentification suivantes sont prises en charge :
- Clé d’accès partagé (SAP)
- Jeton d’accès Microsoft Entra
- Clé d’accès au compte de stockage
- Clés d’accès par programmation Amazon Web Services
- URL présignée Amazon Web Services S3
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 le stockage d’objets blob ? | Disponible dans Azure Data Lake Storage Gen2 ? | Disponible dans Azure Data Lake Storage Gen 1 ? | Disponible dans Amazon S3 ? | Quand devez-vous utiliser cette méthode ? |
---|---|---|---|---|---|
Emprunt d'identité | ✔️ | ✔️ | ✔️ | ❌ | Utilisez-les 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 | ✔️ | ✔️ | ✔️ | ❌ | Utiliser 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é (SAP) | ✔️ | ✔️ | ❌ | ❌ | Les jetons SAP ont un délai d’expiration. Utilisez-la lors de l’accès au stockage pendant une durée limitée. |
Jeton d’accès Microsoft Entra | ✔️ | ✔️ | ✔️ | ❌ | Les jetons Microsoft Entra ont un délai d’expiration. Utilisez-la lors de l’accès au stockage pendant une durée limitée. |
Clé d’accès au compte de stockage | ✔️ | ✔️ | ❌ | ❌ | Lorsque vous avez besoin d’accéder aux ressources en continu. |
Clés d’accès par programmation Amazon Web Services | ❌ | ❌ | ❌ | ✔️ | Quand vous devez accéder aux ressources Amazon S3 en continu. |
URL présignée Amazon Web Services S3 | ❌ | ❌ | ❌ | ✔️ | Quand vous devez accéder aux ressources Amazon S3 avec une URL présignée temporaire. |
Usurpation d'identité
Kusto emprunte l’identité du principal 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 Stockage Blob Azure / Contrôle d’accès Data Lake Storage Gen2 ou contrôle d’accès Data Lake Storage Gen1.
Identité managée
Azure Data Explorer effectue des demandes 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}
le 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 Stockage Blob Azure / Contrôle d’accès Data Lake Storage Gen2 ou contrôle d’accès Data Lake Storage Gen1.
Remarque
L’identité managée est prise en charge uniquement dans des flux Azure Data Explorer 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 exportez vers le stockage externe pour spécifier les autorisations d’écriture. Pour en savoir plus, consultez déléguer l’accès à l’aide d’une signature d’accès partagé.
Utilisez l’URL SAP 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}
le 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 de 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}
la 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" |
Contenu associé
Pour obtenir des exemples de l’utilisation des chaîne de connexion de stockage, consultez :