Поделиться через


Переход на Azure RBAC из политик доступа

Azure Key Vault предлагает две модели управления доступом: Azure управление доступом на основе ролей (Azure RBAC) и модель политики доступа. Azure RBAC — это стандартная и рекомендуемая модель управления доступом для Azure Key Vault. Начиная с API версии 2026-02-01, Azure RBAC — это модель управления доступом по умолчанию для новых хранилищ. Сравнение двух методов авторизации см. в разделе Azure управление доступом на основе ролей (Azure RBAC) и политики доступа.

Сведения о подготовке существующих развертываний для этого изменения см. в разделе Подготовка к API Key Vault версии 2026-02-01 и более поздних версий.

В этой статье содержатся сведения, необходимые для переноса хранилища ключей из модели политики доступа в модель Azure RBAC.

Политики доступа к сопоставлению ролей Azure

Azure RBAC имеет несколько встроенных ролей Azure, которые можно назначать пользователям, группам, служебным принципалам и управляемым удостоверениям. Если встроенные роли не соответствуют конкретным потребностям вашей организации, можно создать собственные Azure настраиваемые роли.

Встроенные роли Key Vault для управления доступом к ключам, сертификатам и секретам:

  • Администратор Key Vault
  • средство чтения Key Vault
  • Оператор очистки Key Vault
  • сотрудник по сертификатам Key Vault
  • пользователь сертификата Key Vault
  • Сотрудник по шифрованию Key Vault
  • пользователь шифрования Key Vault
  • пользователь службы шифрования Key Vault Crypto Service
  • пользователь релиза службы Key Vault Crypto
  • сотрудник по секретам Key Vault
  • Пользователь секретов Key Vault

Дополнительные сведения о существующих встроенных ролях см. в разделе встроенные роли Azure

Политики доступа к хранилищу можно назначать с указанием отдельных разрешений или с предустановленными шаблонами разрешений.

Предопределенные шаблоны разрешений для политик доступа:

  • управление ключами, секретами и сертификатами;
  • Управление ключами и секретами
  • управление секретами и сертификатами;
  • Управление ключами
  • Управление секретами
  • Управление сертификатами
  • Соединитель SQL Server
  • Azure Data Lake Storage или служба хранилища Azure
  • Azure Backup
  • ключ клиента Exchange Online
  • ключ клиента SharePoint online
  • Azure информация BYOK

Доступ к шаблонам политик для сопоставления ролей Azure

Шаблон политики доступа Операции роль Azure
управление ключами, секретами и сертификатами; Ключи: все операции
Сертификаты: все операции
Секреты: все операции
Администратор Key Vault
Управление ключами и секретами Ключи: все операции
Секреты: все операции
Сотрудник по шифрованию Key Vault
сотрудник по секретам Key Vault
управление секретами и сертификатами; Сертификаты: все операции
Секреты: все операции
сотрудник по сертификатам Key Vault
сотрудник по секретам Key Vault
Управление ключами Ключи: всех операций Сотрудник по шифрованию Key Vault
Управление секретами Секреты: все операции сотрудник по секретам Key Vault
Управление сертификатами Сертификаты: все операции сотрудник по сертификатам Key Vault
Соединитель SQL Server Ключи: получение, перечисление, упаковка ключа, распаковка ключа пользователь службы шифрования Key Vault Crypto Service
Azure Data Lake Storage или служба хранилища Azure Ключи: получение, перечисление, распаковка ключа Н/П
Требуется настраиваемая роль
Azure Backup Ключи: получить, список, резервное копирование
Секреты: получение, вывод списка, резервное копирование
Н/П
Требуется настраиваемая роль
ключ клиента Exchange Online Ключи: получение, перечисление, упаковка ключа, распаковка ключа пользователь службы шифрования Key Vault Crypto Service
ключ клиента Exchange Online Ключи: получение, перечисление, упаковка ключа, распаковка ключа пользователь службы шифрования Key Vault Crypto Service
Azure Информация BYOK Ключи: получение, расшифровка, подписание Н/П
Требуется настраиваемая роль

Соответствие областей заданий

Azure RBAC для Key Vault позволяет назначать роли в следующих областях:

  • Группа управления
  • Подписка
  • Группа ресурсов
  • ресурс Key Vault
  • отдельные ключ, секрет и сертификат.

Политики доступа ограничены назначением политик только на уровне ресурсов Key Vault.

Как правило, рекомендуется использовать одно хранилище ключей на каждое приложение и управлять доступом на уровне хранилища ключей. Существуют сценарии, при которых управление доступом упрощается, если осуществлять его в других областях.

  • Инфраструктура, администраторы безопасности и операторы: управление группами хранилищ ключей на уровне группы управления, подписки или группы ресурсов с помощью политик доступа к хранилищу требует поддержки политик для каждого хранилища ключей. Azure RBAC позволяет создавать одно назначение ролей в группе управления, подписке или группе ресурсов. Это назначение будет действовать в отношении всех новых хранилищ ключей, созданных в той же области. В этом сценарии рекомендуется использовать управление привилегированными пользователями с доступом по требованию по сравнению с постоянным доступом.

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

Способы миграции

