Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo aborda o processo de desabilitar a autorização baseada em chave (ou autenticação de credencial de senha do proprietário do recurso) para uma conta do Azure Cosmos DB para NoSQL.
Desabilitar a autorização baseada em chave impede que sua conta seja usada sem o método de autenticação mais seguro do Microsoft Entra. Esse procedimento é uma etapa que deve ser executada em novas contas em cargas de trabalho seguras. Como alternativa, execute esse procedimento nas contas existentes que estão sendo migradas para um padrão de carga de trabalho seguro.
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
- Se você optar por usar o Azure PowerShell localmente:
- Instale a versão mais recente do módulo do Az PowerShell.
- Conecte-se à sua conta do Azure usando o cmdlet Connect-AzAccount.
- Se você optar por usar o Azure Cloud Shell:
- Confira Visão geral do Azure Cloud Shell para obter mais informações.
Primeiro, desabilite a autenticação baseada em chave na sua conta existente para que os aplicativos sejam obrigados a usar a autenticação do Microsoft Entra. Use az resource update
para modificar properties.disableLocalAuth
da conta 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
Primeiro, crie uma nova conta com a autenticação baseada em chave desabilitada para que os aplicativos sejam obrigados a usar a autenticação do Microsoft Entra.
Crie um novo arquivo Bicep para implantar sua nova conta com a autenticação baseada em chave desabilitada. Nomeie o arquivo 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 o arquivo Bicep com a nova conta.az deployment group create \ --resource-group "<name-of-existing-resource-group>" \ --template-file deploy-new-account.bicep
Primeiro, desabilite a autenticação baseada em chave na sua conta existente para que os aplicativos sejam obrigados a usar a autenticação do Microsoft Entra. Use Get-AzResource
e Set-AzResource
para, respectivamente, ler e atualizar a conta existente.
$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
Use estas etapas para criar uma nova conta do Azure Cosmos DB para NoSQL com a autenticação baseada em chave desabilitada, garantindo que os aplicativos usem exclusivamente a autenticação Microsoft Entra.
Ao configurar uma nova conta do Azure Cosmos DB para NoSQL, navegue até a seção Segurança do processo de criação da conta.
Em seguida, selecione Desabilitar para a opção de autenticação baseada em chave .
Tente usar o SDK do Azure para se conectar ao Azure Cosmos DB para NoSQL usando uma ROPC (credencial de senha do proprietário do recurso). Esta tentativa deve falhar. Se necessário, exemplos de código para linguagens de programação comuns são fornecidos aqui.
using Microsoft.Azure.Cosmos;
string connectionString = "AccountEndpoint=<nosql-endpoint>;AccountKey=<key>;";
CosmosClient client = new(connectionString);
Importante
Este exemplo de código usa a Microsoft.Azure.Cosmos
biblioteca do NuGet.
- práticas recomendadas de segurança
- Conceder acesso baseado em função ao plano de dados
- Conceder acesso ao plano de controle do plano de dados