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

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.

The Identity menu entry

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.

Enabling a system-assigned identity

Une fois l’identité créée et affectée, vous pouvez récupérer son ID d’objet (principal).

Retrieving the object ID of a system-assigned identity

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.

The Identity menu entry

Sous la section Utilisateur affecté , sélectionnez + Ajouter.

Enabling a user-assigned identity

Recherchez et sélectionnez toutes les identités que vous souhaitez affecter à votre compte Azure Cosmos DB, puis sélectionnez Ajouter.

Selecting all the identities to assign

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