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.

Voce di menu Identity

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

Abilitazione di un'identità assegnata dal sistema

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

Recupero dell'ID oggetto di un'identità assegnata dal sistema

Uso di un modello di Azure Resource Manager (ARM)

Importante

Assicurarsi di usare apiVersion 2021-03-15 o versioni successive 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 sezione resources 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 comando az cosmosdb identity assign:

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 comando 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>"
}

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.

Voce di menu Identity

Nella sezione assegnata dall'utente selezionare + Aggiungi.

Abilitazione di un'identità assegnata dall'utente

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

Selezione di tutte le identità da assegnare

Uso di un modello di Azure Resource Manager (ARM)

Importante

Assicurarsi di usare apiVersion 2021-03-15 o versioni successive 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 sezione resources 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 comando az cosmosdb identity assign:

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 comando 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>"
}

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

Uso di un modello di Azure Resource Manager (ARM)

Importante

Assicurarsi di usare apiVersion 2021-03-15 o versioni successive quando si usano le identità gestite.

Per rimuovere un'identità assegnata dal sistema dall'account Azure Cosmos DB, impostare il parametro type della proprietà identity 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 comando az cosmosdb identity remove:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

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

Passaggi successivi