Подготовка к Key Vault API версии 2026-02-01 и более поздних версий: Azure RBAC в качестве управления доступом по умолчанию

Azure Key Vault API версий 2026-02-01 и более поздних изменяют модель управления доступом по умолчанию для новых хранилищ на Azure RBAC, чтобы она соответствовала опыту работы в портале Azure. Оба Azure RBAC и политики доступа остаются полностью поддерживаемыми. Версия API 2026-02-01 доступна в общедоступных регионах Azure, Azure, управляемой 21Vianet, и Azure для государственных организаций.

  • Новое поведение создания хранилища ключей. При создании нового хранилища с версией API 2026-02-01 или более поздней, модель управления доступом по умолчанию — это Azure RBAC (enableRbacAuthorization = true). Это значение по умолчанию применяется только к операциям создания . Чтобы использовать политики доступа для новых хранилищ, задайте enableRbacAuthorization значение false при создании.
  • Существующее поведение хранилища ключей: существующие хранилища сохраняют текущую модель управления доступом, если вы явно не измените enableRbacAuthorization. Использование версии 2026-02-01 API или более поздней версии для обновления хранилища не изменяет управление доступом автоматически. Хранилища, где enableRbacAuthorization находится null (из более старых версий API), продолжают использовать политики доступа.

Это важно

Все версии API контрольной плоскости Key Vault до 2026-02-01 будут сняты с поддержки 27 февраля 2027 года. Хранилища ключей будут продолжать существовать и доступны только с помощью API уровня управления версии 2026-02-01 или более поздней версии. API плоскости данных не затрагиваются.

Предварительные версии API (за исключением 2026-04-01-preview) выводятся из эксплуатации с уведомлением за 90 дней. Azure Cloud Shell всегда использует последнюю версию API. Если у вас есть скрипты, которые выполняются в Cloud Shell, убедитесь, что они совместимы с API версии 2026-02-01 или более поздней. Список поддерживаемых версий API см. в разделе "Поддерживаемые версии API уровня управления". Сведения о пакете SDK см. в статье Что нового в Azure Key Vault.

Мы рекомендуем перенести хранилища ключей, которые в настоящее время используют устаревшие политики доступа, на Azure RBAC для повышения безопасности. Дополнительные сведения о том, почему рекомендуется Azure RBAC, см. в статье Azure управление доступом на основе ролей (Azure RBAC) и политики доступа.

Что вам нужно сделать

Если вы уже знаете модель управления доступом вашего хранилища, перейдите к разделу «Определение следующих действий». В противном случае сначала проверьте текущую конфигурацию .

Это важно

Чтобы изменить свойство enableRbacAuthorization для хранилища ключей, у вас должно быть разрешение Майкрософт.KeyVault/vaults/write, которое включено в роли, такие как Соавтор и Владелец. Кроме того, на портале Azure требуется Майкрософт.Authorization/roleAssignments/write (включая такие роли, как владелец и администратор доступа пользователей), чтобы можно было назначать роли RBAC в Резервном хранилище ключей после изменения и избежать блокировки. Дополнительные сведения см. в разделе Включение разрешений Azure RBAC на Key Vault.

Проверка текущей конфигурации

Проверьте, установлена ли конфигурация доступа к хранилищу ключей на RBAC Azure или политики доступа. Проверьте эту конфигурацию с помощью команд Azure CLI или PowerShell.

После проверки конфигурации:

Проверка одного хранилища

  1. Используйте команду az keyvault show для получения сведений о хранилище:

    az keyvault show --name <vault-name> --resource-group <resource-group>
    
  2. Проверьте свойство Включено для авторизации RBAC (enableRbacAuthorization) для хранилища ключей.

Проверьте несколько хранилищ по группе ресурсов

Используйте команду az keyvault list , чтобы перечислить все хранилища в группе ресурсов и проверить состояние авторизации RBAC:

# List all key vaults in the resource group and check Azure RBAC status
az keyvault list --resource-group <resource-group> --query "[].{name:name, rbacEnabled:properties.enableRbacAuthorization}" --output table

Проверяйте несколько хранилищ по всей вашей подписке

