Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается процесс отключения авторизации на основе ключей (или проверки подлинности учетных данных владельца ресурса) для учетной записи Azure Cosmos DB для NoSQL.
Отключение авторизации на основе ключей предотвращает использование учетной записи без более безопасного метода проверки подлинности Microsoft Entra. Эта процедура — это шаг, который должен выполняться для новых учетных записей в безопасных рабочих нагрузках. Кроме того, выполните эту процедуру в существующих учетных записях, перенесенных в шаблон безопасной рабочей нагрузки.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Когда вас попросят, установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Если вы решили использовать Azure PowerShell локально:
- Установите последнюю версию модуля Az PowerShell.
- Подключитесь к учетной записи Azure с помощью командлета Connect-AzAccount.
- Если вы решили использовать Azure Cloud Shell:
- Дополнительные сведения см. в статье Общие сведения об Azure Cloud Shell.
Отключение проверки подлинности на основе ключей
Во-первых, отключите проверку подлинности на основе ключей для существующей учетной записи, чтобы приложения использовали проверку подлинности Microsoft Entra. С помощью az resource update
можно изменить 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
Сначала создайте новую учетную запись с отключенной проверкой подлинности на основе ключей, чтобы приложения использовали проверку подлинности Microsoft Entra.
Создайте файл Bicep для развертывания новой учетной записи с отключенной проверкой подлинности на основе ключей. Назовите файл 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 } }
Используйте
az deployment group create
для развертывания Bicep файла с новой учетной записью.az deployment group create \ --resource-group "<name-of-existing-resource-group>" \ --template-file deploy-new-account.bicep
Во-первых, отключите проверку подлинности на основе ключей для существующей учетной записи, чтобы приложения использовали проверку подлинности Microsoft Entra. Используйте Get-AzResource
и Set-AzResource
для считывания и обновления существующей учетной записи соответственно.
$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
Используйте эти действия, чтобы создать новую учетную запись Azure Cosmos DB для NoSQL с отключенной проверкой подлинности на основе ключей, чтобы приложения были обязаны использовать только аутентификацию Microsoft Entra.
При настройке новой учетной записи Azure Cosmos DB для NoSQL перейдите в раздел "Безопасность " процесса создания учетной записи.
Затем выберите "Отключить " для параметра проверки подлинности на основе ключей .
Это важно
Для изменения учетной записи Azure Cosmos DB требуется роль Azure по крайней мере с разрешением Microsoft.DocumentDb/databaseAccounts/*/write
. Дополнительные сведения см. в разделе "Разрешения для Azure Cosmos DB".
Убедитесь, что проверка подлинности отключена.
Попробуйте использовать Azure SDK для подключения к базе данных Azure Cosmos DB NoSQL, используя учетные данные пароля владельца ресурса (ROPC). Эта попытка должна завершиться ошибкой. При необходимости примеры кода для распространенных языков программирования предоставляются здесь.
using Microsoft.Azure.Cosmos;
string connectionString = "AccountEndpoint=<nosql-endpoint>;AccountKey=<key>;";
CosmosClient client = new(connectionString);
Это важно
В этом примере кода используется Microsoft.Azure.Cosmos
библиотека из NuGet.