Configurar identidades geridas com o Microsoft Entra ID para a conta do Azure Cosmos DB
APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela
As identidades geridas para os recursos do Azure proporcionam aos recursos do Azure uma identidade gerida automaticamente no Microsoft Entra ID. Este artigo mostra como criar uma identidade gerenciada para contas do Azure Cosmos DB.
Pré-requisitos
- Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, consulte O que são identidades gerenciadas para recursos do Azure?. Para saber mais sobre tipos de identidade gerenciada, consulte Tipos de identidade gerenciada.
- Para configurar identidades gerenciadas, sua conta precisa ter a função de Colaborador da Conta do Banco de Dados de Documentos.
Adicionar uma identidade atribuída ao sistema
Utilizar o portal do Azure
Para habilitar uma identidade gerenciada atribuída ao 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 Sistema atribuído, inverta o Status para Ativado e selecione Salvar. Ser-lhe-á pedido que confirme a criação da identidade gerida atribuída ao sistema.
Depois que a identidade tiver sido criada e atribuída, você poderá recuperar sua ID de objeto (principal).
Usando um modelo do Azure Resource Manager (ARM)
Importante
Certifique-se de usar um apiVersion
de 2021-03-15
ou superior ao trabalhar com identidades gerenciadas.
Para habilitar uma identidade atribuída ao sistema em uma conta nova ou existente do Azure Cosmos DB, inclua a seguinte propriedade na definição de recurso:
"identity": {
"type": "SystemAssigned"
}
A resources
seção do seu modelo ARM deve ter a seguinte aparência:
"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>"
}
Com a CLI do Azure
Para habilitar uma identidade atribuída ao sistema ao criar uma nova conta do Azure Cosmos DB, adicione a --assign-identity
opção:
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 ao sistema em uma conta existente usando o az cosmosdb identity assign
comando:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
Depois que sua conta do Azure Cosmos DB tiver sido criada ou atualizada, você poderá buscar a identidade atribuída com o 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>"
}
Adicionar uma identidade atribuída pelo usuário
Utilizar o portal do Azure
Para habilitar uma identidade gerenciada atribuída pelo usuário 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 ao usuário, selecione + Adicionar.
Localize e selecione todas as identidades que deseja atribuir à sua conta do Azure Cosmos DB e selecione Adicionar.
Usando um modelo do Azure Resource Manager (ARM)
Importante
Certifique-se de usar um apiVersion
de 2021-03-15
ou superior 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 resources
seção do seu modelo ARM deve ter a seguinte aparência:
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<identity-resource-id>": {}
}
},
// ...
},
// ...
]
Depois que sua conta do Azure Cosmos DB for criada ou atualizada, ela mostrará a seguinte propriedade:
"identity": {
"type": "UserAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Com a CLI do Azure
Para habilitar uma identidade atribuída pelo usuário ao criar uma nova conta do Azure Cosmos DB, adicione a --assign-identity
opção e passe a ID de recurso da identidade que você deseja 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 az cosmosdb identity assign
comando:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
--identities <identity-resource-id>
Depois que sua conta do Azure Cosmos DB tiver sido criada ou atualizada, você poderá buscar a identidade atribuída com o 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>"
}
Remover uma identidade atribuída pelo sistema ou pelo usuário
Usando um modelo do Azure Resource Manager (ARM)
Importante
Certifique-se de usar um apiVersion
de 2021-03-15
ou superior ao trabalhar com identidades gerenciadas.
Para remover uma identidade atribuída ao sistema da sua conta do Azure Cosmos DB, defina a type
identity
propriedade da propriedade como None
:
"identity": {
"type": "None"
}
Com a CLI do Azure
Para remover todas as identidades gerenciadas de sua conta do Azure Cosmos DB, use o az cosmosdb identity remove
comando:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity remove \
-n $accountName \
-g $resourceGroupName
Próximos passos
- Saiba mais sobre identidades gerenciadas para recursos do Azure
- Saiba mais sobre chaves gerenciadas pelo cliente no Azure Cosmos DB