Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe el proceso de deshabilitación de la autorización basada en claves (o autenticación de credenciales de contraseña de propietario de recursos) para una cuenta de Azure Cosmos DB para NoSQL.
Deshabilitar la autorización basada en claves impide que la cuenta se use sin el método de autenticación de Microsoft Entra más seguro. Este procedimiento es un paso que se debe realizar en nuevas cuentas en cargas de trabajo seguras. Como alternativa, realice este procedimiento en las cuentas existentes que se migran a un patrón de carga de trabajo seguro.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Introducción a Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si estás utilizando Windows o macOS, considera ejecutar Azure CLI en un contenedor Docker. Para más información, consulte Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login . Para finalizar el proceso de autenticación, siga los pasos que se muestran en el terminal. Para ver otras opciones de inicio de sesión, consulte Autenticación en Azure mediante la CLI de Azure.
Cuando se le solicite, instale la extensión de la CLI de Azure en el primer uso. Para más información sobre las extensiones, consulte Uso y administración de extensiones con la CLI de Azure.
Ejecute az version para buscar la versión y las bibliotecas dependientes que están instaladas. Para actualizar a la versión más reciente, ejecute az upgrade.
- Si opta por usar Azure PowerShell en un entorno local:
- Instale la versión más reciente del módulo Az PowerShell.
- Conéctese a su cuenta de Azure mediante el cmdlet Connect-AzAccount .
- Si decide usar Azure Cloud Shell:
- Consulte Introducción a Azure Cloud Shell para más información.
Deshabilitación de la autenticación basada en claves
En primer lugar, deshabilite la autenticación basada en claves en la cuenta existente para que las aplicaciones deban usar la autenticación de Microsoft Entra. Use az resource update
para modificar properties.disableLocalAuth
en la cuenta existente.
az resource update \
--resource-group "<name-of-existing-resource-group>" \
--name "<name-of-existing-account>" \
--resource-type "Microsoft.DocumentDB/databaseAccounts" \
--set properties.disableLocalAuth=true
En primer lugar, cree una cuenta con la autenticación basada en claves deshabilitada para que las aplicaciones deban usar la autenticación de Microsoft Entra.
Cree un nuevo archivo de Bicep para desplegar su cuenta reciente, asegurándose de que la autenticación basada en claves esté deshabilitada. Asigne al archivo el nombre deploy-new-account.bicep.
metadata description = 'Deploys a new Azure Cosmos DB account with key-based auth disabled.' @description('Name of the Azure Cosmos DB account.') param name string = 'csms-${uniqueString(resourceGroup().id)}' @description('Primary location for the Azure Cosmos DB account.') param location string = resourceGroup().location resource account 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = { name: name location: location kind: 'GlobalDocumentDB' properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] disableLocalAuth: true } }
Use
az deployment group create
para implementar el archivo de Bicep con la nueva cuenta.az deployment group create \ --resource-group "<name-of-existing-resource-group>" \ --template-file deploy-new-account.bicep
En primer lugar, deshabilite la autenticación basada en claves en la cuenta existente para que las aplicaciones deban usar la autenticación de Microsoft Entra. Use Get-AzResource
y Set-AzResource
para leer y actualizar la cuenta existente respectivamente.
$parameters = @{
ResourceGroupName = "<name-of-existing-resource-group>"
ResourceName = "<name-of-existing-account>"
ResourceType = "Microsoft.DocumentDB/databaseAccounts"
}
$resource = Get-AzResource @parameters
$resource.Properties.DisableLocalAuth = $true
$resource | Set-AzResource -Force
Siga estos pasos para crear una nueva cuenta de Azure Cosmos DB para NoSQL con autenticación basada en claves deshabilitada para que las aplicaciones solo usen la autenticación de Microsoft Entra.
Al configurar una nueva cuenta de Azure Cosmos DB para NoSQL, vaya a la sección Seguridad del proceso de creación de la cuenta.
A continuación, seleccione Deshabilitar para la opción autenticación basada en claves .
Validar que la autenticación está deshabilitada
Intente usar el SDK de Azure para conectarse a Azure Cosmos DB para NoSQL mediante una credencial de contraseña de propietario de recursos (ROPC). Este intento debería fallar. Si es necesario, aquí se proporcionan ejemplos de código para lenguajes de programación comunes.
using Microsoft.Azure.Cosmos;
string connectionString = "AccountEndpoint=<nosql-endpoint>;AccountKey=<key>;";
CosmosClient client = new(connectionString);
Importante
En este ejemplo de código se usa la Microsoft.Azure.Cosmos
biblioteca de NuGet.
Contenido relacionado
- Prácticas recomendadas de seguridad
- Otorgar acceso basado en roles al plano de datos
- Concesión de acceso a los planos de datos y de control