Используйте команду az keyvault list , чтобы вывести список всех хранилищ в подписке и проверить состояние авторизации RBAC:

# List all key vaults in the subscription and check Azure RBAC status
az keyvault list --query "[].{name:name, rbacEnabled:properties.enableRbacAuthorization}" --output table

Определите дальнейшие действия

На основе текущей модели управления доступом следуйте приведенным ниже рекомендациям.

Хранилища, использующие Azure RBAC

Если хранилища ключей уже используют Azure RBAC, изменения управления доступом не требуются. Однако необходимо обновить все пакеты SDK для управления контрольной плоскостью Key Vault, ARM, Bicep, шаблоны Terraform и вызовы REST API для использования API версии 2026-02-01 или более поздней версии до 27 февраля 2027 г., когда старые версии API контрольной плоскости будут выведены из эксплуатации.

Хранилища, использующие политики доступа

Если хранилища ключей используют политики доступа (устаревшие версии) (enableRbacAuthorization = false или null), решите, следует ли перенести доступ на основе ролей (рекомендуется) или продолжить использование политик доступа. Дополнительные сведения о моделях управления доступом см. в статье Используйте Azure RBAC для управления доступом к Key Vault и наилучшие практики Azure Key Vault.

Выберите свой путь:

Используйте эту возможность для повышения уровня безопасности, перейдя с политик доступа к хранилищу на Azure RBAC. Подробные инструкции по миграции см. в статье Миграция от политики доступа к хранилищу Azure к модели разрешений на основе ролей.

После миграции обновите все пакеты SDK для управления плоскостями управления Key Vault, ARM, Bicep, шаблоны Terraform и вызовы REST API для использования API версии 2026-02-01 или более поздней.

Продолжить использование политик доступа

Политики доступа остаются полностью поддерживаемой моделью управления доступом.

  • Существующие хранилища: хранилища, уже использующие политики доступа, продолжают работать без изменений. Просто убедитесь, что пакеты SDK для управления плоскостями управления, ARM, Bicep, шаблоны Terraform и вызовы REST API используют API версии 2026-02-01 или более поздней до 27 февраля 2027 г.
  • Новые хранилища: При создании новых хранилищ с помощью API версии 2026-02-01 или более поздней необходимо явно установить enableRbacAuthorization в false, чтобы использовать политики доступа, как описано ниже.

Выберите один из следующих методов на основе вашего сценария:

Использование шаблонов ARM, Bicep, Terraform

При создании новых хранилищ ключей с использованием API версии 2026-02-01 или более поздней задайте enableRbacAuthorization значение false во всех шаблонах Key Vault ARM, Bicep, Terraform и вызовах REST API для использования политик доступа (устаревшая версия).

Использование команды Create Key Vault

При создании ключевых хранилищ с помощью API версии 2026-02-01 или более поздней необходимо указать конфигурацию политик доступа, чтобы избежать использования Azure RBAC по умолчанию.

Убедитесь, что у вас есть последняя версия модулей Azure CLI или PowerShell.

Обновите Azure CLI до последней версии. Дополнительные сведения см. в разделе "Как обновить Azure CLI".

Используйте соответствующую команду, чтобы создать хранилище ключей с политиками доступа:

Используйте команду az keyvault create и установите --enable-rbac-authorization false:

az keyvault create --name "testCreateTutorial" --resource-group "testResourceGroup" --enable-rbac-authorization false
Использование команд создания ресурсов

При создании новых хранилищ ключей с помощью API версии 2026-02-01 или более поздней установите enableRbacAuthorization в false, чтобы использовать политики доступа (устаревшие версии). Если это свойство не указано, по умолчанию используется значение true (Azure RBAC).

Используйте команду az resource create и задайте параметры "enableRbacAuthorization": false и --api-version "2026-02-01":

az resource create --resource-group $resourceGroup --name $vaultName --resource-type "Microsoft.KeyVault/vaults" --location $location --api-version "2026-02-01" --properties "{\"sku\": { \"family\": \"A\", \"name\": \"standard\" }, \"tenantId\": \"$tenantID\",\"enableRbacAuthorization\": false, \"accessPolicies\": []}"

Дальнейшие шаги