Предоставление доступа к ключам Key Vault, сертификатам и секретам с помощью управления доступом на основе ролей Azure
Статья
30.04.2025
Примечание
Поставщик ресурсов Key Vault поддерживает два типа ресурсов: хранилища и управляемые HSM. Управление доступом, описанное в этой статье, применяется только к хранилищам. Дополнительные сведения об управлении доступом для управляемого устройства HSM см. в статье Управляемое управление доступом HSM.
Управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, основанная на Azure Resource Manager , которая обеспечивает централизованное управление доступом ресурсов Azure.
Azure RBAC позволяет пользователям управлять ключами, секретами и сертификатами, а также предоставляет одно место для управления всеми разрешениями во всех хранилищах ключей.
Модель Azure RBAC позволяет пользователям задавать разрешения на разных уровнях области: группу управления, подписку, группу ресурсов или отдельные ресурсы. 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».
Выполните любое действие для сертификатов хранилища ключей, за исключением чтения секретов и частей ключей и управления разрешениями. Работает только для хранилищ ключей, использующих модель разрешений «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».
Чтение метаданных ключей и выполнение операций обертки/распаковки. Работает только для хранилищ ключей, использующих модель разрешений «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».
Управление встроенными назначениями ролей плоскости данных 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", нельзя использовать для изменения модели разрешений.
Включите разрешения Azure RBAC в новом хранилище ключей:
Включите разрешения Azure RBAC в существующем хранилище ключей:
Важно!
Настройка модели разрешений Azure RBAC запрещает все разрешения политик доступа. Это может привести к сбоям, если эквивалентные роли Azure не назначены.
Назначить роль
Примечание
Рекомендуется использовать уникальный идентификатор роли вместо имени роли в скриптах. Таким образом, если роль переименована, скрипты будут продолжать работать. В этом документе имя роли используется, чтобы повысить удобочитаемость.
Чтобы создать назначение ролей с помощью Azure PowerShell, используйте командлет New-AzRoleAssignment :
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName {role-name} -SignInName {assignee-upn} -Scope {scope}
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName Reader -ApplicationId {application-id} -Scope {scope}
Сведения о назначении ролей с помощью портала Azure см. в статье "Назначение ролей Azure" с помощью портала Azure. На портале Azure экран назначений ролей Azure доступен для всех ресурсов на вкладке управления доступом (IAM).
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Reader' -SignInName {assignee-upn} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Reader' -ApplicationId {application-id} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -SignInName {assignee-upn} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -ApplicationId {application-id} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
Секреты хранилища ключей, сертификаты, назначения ролей для ключевых областей следует использовать только для ограниченных сценариев, описанных здесь, чтобы соответствовать рекомендациям по обеспечению безопасности.
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -SignInName {i.e user@microsoft.com} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -ApplicationId {i.e 00001111-aaaa-2222-bbbb-3333cccc4444} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
Браузеры используют кэширование и обновление страницы требуется после удаления назначений ролей.
Пожалуйста, подождите несколько минут для обновления назначений ролей.
Проверьте добавление нового секрета без роли "Офицер секретов Key Vault" на уровне хранилища ключей.
Перейдите на вкладку управления доступом к хранилищу ключей (IAM) и удалите назначение роли "Специалист по секретам Key Vault" для этого ресурса.
Перейдите к ранее созданному секрету. Вы можете увидеть все скрытые свойства.
Создание нового секрета (секреты > +Создание и импорт) должно отобразить эту ошибку:
Проверьте редактирование секретов без роли "Секретный сотрудник Key Vault" на уровне секрета.
Перейдите на вкладку "Управление секретным доступом ( IAM) и удалите назначение роли "Специалист по секретам Key Vault" для этого ресурса.
Перейдите к ранее созданному секрету. Вы можете увидеть скрытые свойства.
Проверьте секреты, прочитанные без читательской роли на уровне хранилища ключей.
Перейдите на вкладку "Управление доступом (IAM)" группы ресурсов Key Vault и удалите назначение роли "Читатель Key Vault".
При переходе на вкладку «Секреты» хранилища ключей должна отображаться эта ошибка.
Могу ли я использовать назначение объектов в модели разрешений на основе ролей (RBAC) в Key Vault, чтобы обеспечить изоляцию для команд разработчиков внутри Key Vault?
Нет. Модель разрешений RBAC позволяет назначать доступ к отдельным объектам в Key Vault пользователю или приложению, но для любых административных операций, таких как управление доступом к сети, мониторингу и объектам, требуются разрешения уровня хранилища, которые затем предоставляют безопасную информацию операторам в командах приложений.
Продемонстрировать функции идентификатора Microsoft Entra для модернизации решений удостоверений, реализации гибридных решений и реализации управления удостоверениями.