Прочитать на английском

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


Предоставление доступа к ключам Key Vault, сертификатам и секретам с помощью управления доступом на основе ролей Azure

Примечание

Поставщик ресурсов Key Vault поддерживает два типа ресурсов: хранилища и управляемые HSM. Управление доступом, описанное в этой статье, применяется только к хранилищам. Дополнительные сведения об управлении доступом для управляемого устройства HSM см. в статье Управляемое управление доступом HSM.

Управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, основанная на Azure Resource Manager , которая обеспечивает централизованное управление доступом ресурсов Azure.

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

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

Дополнительные сведения см. в разделе "Управление доступом на основе ролей Azure" (Azure RBAC).

Рекомендации по назначению ролей для индивидуального использования ключей, секретов и сертификатов.

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

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

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

Встроенные роли Azure для операций в плоскости данных Key Vault

Примечание

Роль Key Vault Contributor предназначена только для операций управляющей плоскости для управления хранилищами ключей. Он не разрешает доступ к ключам, секретам и сертификатам.

Встроенная роль Описание Идентификатор
Администратор хранилища ключей Выполните все операции на плоскости данных в хранилище ключей и со всеми объектами в нем, включая сертификаты, ключи и секреты. Не удается управлять ресурсами хранилища ключей или управлять назначениями ролей. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». 00482a5a-887f-4fb3-b363-3b7fe8e74483
Читатель Key Vault Чтение метаданных хранилищ ключей и их сертификатов, ключей и секретов. Не удается считывать конфиденциальные значения, такие как содержимое секрета или материал ключа. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». 21090545-7ca7-4776-b22c-e363652d74d2
Оператор очистки Key Vault Разрешает постоянное удаление обратимо удаленных хранилищ. a68e7c17-0ab2-4c09-9a58-125dae29748c
Сотрудник по сертификатам Key Vault Выполните любое действие для сертификатов хранилища ключей, за исключением чтения секретов и частей ключей и управления разрешениями. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». a4417e6f-fecd-4de8-b567-7b0420556985
Пользователь сертификата Key Vault Чтение всего содержимого сертификата, включая часть секрета и ключа. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». db79e9a7-68ee-4b58-9aeb-b90e7c24fcba
Сотрудник по шифрованию Key Vault Выполните любое действие с ключами хранилища ключей, кроме управления правами доступа. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». 14b46e9e-c2b7-41b4-b07b-48a6ebf60603
Пользователь шифрования криптографического сервиса Key Vault Чтение метаданных ключей и выполнение операций обертки/распаковки. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». e147488a-f6f5-4113-8e2d-b22465e65bf6
Пользователь шифрования Key Vault Выполнение криптографических операций с помощью ключей. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». 12338af0-0e69-4776-bea7-57ae8d297424
Пользователь, отвечающий за выпуск криптографической службы Key Vault Ключи выпуска для конфиденциальных вычислений Azure и эквивалентных сред. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control».
Офицер по управлению секретами Key Vault Выполните любое действие по секретам хранилища ключей, кроме управления разрешениями. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Пользователь секретов Хранилища ключей Чтение секретного содержимого, включая секретную часть сертификата с закрытым ключом. Работает только для хранилищ ключей, использующих модель разрешений «Azure role-based access control». 4633458b-17de-408a-b874-0445c86b69e6

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

Управление встроенными назначениями ролей плоскости данных Key Vault

Встроенная роль Описание Идентификатор
Администратор доступа к данным Key Vault Управляйте доступом к Azure Key Vault, добавляя или удаляя назначения ролей, таких как администратор Key Vault, сотрудник по сертификатам Key Vault, офицер по криптографии Key Vault, пользователь сервиса шифрования Key Vault, пользователь криптографии Key Vault, читатель Key Vault, сотрудник по секретам Key Vault или пользователь секретов Key Vault. Включает условие ABAC для ограничения назначений ролей. 8b54135c-b56d-4d72-a534-26097cfdc8d8

Использование разрешений для секрета, ключа и сертификата в Azure RBAC с помощью Key Vault

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

Предпосылки

У вас должна быть подписка Azure. Если вы этого не сделали, вы можете создать бесплатную учетную запись перед началом работы.

Для управления назначениями ролей необходимо иметь Microsoft.Authorization/roleAssignments/write и Microsoft.Authorization/roleAssignments/delete разрешения, такие как администратор доступа к данным Key Vault (с ограниченными разрешениями только для назначения и удаления определенных ролей Key Vault), администратора доступа пользователей или владельца.

