Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous utilisez l'authentification d’identité managée pour la sortie vers le stockage d’objets blob Azure, les travaux Stream Analytics obtiennent un accès direct à un compte de stockage sans utiliser de chaîne de connexion. Cette fonctionnalité améliore la sécurité et vous permet d’écrire des données dans un compte de stockage dans un réseau virtuel (VNET) dans Azure.
Cet article explique comment activer l’identité managée pour les sorties Blob d’un travail Stream Analytics via le portail Azure et via un déploiement Azure Resource Manager.
Créer le travail Stream Analytics à l’aide du portail Azure
Tout d’abord, créez une identité managée pour votre travail Azure Stream Analytics.
Dans le portail Azure, ouvrez votre tâche Azure Stream Analytics.
Dans le menu de navigation gauche, sélectionnez Identité managée sous Configurer. Activez ensuite la case à cocher située en regard de Utiliser l'identité managée affectée par le système, puis sélectionnez Enregistrer.
Azure crée un principal de service pour l'identité de la tâche Stream Analytics dans Microsoft Entra ID. Azure gère le cycle de vie de l’identité nouvellement créée. Lorsque vous supprimez le travail Stream Analytics, Azure supprime automatiquement l’identité associée (autrement dit, le principal de service).
Lorsque vous enregistrez la configuration, l’ID d’objet (OID) du principal de service apparaît en tant qu’ID de principal, comme indiqué dans la section suivante :
Le principal du service a le même nom que la tâche Stream Analytics. Par exemple, si le nom de votre travail est
MyASAJob, le nom du principal de service est égalementMyASAJob.
Déploiement Azure Resource Manager
En utilisant Azure Resource Manager, vous pouvez automatiser entièrement le déploiement de votre travail Stream Analytics. Vous pouvez déployer des modèles Resource Manager à l’aide de Azure PowerShell ou du Azure CLI. Les exemples suivants utilisent le Azure CLI.
Créez un Microsoft. StreamAnalytics/streamingjobs ressource avec une identité managée en incluant la propriété suivante dans la section ressource de votre modèle Resource Manager :
"Identity": { "Type": "SystemAssigned", },Cette propriété indique à Azure Resource Manager de créer et manager l’identité de votre travail Stream Analytics. L’exemple de modèle Resource Manager suivant déploie une tâche Stream Analytics avec l’identité managée activée et une destination de sortie Blob qui utilise l’identité managée.
{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "apiVersion": "2017-04-01-preview", "name": "MyStreamingJob", "location": "[resourceGroup().location]", "type": "Microsoft.StreamAnalytics/StreamingJobs", "identity": { "type": "systemAssigned" }, "properties": { "sku": { "name": "standard" }, "outputs":[ { "name":"output", "properties":{ "serialization": { "type": "JSON", "properties": { "encoding": "UTF8" } }, "datasource":{ "type":"Microsoft.Storage/Blob", "properties":{ "storageAccounts": [ { "accountName": "MyStorageAccount" } ], "container": "test", "pathPattern": "segment1/{date}/segment2/{time}", "dateFormat": "yyyy/MM/dd", "timeFormat": "HH", "authenticationMode": "Msi" } } } } ] } } ] }Vous pouvez déployer le travail précédent dans le groupe de ressources ExampleGroup à l’aide de la commande Azure CLI suivante :
az deployment group create --resource-group ExampleGroup -template-file StreamingJob.jsonAprès avoir créé le travail, utilisez Azure Resource Manager pour récupérer la définition complète du travail.
az resource show --ids /subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/StreamingJobs/{RESOURCE_NAME}La commande précédente retourne une réponse comme l’exemple suivant :
{ "id": "/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/streamingjobs/{RESOURCE_NAME}", "identity": { "principalId": "{PRINCIPAL_ID}", "tenantId": "{TENANT_ID}", "type": "SystemAssigned", "userAssignedIdentities": null }, "kind": null, "location": "West US", "managedBy": null, "name": "{RESOURCE_NAME}", "plan": null, "properties": { "compatibilityLevel": "1.0", "createdDate": "2019-07-12T03:11:30.39Z", "dataLocale": "en-US", "eventsLateArrivalMaxDelayInSeconds": 5, "jobId": "{JOB_ID}", "jobState": "Created", "jobStorageAccount": null, "jobType": "Cloud", "outputErrorPolicy": "Stop", "package": null, "provisioningState": "Succeeded", "sku": { "name": "Standard" } }, "resourceGroup": "{RESOURCE_GROUP}", "sku": null, "tags": null, "type": "Microsoft.StreamAnalytics/streamingjobs" }Prenez note de l'principalId de la définition de la tâche, qui identifie l'identité managée de votre tâche dans Microsoft Entra ID et est utilisée à l'étape suivante pour accorder à la tâche Stream Analytics l'accès au compte de stockage.
Maintenant que vous avez créé la tâche, reportez-vous à la section Donner à la tâche Stream Analytics l’accès à votre compte de stockage de cet article.
Autorisez la tâche Stream Analytics à accéder à votre compte de stockage
Vous pouvez donner à votre travail Stream Analytics deux niveaux d’accès :
- Accès au niveau du conteneur : Ce niveau d’accès accorde l’accès au travail à un conteneur existant spécifique.
- Accès au niveau du compte : Ce niveau d’accès accorde au travail un accès général au compte de stockage, notamment la possibilité de créer de nouveaux conteneurs.
À moins que vous n'ayez besoin du travail pour créer des conteneurs, choisissez accès au niveau conteneur pour accorder au travail le niveau minimal d’accès requis. Les sections suivantes expliquent les deux options pour le portail Azure et la ligne de commande.
Note
En raison de la latence liée à la réplication mondiale ou à la mise en cache, la révocation ou l’octroi d’autorisations peut prendre un certain temps. Les modifications doivent apparaître dans les huit minutes.
Accorder l’accès via le portail Azure
Accès au niveau du conteneur
Accédez au volet de configuration du conteneur dans votre compte de stockage.
Sélectionnez Contrôle d’accès (IAM) .
Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.
Attribuez le rôle suivant. Pour connaître les étapes détaillées, consultez Attribuer des rôles Azure à l’aide du portail Azure.
Paramètre Valeur Rôle Contributeur de données Blob de stockage Attribuer l’accès à Utilisateur, groupe ou principal de service Membres <Nom de votre job Stream Analytics>
Accès au niveau du compte
Accédez à votre compte de stockage.
Sélectionnez Contrôle d’accès (IAM) .
Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.
Attribuez le rôle suivant. Pour connaître les étapes détaillées, consultez Attribuer des rôles Azure à l’aide du portail Azure.
Paramètre Valeur Rôle Contributeur de données des Blocs de stockage Attribuer l’accès à Utilisateur, groupe ou principal de service Membres <Nom de votre tâche Stream Analytics>
Autoriser l’accès via la ligne de commande
Accès au niveau du conteneur
Pour autoriser l’accès à un conteneur spécifique, exécutez la commande suivante à l’aide de l’interface de ligne de commande Azure :
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container-name>
Accès au niveau du compte
Pour autoriser l’accès à la totalité du compte, exécutez la commande suivante à l’aide de l’interface de ligne de commande Azure :
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>
Créer une entrée ou une sortie d’objet blob
Maintenant que votre identité managée est configurée, vous pouvez ajouter la ressource blob comme entrée ou sortie de votre travail Stream Analytics.
Dans la fenêtre de propriétés de sortie du récepteur de sortie de stockage Blob Azure, sélectionnez la liste déroulante Mode d’authentification, puis Identité managée. Pour plus d’informations sur les autres propriétés de sortie, consultez Comprendre les sorties d’Azure Stream Analytics. Lorsque vous avez terminé, cliquez sur Enregistrer.
Activer l’accès au réseau virtuel
Lorsque vous configurez le Firewalls et les réseaux virtuels de votre compte de stockage, vous pouvez éventuellement autoriser le trafic réseau à partir d'autres services Microsoft approuvés. Lorsque Stream Analytics s’authentifie à l’aide de l’identité managée, il fournit une preuve que la demande provient d’un service approuvé. Les instructions suivantes expliquent comment activer cette exception d’accès au réseau virtuel.
- Accédez au volet Pare-feu et réseaux virtuels dans le volet de configuration du compte de stockage.
- Assurez-vous que l’optionAutoriser les services Microsoft de confiance à accéder à ce compte de stockage est activée.
- Si vous l’avez activé, sélectionnez Enregistrer.
Supprimer l’identité managée
L’identité managée que vous créez pour un travail Stream Analytics est supprimée uniquement lorsque vous supprimez le travail. Vous ne pouvez pas supprimer l’identité managée sans supprimer le travail. Si vous ne souhaitez plus utiliser l’identité gérée, vous pouvez modifier la méthode d’authentification pour la sortie. L’identité managée continue d’exister jusqu’à ce que vous supprimiez le travail et qu’elle soit utilisée si vous décidez d’utiliser à nouveau l’authentification d’identité managée.
Limites
Les limitations actuelles de cette fonctionnalité sont les suivantes :
Comptes Stockage Azure classiques.
Comptes Azure sans Microsoft Entra ID.
L’accès multilocataire n’est pas pris en charge. Le principal de service créé pour un travail Stream Analytics donné doit résider dans le même locataire Microsoft Entra dans lequel vous avez créé le travail, et vous ne pouvez pas l'utiliser avec une ressource qui réside dans un autre locataire Microsoft Entra.