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
- Se non si ha familiarità con le identità gestite per le risorse di Azure, vedere Informazioni sulle identità gestite per le risorse di Azure. Per informazioni sui tipi di identità gestita, vedere Tipi di identità gestita.
- Per configurare le identità gestite, l'account deve avere il ruolo Collaboratore account DocumentDB.
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.
Nella sezione Assegnata dal sistema impostare Stato su Sì e selezionare Salva. Verrà chiesto di confermare la creazione dell'identità gestita assegnata dal sistema.
Dopo aver creato e assegnato l'identità, è possibile recuperarne l'ID oggetto (entità di sicurezza).
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.
Nella sezione assegnata dall'utente selezionare + Aggiungi.
Trovare e selezionare tutte le identità da assegnare all'account Azure Cosmos DB e quindi selezionare Aggiungi.
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
- Vedere altre informazioni sulle identità gestite per le risorse di Azure
- Altre informazioni sulle chiavi gestite dal cliente in Azure Cosmos DB