Configurar identidades administradas con Microsoft Entra ID para su cuenta de Azure Cosmos DB
SE APLICA A: NoSQL MongoDB Cassandra Gremlin Table
Las identidades administradas de los recursos de Azure proporcionan a los servicios de Azure una identidad administrada automáticamente en Microsoft Entra ID. En este artículo se muestra cómo crear una identidad administrada para cuentas de Azure Cosmos DB.
Prerrequisitos
- Si no está familiarizado con las identidades administradas para los recursos de Azure, vea ¿Qué son las identidades administradas para recursos de Azure?. Para obtener información sobre los tipos de identidades administradas, vea Tipos de identidad administrada.
- Para configurar identidades administradas, la cuenta debe tener el rol Colaborador de la cuenta de DocumentDB.
Adición de una identidad asignada por el sistema
Uso de Azure Portal
Para habilitar una identidad administrada asignada por el sistema en una cuenta de Azure Cosmos DB existente, vaya a la cuenta en Azure Portal y seleccione Identidad en el menú de la izquierda.
En la sección Asignado por el sistema, cambie el Estado a Activado y seleccione Guardar. Se le pedirá que confirme la creación de la identidad administrada asignada por el sistema.
Una vez creada y asignada la identidad, puede recuperar su id. de objeto (entidad de seguridad).
Uso de una plantilla de Azure Resource Manager (ARM)
Importante
Asegúrese de usar una apiVersion
de 2021-03-15
o una versión superior al trabajar con identidades administradas.
Para habilitar una identidad asignada por el sistema en una cuenta de Azure Cosmos DB nueva o existente, incluya la siguiente propiedad en la definición de recursos:
"identity": {
"type": "SystemAssigned"
}
La sección resources
de la plantilla de ARM debería tener un aspecto similar al siguiente:
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"identity": {
"type": "SystemAssigned"
},
// ...
},
// ...
]
Una vez creada o actualizada la cuenta de Azure Cosmos DB, se mostrará la siguiente propiedad:
"identity": {
"type": "SystemAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Uso de la CLI de Azure
Para habilitar una identidad asignada por el sistema al crear una nueva cuenta de Azure Cosmos DB, agregue la opción --assign-identity
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb create \
-n $accountName \
-g $resourceGroupName \
--locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
--assign-identity
También puede agregar una identidad asignada por el sistema en una cuenta existente mediante el comando az cosmosdb identity assign
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
Después de crear o actualizar su cuenta de Azure Cosmos DB, puede obtener la identidad asignada con el 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>"
}
Adición de una identidad asignada por el usuario
Uso de Azure Portal
Para habilitar una identidad administrada asignada por el usuario en una cuenta de Azure Cosmos DB existente, vaya a la cuenta en Azure Portal y seleccione Identidad en el menú de la izquierda.
En la sección Asignado por el usuario, seleccione + Agregar.
Busque y seleccione todas las identidades que desea asignar a la cuenta de Azure Cosmos DB y, a continuación, seleccione Agregar.
Uso de una plantilla de Azure Resource Manager (ARM)
Importante
Asegúrese de usar una apiVersion
de 2021-03-15
o una versión superior al trabajar con identidades administradas.
Para habilitar una identidad asignada por el usuario en una cuenta de Azure Cosmos DB nueva o existente, incluya la siguiente propiedad en la definición de recursos:
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<identity-resource-id>": {}
}
}
La sección resources
de la plantilla de ARM debería tener un aspecto similar al siguiente:
"resources": [
{
"type": " Microsoft.DocumentDB/databaseAccounts",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<identity-resource-id>": {}
}
},
// ...
},
// ...
]
Una vez creada o actualizada la cuenta de Azure Cosmos DB, se mostrará la siguiente propiedad:
"identity": {
"type": "UserAssigned",
"tenantId": "<azure-ad-tenant-id>",
"principalId": "<azure-ad-principal-id>"
}
Uso de la CLI de Azure
Para habilitar una identidad asignada por el usuario al crear una nueva cuenta de Azure Cosmos DB, agregue la opción --assign-identity
y pase el id. de recurso de la identidad que desea asignar:
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>
También puede agregar una identidad asignada por el usuario en una cuenta existente mediante el comando az cosmosdb identity assign
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity assign \
-n $accountName \
-g $resourceGroupName
--identities <identity-resource-id>
Después de crear o actualizar su cuenta de Azure Cosmos DB, puede obtener la identidad asignada con el 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>"
}
Eliminación de una identidad asignada por el sistema o el usuario
Uso de una plantilla de Azure Resource Manager (ARM)
Importante
Asegúrese de usar una apiVersion
de 2021-03-15
o una versión superior al trabajar con identidades administradas.
Para quitar una identidad asignada por el sistema de la cuenta de Azure Cosmos DB, establezca type
de la propiedad identity
en None
:
"identity": {
"type": "None"
}
Uso de la CLI de Azure
Para quitar todas las identidades administradas de la cuenta de Azure Cosmos DB, use el comando az cosmosdb identity remove
:
resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'
az cosmosdb identity remove \
-n $accountName \
-g $resourceGroupName
Pasos siguientes
- Más información sobre las identidades administradas para recursos de Azure
- Obtenga más información sobre las claves administradas por el cliente en Azure Cosmos DB.