Configurer des identités managées avec Microsoft Entra ID pour votre compte Azure Cosmos DB
S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table
Les identités managées pour les ressources Azure fournissent aux services Azure une identité automatiquement gérée dans Microsoft Entra ID. Cet article explique comment créer une identité managée pour les comptes Azure Cosmos DB.
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour les ressources Azure, consultez Que sont les identités managées pour les ressources Azure ? Pour en savoir plus sur les types d’identités managées, consultez Types d’identités managées.
- Pour configurer des identités managées, votre compte doit avoir le rôle de contributeur de compte DocumentDB.
Ajouter une identité affectée par le système
Utilisation du portail Azure
Pour activer une identité managée affectée par le système sur un compte Azure Cosmos DB existant, accédez à votre compte dans le portail Azure, puis sélectionnez Identité dans le menu de gauche.
Dans la section Affecté(e) par le système, définissez État sur Activé, puis sélectionnez Enregistrer. Vous serez invité à confirmer la création de l’identité gérée affectée par le système.
Une fois l’identité créée et affectée, vous pouvez récupérer son ID d’objet (principal).
Utilisation d’un modèle Azure Resource Manager (ARM)
Important
Veillez à utiliser une apiVersion
de 2021-03-15
ou version ultérieure lorsque vous utilisez des identités managées.
Pour activer une identité affectée par le système sur un compte Azure Cosmos DB nouveau ou existant, indiquez la propriété suivante dans la définition de la ressource :
"identity": {
"type": "SystemAssigned"
}
La section resources
de votre modèle ARM doit ressembler à ceci :
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"identity": {
"type": "SystemAssigned"
},
// ...
},
// ...
]
Une fois votre compte Azure Cosmos DB créé ou mis à jour, la propriété suivante s’affiche :
"identity": {
"type": "SystemAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Utilisation de l’interface de ligne de commande Azure (CLI)
Pour activer une identité affectée par le système lors de la création d’un compte Azure Cosmos DB, ajoutez l’option --assign-identity
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb create \
-n $accountName \
-g $resourceGroupName \
--locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
--assign-identity
Vous pouvez également ajouter une identité affectée par le système sur un compte existant à l’aide de la commande az cosmosdb identity assign
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
Une fois votre compte Azure Cosmos DB créé ou mis à jour, vous pouvez extraire l’identité affectée avec la commande az cosmosdb identity show
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity show \
-n $accountName \
-g $resourceGroupName
{
"type": "SystemAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Ajouter une identité attribuée par l’utilisateur
Utilisation du portail Azure
Pour activer une identité managée affectée par l’utilisateur sur un compte Azure Cosmos DB existant, accédez à votre compte dans le portail Azure, puis sélectionnez Identité dans le menu de gauche.
Sous la section Utilisateur affecté , sélectionnez + Ajouter.
Recherchez et sélectionnez toutes les identités que vous souhaitez affecter à votre compte Azure Cosmos DB, puis sélectionnez Ajouter.
Utilisation d’un modèle Azure Resource Manager (ARM)
Important
Veillez à utiliser une apiVersion
de 2021-03-15
ou version ultérieure lorsque vous utilisez des identités managées.
Pour activer une identité affectée par l’utilisateur sur un compte Azure Cosmos DB nouveau ou existant, indiquez la propriété suivante dans la définition de la ressource :
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<identity-resource-id>": {}
}
}
La section resources
de votre modèle ARM doit ressembler à ceci :
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<identity-resource-id>": {}
}
},
// ...
},
// ...
]
Une fois votre compte Azure Cosmos DB créé ou mis à jour, la propriété suivante s’affiche :
"identity": {
"type": "UserAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Utilisation de l’interface de ligne de commande Azure (CLI)
Pour activer une identité affectée par l’utilisateur lors de la création d’un compte Azure Cosmos DB, ajoutez l’option --assign-identity
et transmettez l’ID de ressource de l’identité que vous souhaitez affecter :
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb create \
-n $accountName \
-g $resourceGroupName \
--locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
--assign-identity <identity-resource-id>
Vous pouvez également ajouter une identité affectée par l’utilisateur sur un compte existant à l’aide de la commande az cosmosdb identity assign
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
--identities <identity-resource-id>
Une fois votre compte Azure Cosmos DB créé ou mis à jour, vous pouvez extraire l’identité affectée avec la commande az cosmosdb identity show
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity show \
-n $accountName \
-g $resourceGroupName
{
"type": "UserAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Supprimer une identité affectée par le système ou par l’utilisateur
Utilisation d’un modèle Azure Resource Manager (ARM)
Important
Veillez à utiliser une apiVersion
de 2021-03-15
ou version ultérieure lorsque vous utilisez des identités managées.
Pour supprimer une identité affectée par le système de votre compte Azure Cosmos DB, définissez le type
de la propriété identity
sur None
:
"identity": {
"type": "None"
}
Utilisation de l’interface de ligne de commande Azure (CLI)
Pour supprimer toutes les identités managées de votre compte Azure Cosmos DB, utilisez la commande az cosmosdb identity remove
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity remove \
-n $accountName \
-g $resourceGroupName
Étapes suivantes
- En savoir plus sur les identités managées pour les ressources Azure
- En savoir plus sur les clés gérées par le client sur Azure Cosmos DB