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

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.

The Identity menu entry

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.

Enabling a system-assigned identity

Una vez creada y asignada la identidad, puede recuperar su id. de objeto (entidad de seguridad).

Retrieving the object ID of a system-assigned identity

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.

The Identity menu entry

En la sección Asignado por el usuario, seleccione + Agregar.

Enabling a user-assigned identity

Busque y seleccione todas las identidades que desea asignar a la cuenta de Azure Cosmos DB y, a continuación, seleccione Agregar.

Selecting all the identities to assign

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