Выполните следующие действия, чтобы перенести хранилище ключей в Azure RBAC из политик доступа:

  • Подготовка. Убедитесь, что у вас есть соответствующие разрешения и инвентаризация приложений.
  • Инвентаризация: документируйте все существующие политики доступа и разрешения.
  • Создание ролей Azure RBAC: назначьте соответствующие роли Azure RBAC каждому субъекту безопасности.
  • Enable Azure RBAC: переключите хранилище ключей на использование модели управления доступом Azure RBAC.
  • Проверка: проверка доступа, чтобы убедиться, что все приложения и пользователи сохраняют соответствующий доступ.
  • Мониторинг. Настройка мониторинга и оповещения для проблем с доступом.

Требуемые условия

Прежде чем начать миграцию, убедитесь, что у вас есть следующее:

  1. Необходимые разрешения: у вас должны быть следующие разрешения в хранилище ключей:

    • Разрешение Майкрософт.Authorization/roleAssignments/write, включенное в роли "Администратор доступа владельца" и "Администратор доступа пользователей".
    • разрешение Майкрософт.KeyVault/vaults/write, включено в роль Key Vault Contributor

    Примечание.

    Роли администратора классической подписки (администратор службы и Co-Administrator) не поддерживаются.

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

Инвентаризация текущих политик доступа

Задокументируйте все существующие политики доступа, отметив субъекты безопасности (пользователи, группы, субъекты-службы) и их разрешения.

Чтобы получить политики доступа, используйте команду Azure CLI az keyvault show:

# List all current access policies
az keyvault show --name <vault-name> --resource-group <resource-group> --query properties.accessPolicies

Создание эквивалентных назначений ролей RBAC Azure

Для каждого субъекта безопасности с политикой доступа создайте одно или несколько назначений ролей RBAC Azure на основе приведенной выше таблицы сопоставления.

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

# Example for Key Vault Administrator role:
az role assignment create --role "Key Vault Administrator" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Secrets Officer:
az role assignment create --role "Key Vault Secrets Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Crypto Officer:
az role assignment create --role "Key Vault Crypto Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Certificates Officer:
az role assignment create --role "Key Vault Certificates Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

Включение Azure RBAC

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

Используйте команду az keyvault update, чтобы включить Azure RBAC:

# Switch the vault to Azure RBAC
az keyvault update --name <vault-name> --resource-group <resource-group> --enable-rbac-authorization true

Проверка доступа

Проверьте доступ к хранилищу, чтобы убедиться, что все приложения и пользователи по-прежнему могут выполнять необходимые операции.

Проверьте доступ с помощью следующих команд:

# Try to list secrets to verify access
az keyvault secret list --vault-name <vault-name>

# Try to get a secret to verify access
az keyvault secret show --vault-name <vault-name> --name <secret-name>

Настройка мониторинга и оповещения

После миграции настройте надлежащий мониторинг для обнаружения проблем с доступом:

Используйте команду az monitor diagnostic-settings create:

# Enable diagnostics logging for Key Vault
az monitor diagnostic-settings create --resource <vault-id> --name KeyVaultLogs --logs "[{\"category\":\"AuditEvent\",\"enabled\":true}]" --workspace <log-analytics-workspace-id>

Управление миграцией с помощью Политика Azure

Служба Политика Azure позволяет вам контролировать миграцию Azure RBAC в ваших хранилищах. Вы можете создать настраиваемое определение политики для аудита существующих хранилищ ключей и применить все новые хранилища ключей для использования Azure RBAC.

Создание и назначение определения политики для Key Vault Azure RBAC

  1. Перейдите к ресурсу политики.
  2. Выберите Assignments в разделе Authoring слева на странице Политика Azure
  3. Выберите "Назначить политику " в верхней части страницы
  4. Введите следующие сведения:
  5. Завершите задание, сначала проверив его, а затем создав его

После назначения политики завершение проверки может занять до 24 часов. После завершения проверки вы увидите результаты соответствия на панели мониторинга Политика Azure.

Политика доступа к средству сравнения Azure RBAC

Внимание

Это средство создается и поддерживается участниками сообщества Майкрософт и без официальной поддержки служб поддержки клиентов. Инструмент предоставляется "как есть" без каких-либо гарантий.

Средство PowerShell для сравнения политик доступа Key Vault с назначенными ролями Azure RBAC, чтобы помочь в миграции с политик доступа на Azure RBAC. Средство предназначено для обеспечения правильности при миграции существующих Key Vault на Azure RBAC, чтобы гарантировать, что назначенные роли с базовыми действиями данных охватывают существующие политики доступа.

Устранение распространенных проблем

  • Задержка назначения ролей: для распространения назначений ролей может потребоваться несколько минут. Реализуйте логику повторных попыток в приложениях.
  • Утраченные назначения ролей после восстановления: Назначения ролей не сохраняются при восстановлении хранилища после обратимого удаления. После восстановления необходимо восстановить все назначения ролей.
  • Ошибки отказа в доступе: проверьте, что:
    • Правильные роли назначаются в правильной области охвата
    • Управляемый служебный субъект или удостоверение имеет необходимые точные разрешения.
    • Правила доступа к сети не блокируют подключение
  • Сбой скриптов после миграции: обновите скрипты, которые использовали политики доступа, заменив их на назначения ролей.

Подробнее