Configurare le identità gestite con l'ID Microsoft Entra per l'account Azure Cosmos DB

SI APPLICA A: Nosql Mongodb Cassandra Gremlin Tabella

Le identità gestite per le risorse di Azure offrono servizi di Azure con un'identità gestita automaticamente in Microsoft Entra ID. Questo articolo illustra come creare un'identità gestita per gli account Azure Cosmos DB.

Prerequisiti

Aggiungere un'identità assegnata dal sistema

Tramite il portale di Azure

Per abilitare un'identità gestita assegnata dal sistema in un account Azure Cosmos DB esistente, passare all'account nel portale di Azure e selezionare Identità dal menu a sinistra.

The Identity menu entry

Nella sezione Assegnata dal sistema scorrere lo stato su Sì e selezionare Salva. Verrà chiesto di confermare la creazione dell'identità gestita assegnata dal sistema.

Enabling a system-assigned identity

Dopo aver creato e assegnato l'identità, è possibile recuperarne l'ID Oggetto (entità).

Retrieving the object ID of a system-assigned identity

Uso di un modello di Azure Resource Manager (ARM)

Importante

Assicurarsi di usare o apiVersion2021-03-15 versione successiva quando si usano le identità gestite.

Per abilitare un'identità assegnata dal sistema in un account Azure Cosmos DB nuovo o esistente, includere la proprietà seguente nella definizione della risorsa:

"identity": {
    "type": "SystemAssigned"
}

La resources sezione del modello di Resource Manager dovrebbe quindi essere simile alla seguente:

"resources": [
    {
        "type": " Microsoft.DocumentDB/databaseAccounts",
        "identity": {
            "type": "SystemAssigned"
        },
        // ...
    },
    // ...
]

Dopo aver creato o aggiornato l'account Azure Cosmos DB, verrà visualizzata la proprietà seguente:

"identity": {
    "type": "SystemAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Con l'interfaccia della riga di comando di Azure

Per abilitare un'identità assegnata dal sistema durante la creazione di un nuovo account Azure Cosmos DB, aggiungere l'opzione --assign-identity :

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb create \
    -n $accountName \
    -g $resourceGroupName \
    --locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
    --assign-identity

È anche possibile aggiungere un'identità assegnata dal sistema in un account esistente usando il az cosmosdb identity assign comando :

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity assign \
    -n $accountName \
    -g $resourceGroupName

Dopo aver creato o aggiornato l'account Azure Cosmos DB, è possibile recuperare l'identità assegnata con il az cosmosdb identity show comando :

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity show \
    -n $accountName \
    -g $resourceGroupName
{
    "type": "SystemAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Aggiungere un'identità assegnata dall'utente

Tramite il portale di Azure

Per abilitare un'identità gestita assegnata dall'utente in un account Azure Cosmos DB esistente, passare all'account nel portale di Azure e selezionare Identità dal menu a sinistra.

The Identity menu entry

Nella sezione assegnata dall'utente selezionare + Aggiungi.

Enabling a user-assigned identity

Trovare e selezionare tutte le identità da assegnare all'account Azure Cosmos DB e quindi selezionare Aggiungi.

Selecting all the identities to assign

Uso di un modello di Azure Resource Manager (ARM)

Importante

Assicurarsi di usare o apiVersion2021-03-15 versione successiva quando si usano le identità gestite.

Per abilitare un'identità assegnata dall'utente in un account Azure Cosmos DB nuovo o esistente, includere la proprietà seguente nella definizione della risorsa:

"identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "<identity-resource-id>": {}
    }
}

La resources sezione del modello di Resource Manager dovrebbe quindi essere simile alla seguente:

"resources": [
    {
        "type": " Microsoft.DocumentDB/databaseAccounts",
        "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
                "<identity-resource-id>": {}
            }
        },
        // ...
    },
    // ...
]

Dopo aver creato o aggiornato l'account Azure Cosmos DB, verrà visualizzata la proprietà seguente:

"identity": {
    "type": "UserAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Con l'interfaccia della riga di comando di Azure

Per abilitare un'identità assegnata dall'utente durante la creazione di un nuovo account Azure Cosmos DB, aggiungere l'opzione --assign-identity e passare l'ID risorsa dell'identità da assegnare:

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>

È anche possibile aggiungere un'identità assegnata dall'utente in un account esistente usando il az cosmosdb identity assign comando :

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity assign \
    -n $accountName \
    -g $resourceGroupName
    --identities <identity-resource-id>

Dopo aver creato o aggiornato l'account Azure Cosmos DB, è possibile recuperare l'identità assegnata con il az cosmosdb identity show comando :

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity show \
    -n $accountName \
    -g $resourceGroupName
{
    "type": "UserAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Rimuovere un'identità assegnata dal sistema o assegnata dall'utente

Uso di un modello di Azure Resource Manager (ARM)

Importante

Assicurarsi di usare o apiVersion2021-03-15 versione successiva quando si usano le identità gestite.

Per rimuovere un'identità assegnata dal sistema dall'account Azure Cosmos DB, impostare la typeidentity proprietà su None:

"identity": {
    "type": "None"
}

Con l'interfaccia della riga di comando di Azure

Per rimuovere tutte le identità gestite dall'account Azure Cosmos DB, usare il az cosmosdb identity remove comando :

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity remove \
    -n $accountName \
    -g $resourceGroupName

Passaggi successivi