Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra il processo di disabilitazione dell'autorizzazione basata su chiave (o autenticazione delle credenziali della password del proprietario della risorsa) per un account Azure Cosmos DB per NoSQL.
La disabilitazione dell'autorizzazione basata su chiave impedisce l'uso dell'account senza il metodo di autenticazione Microsoft Entra più sicuro. Questa procedura è un passaggio che deve essere eseguito sui nuovi account nei carichi di lavoro sicuri. In alternativa, eseguire questa procedura sugli account esistenti di cui viene eseguita la migrazione a un modello di carico di lavoro sicuro.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuito.
È possibile utilizzare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione ad Azure Cloud Shell.
Se preferisci eseguire localmente i comandi di riferimento della CLI, installa l'Azure CLI. Se si esegue in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se usi un'installazione locale, accedi all'interfaccia della riga di comando di Azure usando il comando az login. Per completare il processo di autenticazione, seguire i passaggi visualizzati nel terminale. Per altre opzioni di accesso, vedere Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando ti viene richiesto, installa l'estensione Azure CLI al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con l'interfaccia della riga di comando di Azure.
Esegui az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, avviare az upgrade.
- Se scegli di utilizzare Azure PowerShell localmente:
- Installare la versione più recente del modulo Az PowerShell.
- Connettersi all'account Azure con il cmdlet Connect-AzAccount.
- Se si sceglie di usare Azure Cloud Shell:
- Vedi Panoramica di Azure Cloud Shell per ulteriori informazioni.
Disabilitare l'autenticazione basata su chiave
Prima di tutto, disabilitare l'autenticazione basata su chiave per l'account esistente affinché le applicazioni debbano utilizzare l'autenticazione di Microsoft Entra. Usare az resource update
per modificare properties.disableLocalAuth
l'account esistente.
az resource update \
--resource-group "<name-of-existing-resource-group>" \
--name "<name-of-existing-account>" \
--resource-type "Microsoft.DocumentDB/databaseAccounts" \
--set properties.disableLocalAuth=true
Innanzitutto, crea un nuovo account con l'autenticazione basata su chiavi disabilitata in modo che le applicazioni vengano obbligate a utilizzare l'autenticazione Microsoft Entra.
Creare un nuovo file Bicep per distribuire il nuovo account con l'autenticazione basata su chiave disabilitata. Assegnare al file il nome 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 } }
Usare
az deployment group create
per distribuire il file Bicep con il nuovo account.az deployment group create \ --resource-group "<name-of-existing-resource-group>" \ --template-file deploy-new-account.bicep
Prima di tutto, disabilitare l'autenticazione basata su chiave per l'account esistente affinché le applicazioni debbano utilizzare l'autenticazione di Microsoft Entra. Usare Get-AzResource
e Set-AzResource
per leggere e aggiornare rispettivamente l'account esistente.
$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
Usare questi passaggi per creare un nuovo account Azure Cosmos DB per NoSQL con l'autenticazione basata su chiave disabilitata, in modo che le applicazioni utilizzino solo l'autenticazione tramite Microsoft Entra.
Quando si configura un nuovo account Azure Cosmos DB per NoSQL, passare alla sezione Sicurezza del processo di creazione dell'account.
Quindi, selezionare Disabilita per l'opzione di autenticazione basata su chiave.
Verificare che l'autenticazione sia disabilitata
Tentare di utilizzare Azure SDK per connettersi ad Azure Cosmos DB per NoSQL, utilizzando le credenziali ROPC (Resource Owner Password Credential). Questo tentativo dovrebbe non riuscire. Se necessario, qui sono disponibili esempi di codice per i linguaggi di programmazione comuni.
using Microsoft.Azure.Cosmos;
string connectionString = "AccountEndpoint=<nosql-endpoint>;AccountKey=<key>;";
CosmosClient client = new(connectionString);
Importante
Questo esempio di codice usa la Microsoft.Azure.Cosmos
libreria di NuGet.