Configurar identidades gerenciadas com o Microsoft Entra ID para sua conta do Azure Cosmos DB
APLICA-SE AO: NoSQL MongoDB Cassandra Gremlin Table
As identidades gerenciadas dos recursos do Azure fornecem aos serviços do Azure uma identidade gerenciada automaticamente na ID do Microsoft Entra. Este artigo mostra como criar uma identidade gerenciada para contas do Azure Cosmos DB.
Pré-requisitos
- Se você não estiver familiarizado com as identidades gerenciadas dos recursos do Azure, confira O que são as identidades gerenciadas dos recursos do Azure?. Para saber mais sobre os tipos de identidade gerenciada, confira Tipos de identidade gerenciada.
- Para configurar identidades gerenciadas, sua conta precisa ter a função Colaborador da conta do DocumentDB.
Adicionar uma identidade atribuída pelo sistema
Usando o portal do Azure
Para habilitar uma identidade gerenciada atribuída pelo sistema em uma conta existente do Azure Cosmos DB, navegue até sua conta no portal do Azure e selecione Identidade no menu à esquerda.
Na seção Atribuída pelo sistema, mude o Status para Ativado e selecione Salvar. Será solicitado que você confirme a criação da identidade gerenciada atribuída pelo sistema.
Depois que a identidade for criada e atribuída, você poderá recuperar a respectiva ID de objeto (principal).
Usando o modelo do ARM (Azure Resource Manager)
Importante
Use uma apiVersion
de 2021-03-15
ou posterior ao trabalhar com identidades gerenciadas.
Para habilitar uma identidade atribuída pelo sistema em uma conta do Azure Cosmos DB nova ou existente, inclua a seguinte propriedade na definição de recurso:
"identity": {
"type": "SystemAssigned"
}
A seção resources
do modelo do ARM deve ser semelhante ao seguinte:
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"identity": {
"type": "SystemAssigned"
},
// ...
},
// ...
]
Depois que sua conta do Azure Cosmos DB for criada ou atualizada, ela mostrará a seguinte propriedade:
"identity": {
"type": "SystemAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Usando a CLI do Azure
Para habilitar uma identidade atribuída pelo sistema ao criar uma conta nova do Azure Cosmos DB, adicione a opção --assign-identity
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb create \
-n $accountName \
-g $resourceGroupName \
--locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
--assign-identity
Você também pode adicionar uma identidade atribuída pelo sistema em uma conta existente usando o comando az cosmosdb identity assign
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
Depois que sua conta do Azure Cosmos DB for criada ou atualizada, você poderá buscar a identidade atribuída com o 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>"
}
Adicionar uma identidade atribuída pelo usuário
Usando o portal do Azure
Para habilitar uma identidade gerenciada atribuída pelo usuário em uma conta existente do Azure Cosmos DB, navegue até a conta no portal do Azure e selecione Identidade no menu à esquerda.
Na seção atribuída pelo usuário, selecione + Adicionar.
Encontre e selecione todas as identidades que você deseja atribuir à conta do Azure Cosmos DB e clique em Adicionar.
Usando o modelo do ARM (Azure Resource Manager)
Importante
Use uma apiVersion
de 2021-03-15
ou posterior ao trabalhar com identidades gerenciadas.
Para habilitar uma identidade atribuída pelo usuário em uma conta do Azure Cosmos DB nova ou existente, inclua a seguinte propriedade na definição de recurso:
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<identity-resource-id>": {}
}
}
A seção resources
do modelo do ARM deve ser semelhante ao seguinte:
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<identity-resource-id>": {}
}
},
// ...
},
// ...
]
Depois que sua conta do Azure Cosmos DB tiver sido criada ou atualizada, ela mostrará a seguinte propriedade:
"identity": {
"type": "UserAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Usando a CLI do Azure
Para habilitar uma identidade atribuída pelo usuário durante a criação de uma conta do Azure Cosmos DB, adicione a opção --assign-identity
e passe a ID do recurso da identidade que você quer atribuir:
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>
Você também pode adicionar uma identidade atribuída pelo usuário em uma conta existente usando o comando az cosmosdb identity assign
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
--identities <identity-resource-id>
Depois de criar ou atualizar a sua conta do Azure Cosmos DB, você pode buscar a identidade atribuída com o 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>"
}
Remover uma identidade atribuída pelo sistema ou pelo usuário
Usando o modelo do ARM (Azure Resource Manager)
Importante
Use uma apiVersion
de 2021-03-15
ou posterior ao trabalhar com identidades gerenciadas.
Para remover uma identidade atribuída pelo sistema da sua conta do Azure Cosmos DB, defina a type
da propriedade identity
como None
:
"identity": {
"type": "None"
}
Usando a CLI do Azure
Para remover todas as identidades gerenciadas da sua conta do Azure Cosmos DB, use o comando az cosmosdb identity remove
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity remove \
-n $accountName \
-g $resourceGroupName
Próximas etapas
- Aprenda sobre identidades gerenciadas para recursos do Azure
- Saiba mais sobre chaves gerenciadas pelo cliente no Azure Cosmos DB