Включение разрешений Azure RBAC в Key Vault

Примечание

Для изменения модели разрешений требуется неограниченное разрешение Microsoft.Authorization/roleAssignments/write, которое является частью ролей "Владелец " и "Администратор доступа пользователей ". Роли администратора классической подписки, такие как "Администратор службы" и "Соадминистратор" или ограниченные "Администратор доступа к данным Key Vault", нельзя использовать для изменения модели разрешений.

  1. Включите разрешения Azure RBAC в новом хранилище ключей:

    Включение разрешений Azure RBAC — создание нового хранилища

  2. Включите разрешения Azure RBAC в существующем хранилище ключей:

    Активировать разрешения Azure RBAC — для существующего хранилища

Важно!

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

Назначить роль

Примечание

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

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

az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}

Полные сведения см. в статье "Назначение ролей Azure с помощью Azure CLI".

Назначение ролей в области группы ресурсов

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

Полные сведения см. в статье "Назначение ролей Azure с помощью Azure CLI".

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

Назначение ролей области действия Key Vault

az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}

Полные сведения см. в статье "Назначение ролей Azure с помощью Azure CLI".

Назначение ролей в области секретных данных

Примечание

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

az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret

Полные сведения см. в статье "Назначение ролей Azure с помощью Azure CLI".

Тестирование и проверка

Примечание

Браузеры используют кэширование и обновление страницы требуется после удаления назначений ролей. Пожалуйста, подождите несколько минут для обновления назначений ролей.

  1. Проверьте добавление нового секрета без роли "Офицер секретов Key Vault" на уровне хранилища ключей.

    1. Перейдите на вкладку управления доступом к хранилищу ключей (IAM) и удалите назначение роли "Специалист по секретам Key Vault" для этого ресурса.

      Удалить назначение — хранилище ключей

    2. Перейдите к ранее созданному секрету. Вы можете увидеть все скрытые свойства.

      Секретный вид с доступом

    3. Создание нового секрета (секреты > +Создание и импорт) должно отобразить эту ошибку:

      Создание нового секрета

  2. Проверьте редактирование секретов без роли "Секретный сотрудник Key Vault" на уровне секрета.

    1. Перейдите на вкладку "Управление секретным доступом ( IAM) и удалите назначение роли "Специалист по секретам Key Vault" для этого ресурса.

    2. Перейдите к ранее созданному секрету. Вы можете увидеть скрытые свойства.

      Секретный просмотр без доступа

  3. Проверьте секреты, прочитанные без читательской роли на уровне хранилища ключей.

    1. Перейдите на вкладку "Управление доступом (IAM)" группы ресурсов Key Vault и удалите назначение роли "Читатель Key Vault".

    2. При переходе на вкладку «Секреты» хранилища ключей должна отображаться эта ошибка.

      Вкладка секрета — ошибка

Создание пользовательских ролей

команда создания определения роли az

az role definition create --role-definition '{ \
   "Name": "Backup Keys Operator", \
   "Description": "Perform key backup/restore operations", \
    "Actions": [ 
    ], \
    "DataActions": [ \
        "Microsoft.KeyVault/vaults/keys/read ", \
        "Microsoft.KeyVault/vaults/keys/backup/action", \
         "Microsoft.KeyVault/vaults/keys/restore/action" \
    ], \
    "NotDataActions": [ 
   ], \
    "AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'

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

Пользовательские роли Azure

Часто задаваемые вопросы

Могу ли я использовать назначение объектов в модели разрешений на основе ролей (RBAC) в Key Vault, чтобы обеспечить изоляцию для команд разработчиков внутри Key Vault?

Нет. Модель разрешений RBAC позволяет назначать доступ к отдельным объектам в Key Vault пользователю или приложению, но для любых административных операций, таких как управление доступом к сети, мониторингу и объектам, требуются разрешения уровня хранилища, которые затем предоставляют безопасную информацию операторам в командах приложений.

Подробнее


Дополнительные ресурсы

Обучение

Модуль

Обеспечение безопасности ресурсов Azure с помощью управления доступом на основе ролей Azure (Azure RBAC) - Training

Узнайте, как использовать управление доступом на основе ролей Azure для эффективного управления доступом вашей команды к ресурсам Azure.

Сертификация

Microsoft Certified: Identity and Access Administrator Associate - Certifications

Продемонстрировать функции идентификатора Microsoft Entra для модернизации решений удостоверений, реализации гибридных решений и реализации управления удостоверениями.