Sdílet prostřednictvím


Zákaz ověřování založeného na klíčích pomocí služby Azure Cosmos DB pro tabulku (Preview)

Tento článek se zabývá procesem zakázání autorizace založené na klíči (nebo ověřování přihlašovacích údajů vlastníka prostředku) pro účet služby Azure Cosmos DB for Table.

Zakázáním autorizace založené na klíči zabráníte tomu, aby se váš účet používal bez bezpečnější metody ověřování Microsoft Entra. Tento postup je krok, který by se měl provést u nových účtů v zabezpečených úlohách. Případně tento postup proveďte u stávajících účtů migrovaných do zabezpečeného vzoru úloh.

Požadavky

Zakázání ověřování na základě klíčů

Nejprve zakažte ověřování na základě klíčů u stávajícího účtu, aby aplikace musely používat ověřování Microsoft Entra. Slouží az resource update k úpravě properties.disableLocalAuth existujícího účtu.

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

Nejprve vytvořte nový účet se zakázaným ověřováním založeným na klíčích, aby aplikace musely používat ověřování Microsoft Entra.

  1. Vytvořte nový soubor Bicep pro nasazení nového účtu se zakázaným ověřováním založeným na klíči. Pojmenujte soubor 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. Slouží az deployment group create k nasazení souboru Bicep s novým účtem.

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

Nejprve zakažte ověřování na základě klíčů u stávajícího účtu, aby aplikace musely používat ověřování Microsoft Entra. Slouží Get-AzResource ke Set-AzResource čtení a aktualizaci existujícího účtu.

$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

Ověření, že je ověřování zakázané

Pokus o použití sady Azure SDK k připojení ke službě Azure Cosmos DB for Table pomocí přihlašovacích údajů vlastníka prostředku (ROPC). Tento pokus by měl selhat. V případě potřeby jsou zde uvedeny ukázky kódu pro běžné programovací jazyky.

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

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

TableServiceClient client = new(connectionString);

Důležité

Tento vzorový kód používá knihovny Azure.Data.Tables z Azure.Identity NuGetu.

Další krok