Mettre en file d’attente des objets blob pour ingestion en utilisant l’authentification d’identité managée
Lors de la mise en file d’attente d’objets blob pour ingestion à partir de vos propres comptes de stockage, vous pouvez utiliser des identités managées comme alternative aux jetons de signature d’accès partagé (SAS) et aux méthodes d’authentification avec des clés partagées. Les identités managées sont un moyen plus sécurisé d’ingérer des données, car elles ne vous obligent pas à partager les jetons SAS ou les clés partagées de vos clients avec le service. Au lieu de cela, une identité managée est affectée à votre cluster et reçoit des autorisations de lecture sur le compte de stockage utilisé pour ingérer des données. Vous pouvez révoquer ces autorisations à tout moment.
Remarque
- Cette méthode d’authentification s’applique uniquement aux objets blob Azure et aux fichiers Azure Data Lake résidant dans des comptes de stockage appartenant à des clients. Elle ne s’applique pas aux fichiers locaux chargés avec le kit SDK Kusto.
- Seule l’ingestion mise en file d’attente est prise en charge. L’ingestion inline dans le langage de requête Kusto et l’ingestion directe à l’aide des API SDK ne sont pas prises en charge.
Affecter une identité managée à votre cluster
Pour ajouter une identité managée affectée par le système ou l’utilisateur à votre cluster, consultez la vue d’ensemble des identités managées. Si l’identité managée souhaitée est déjà affectée à votre cluster, effectuez les étapes suivantes pour copier son ID d’objet :
Connectez-vous au portail Azure avec un compte associé à l’abonnement Azure qui contient votre cluster.
Accédez à votre cluster et sélectionnez Identité.
Sélectionnez le type d’identité approprié (affectation par le système ou par l’utilisateur), puis copiez l’ID d’objet de l’identité requise.
Octroyer des autorisations à l’identité managée
Dans le portail Azure, accédez au compte de stockage qui contient les données à ingérer.
Sélectionnez Contrôle d’accès, puis + Ajouter>Ajouter une attribution de rôle.
Accordez l’identité managée Stockage Lecteur de données Blob ou Stockage Contributeur de données Blob si vous envisagez d’utiliser l’option source DeleteSourceOnSuccess, des autorisations sur le compte de stockage.
Important
L’octroi d’autorisations Propriétaire ou Contributeur n’est pas suffisant et entraîne l’échec de l’ingestion.
Définir la stratégie d’identité managée dans Azure Data Explorer
Pour utiliser l’identité managée pour ingérer des données dans votre cluster, autorisez l’option NativeIngestion
d’utilisation de l’identité managée sélectionnée. L’ingestion native fait référence à la possibilité d’utiliser un Kit de développement logiciel (SDK) pour l’ingestion à partir d’une source externe. Pour plus d’informations sur les Kits de développement logiciel (SDK) disponibles, consultez bibliothèques clientes.
La stratégie d’utilisation pour l’identité managée peut être définie au niveau du cluster ou de la base de données du cluster cible.
Pour appliquer la stratégie au niveau de la base de données, exécutez la commande suivante :
.alter-merge database <database name> policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"
Pour appliquer la stratégie au niveau du cluster, exécutez la commande suivante :
.alter-merge cluster policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"
Remplacez <managed_identity_id>
par l’ID d’objet de l’identité managée requise.
Remarque
Vous devez disposer de l’autorisation All Database Admin
sur le cluster pour modifier la stratégie d’identité managée.
Mettre en file d’attente des objets blob pour ingestion avec une identité managée en utilisant le SDK Kusto
Lors de l’ingestion de données avec le kit SDK Kusto, générez votre URI d’objet blob avec l’authentification d’identité managée en ajoutant ;managed_identity={objectId}
à l’URI d’objet blob non autorisé. Si vous ingérez des données en utilisant l’identité managée affectée par le système de votre cluster, vous pouvez ajouter ;managed_identity=system
à l’URI d’objet blob.
Important
Vous devez utiliser un client d’ingestion mise en file d’attente. L’utilisation d’identités managées avec ingestion directe ou ingestion inline dans le langage de requête Kusto n’est pas prise en charge.
Voici des exemples d’URI d’objet blob pour les identités managées affectées par le système et l’utilisateur.
- Identité managée affectée par le système :
https://demosa.blob.core.windows.net/test/export.csv;managed_identity=system
- Identité managée affectée par l’utilisateur :
https://demosa.blob.core.windows.net/test/export.csv;managed_identity=6a5820b9-fdf6-4cc4-81b9-b416b444fd6d
Important
- Lorsque vous utilisez des identités managées pour ingérer des données avec le kit SDK C#, vous devez fournir une taille d’objet blob dans
StorageSourceOptions
. Si la taille n’est pas définie, le kit SDK tente de remplir la taille de l’objet blob en accédant au compte de stockage, ce qui entraîne un échec. - Le paramètre de taille doit être la taille de données brute (non compressée), et non la taille de l’objet blob.
- Si vous ne connaissez pas la taille au moment de l’ingestion, spécifiez la valeur zéro (0). Le service tentera de découvrir la taille en utilisant l’identité managée pour l’authentification.
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour