Share via


Verificatie op basis van sleutels uitschakelen met Azure Cosmos DB for Table (preview)

VAN TOEPASSING OP: Tafel

Dit artikel bevat informatie over het uitschakelen van verificatie op basis van sleutels (of verificatie van wachtwoordreferenties voor resource-eigenaar) voor een Azure Cosmos DB voor table-account.

Als u verificatie op basis van sleutels uitschakelt, voorkomt u dat uw account wordt gebruikt zonder de veiligere Verificatiemethode van Microsoft Entra. Deze procedure is een stap die moet worden uitgevoerd op nieuwe accounts in beveiligde workloads. U kunt deze procedure ook uitvoeren voor bestaande accounts die worden gemigreerd naar een beveiligd workloadpatroon.

Vereisten

Verificatie op basis van sleutels uitschakelen

Schakel eerst verificatie op basis van sleutels uit voor uw bestaande account, zodat toepassingen Microsoft Entra-verificatie moeten gebruiken. Gebruik az resource update dit om het bestaande account te wijzigen properties.disableLocalAuth .

az resource update \
    --resource-group "<name-of-existing-resource-group>" \
    --name "<name-of-existing-account>" \
    --resource-type "Microsoft.DocumentDB/databaseAccounts" \
    --set properties.disableLocalAuth=true

Maak eerst een nieuw account met verificatie op basis van sleutels uitgeschakeld, zodat toepassingen Microsoft Entra-verificatie moeten gebruiken.

  1. Maak een nieuw Bicep-bestand om uw nieuwe account te implementeren met verificatie op basis van sleutels uitgeschakeld. Geef het bestand de naam 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
      }
    }
    
  2. Gebruik az deployment group create dit om het Bicep-bestand met het nieuwe account te implementeren.

    az deployment group create \
        --resource-group "<name-of-existing-resource-group>" \
        --template-file deploy-new-account.bicep
    

Schakel eerst verificatie op basis van sleutels uit voor uw bestaande account, zodat toepassingen Microsoft Entra-verificatie moeten gebruiken. Gebruik Get-AzResource respectievelijk het bestaande account en Set-AzResource werk het bij.

$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

Controleren of verificatie is uitgeschakeld

Probeer de Azure SDK te gebruiken om verbinding te maken met Azure Cosmos DB for Table met behulp van een wachtwoordreferentie voor de resource-eigenaar (ROPC). Deze poging mislukt. Indien nodig worden hier codevoorbeelden voor algemene programmeertalen gegeven.

using Azure.Data.Tables;
using Azure.Core;

string connectionString = "AccountEndpoint=<table-endpoint>;AccountKey=<key>;";

TableServiceClient client = new(connectionString);

Belangrijk

In dit codevoorbeeld worden de Azure.Data.Tables en Azure.Identity bibliotheken van NuGet gebruikt.

Volgende stap