Partager via


Accès à Azure Cosmos DB à partir d’un travail Azure Stream Analytics à l’aide des identités managées

Azure Stream Analytics prend en charge l’authentification des identités managées pour la sortie Azure Cosmos DB. Les identités managées permettent d’éviter les limitations des méthodes d’authentification basée sur l’utilisateur, par exemple, le besoin de se réauthentifier après le changement du mot de passe ou l’expiration du jeton utilisateur tous les 90 jours. En l'absence d'authentification manuelle, vos déploiements Stream Analytics peuvent être entièrement automatisés. 

Une identité managée est une application managée inscrite auprès de Microsoft Entra ID qui représente un travail Stream Analytics donné. L’application managée est utilisée à des fins d'authentification auprès d’une ressource ciblée. Pour plus d’informations sur les identités managées pour Azure Stream Analytics, consultez Identités managées pour Azure Stream Analytics.

Cet article montre comment activer une identité managée affectée par le système pour la sortie Azure Cosmos DB d’un travail Stream Analytics dans le portail Azure. Pour pouvoir activer l’identité managée affectée par le système, vous devez d’abord avoir un travail Stream Analytics et une ressource Azure Cosmos DB.

Créer une identité managée

Commencez par créer une identité managée pour votre tâche Azure Stream Analytics. 

  1. Dans le portail Azure, ouvrez votre tâche Azure Stream Analytics. 

  2. 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.

    Identité gérée attribuée par le système

  3. Un principal de service est créé pour l’identité du travail Stream Analytics dans Microsoft Entra ID. Le cycle de vie de la nouvelle identité est géré par Azure. Quand le travail Stream Analytics est supprimé, l’identité associée (autrement dit, le principal de service) est également automatiquement supprimée par Azure. 

    Lorsque vous enregistrez la configuration, l’ID objet (l’OID) du principal de service s’affiche en tant qu’ID de principal, comme ci-dessous :

    ID du principal

    Le principal de service a le même nom que le travail Stream Analytics. Par exemple, si le nom de votre travail est MyASAJob, le nom du principal de service est également MyASAJob. 

Octroi de l’autorisation d’accéder au compte Azure Cosmos DB pour le travail Stream Analytics

Pour que le travail Stream Analytics puisse accéder à votre instance Azure Cosmos DB en utilisant une identité managée, le principal de service que vous avez créé doit avoir des autorisations spéciales sur votre compte Azure Cosmos DB. Dans cette étape, vous pouvez attribuer un rôle à l’identité managée affectée par le système définie pour votre travail Stream Analytics. Azure Cosmos DB a plusieurs rôles intégrés que vous pouvez attribuer à l’identité managée. Pour cette solution, vous allez utiliser les rôles suivants :

Rôle intégré
Contributeur de données intégré Cosmos DB

Important

Le contrôle d’accès en fonction du rôle intégré (RBAC) du plan de données Azure Cosmos DB n’est pas exposé via le portail Azure. Pour attribuer le rôle Contributeur de données intégré Cosmos DB, vous devez accorder l’autorisation via Azure PowerShell. Pour plus d’informations sur le contrôle d’accès en fonction du rôle avec Microsoft Entra ID pour votre compte Azure Cosmos DB, consultez la documentation Configurer le contrôle d’accès en fonction du rôle avec Microsoft Entra ID pour votre compte Azure Cosmos DB.

La commande suivante peut être utilisée pour authentifier votre travail ASA auprès de Azure Cosmos DB. $accountName et $resourceGroupName sont pour votre compte Azure Cosmos DB, et $principalId est la valeur obtenue à l’étape précédente, sous l’onglet Identité de votre travail ASA. Vous devez disposer d’un accès « Contributeur » à votre compte Azure Cosmos DB pour que cette commande fonctionne correctement.

New-AzCosmosDBSqlRoleAssignment -AccountName $accountName -ResourceGroupName $resourceGroupName -RoleDefinitionId '00000000-0000-0000-0000-000000000002' -Scope "/" -PrincipalId $principalId

Notes

En raison de la latence de la réplication globale ou de la mise en cache, il peut y avoir un délai lors de la révocation ou de l’octroi des autorisations. Les changements devraient prendre effet en 10 minutes. Même si la connexion de test peut réussir initialement, les travaux peuvent échouer lorsqu’ils sont démarrés avant la propagation complète des autorisations.

Important

Si le compte CosmosDB n’est pas configuré pour accepter les connexions de Tous les réseaux, vous devez sélectionner Accepter les connexions à partir des centres de données Azure publics.

Ajouter Azure Cosmos DB en tant que sortie

Maintenant que votre identité managée est configurée, vous pouvez ajouter la ressource Azure Cosmos DB comme sortie de votre travail Stream Analytics. 

  1. Accédez à votre travail Stream Analytics, puis à la page Sorties sous Topologie des travaux.

  2. Sélectionnez Ajouter > Azure Cosmos DB. Dans la fenêtre Propriétés de la sortie, recherchez et sélectionnez votre compte Azure Cosmos DB, puis sélectionnez Identité managée : affectée par le système dans le menu déroulant Mode d’authentification.

  3. Renseignez le reste des propriétés, puis sélectionnez Enregistrer.

Étapes suivantes