Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Поставщик ресурсов Key Vault поддерживает два типа ресурсов: хранилища и управляемые HSM. Управление доступом, описанное в этой статье, применяется только к хранилищам. Дополнительные сведения об управлении доступом для управляемого устройства HSM см. в статье Управляемое управление доступом HSM.
Управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, основанная на Azure Resource Manager , которая обеспечивает централизованное управление доступом ресурсов Azure.
Azure RBAC позволяет пользователям управлять ключами, секретами и сертификатами, а также предоставляет одно место для управления всеми разрешениями во всех хранилищах ключей.
Модель Azure RBAC позволяет пользователям задавать разрешения на разных уровнях области: группу управления, подписку, группу ресурсов или отдельные ресурсы. Azure RBAC для хранилища ключей также позволяет пользователям иметь отдельные разрешения на отдельные ключи, секреты и сертификаты.
Дополнительные сведения см. в разделе "Управление доступом на основе ролей Azure" (Azure RBAC).
Общие сведения о модели доступа к Key Vault
Доступ к хранилищу ключей управляется двумя интерфейсами: плоскости управления и плоскости данных.
Плоскость управления — это место, в котором вы управляете Key Vault. Операции в этой области включают создание и удаление хранилищ ключей, получение свойств ключевого хранилища и обновление политики доступа.
Плоскость данных — это место, в котором вы работаете с данными, хранящимися в хранилище ключей. Вы можете добавлять, удалять и изменять ключи, секреты и сертификаты.
Оба самолета используют идентификатор Microsoft Entra для проверки подлинности. Для авторизации плоскость управления использует управление доступом на основе ролей Azure (Azure RBAC), а плоскость данных использует политику доступа Key Vault (устаревшую версию) или Azure RBAC для операций плоскости данных Key Vault.
Чтобы получить доступ к хранилищу ключей в одной из плоскостей, все вызывающие (пользователи или приложения) должны иметь соответствующую проверку подлинности и авторизацию. Аутентификация устанавливает личность вызывающего. Авторизация определяет, какие операции может выполнять вызывающий объект.
Приложения получают доступ к плоскостям через конечные точки. Элементы управления доступом для двух плоскостей работают независимо. Чтобы предоставить приложению доступ к использованию ключей в Key Vault (хранилище ключей), необходимо предоставить доступ на уровне данных с помощью Azure RBAC или политики доступа в Key Vault. Чтобы предоставить пользователю доступ на чтение к свойствам и тегам Key Vault, но не к данным (ключи, секреты или сертификаты), вы предоставляете доступ на уровне управления с помощью Azure RBAC.
Конечные точки плоскости доступа
В следующей таблице показаны конечные точки для плоскостей управления и данных.
| Плоскость доступа | Конечные точки доступа | Operations | Механизм контроля доступа |
|---|---|---|---|
| Контрольная плоскость |
Международная контактная информация: management.azure.com:443 Microsoft Azure, управляемый 21Vianet: management.chinacloudapi.cn:443 Azure для государственных организаций США: management.usgovcloudapi.net:443 |
Создание, чтение, обновление и удаление хранилищ ключей Настройка политик доступа Key Vault Настройка тегов Key Vault |
Azure RBAC |
| Плоскость данных |
Международная контактная информация: <vault-name.vault.azure.net:443> Microsoft Azure, управляемый 21Vianet: <vault-name.vault.azure.cn:443> Azure для государственных организаций США: <vault-name.vault.usgovcloudapi.net:443> |
Ключи: шифрование, расшифровка, wrapKey, unwrapKey, подпись, проверка, получение, список, создание, обновление, импорт, удаление, восстановление, восстановление системы, очистка, ротация, получитьПолитикуРотации, установитьПолитикуРотации, release Сертификаты: управление контактами, получение издателей, перечисление издателей, назначение издателей, удаление издателей, управление издателями, получить, перечислить, создать, импортировать, обновить, удалить, восстановить, резервное копирование, восстановление, очистка Секреты: get, list, set, delete, recover, backup, restore, purge |
Политика доступа Key Vault (устаревшая версия) или Azure RBAC |
Управление административным доступом к Key Vault
При создании хранилища ключей в группе ресурсов вы управляете доступом с помощью идентификатора Microsoft Entra. Вы предоставляете пользователям или группам возможность управлять хранилищами ключей в группе ресурсов. Вы можете предоставить доступ на определенном уровне области, назначив соответствующие роли Azure. Чтобы предоставить пользователю доступ к управлению хранилищами ключей, ему необходимо назначить предопределенную роль Key Vault Contributor в определенной области. Следующие уровни областей ответственности можно назначить роли Azure:
- Подписка: роль Azure, назначенная на уровне подписки, применяется ко всем группам ресурсов и ресурсам в рамках данной подписки.
- Группа ресурсов: роль Azure, назначенная на уровне группы ресурсов, применяется ко всем ресурсам в этой группе ресурсов.
- Определенный ресурс: роль Azure, назначенная для определенного ресурса, применяется к данному ресурсу. В этом случае ресурс является определенным хранилищем ключей.
Существует несколько предопределенных ролей. Если заданные роли не соответствуют вашим потребностям, вы можете определить собственные. Дополнительные сведения см. в статье Azure RBAC: встроенные роли.
Это важно
Если у пользователя есть Contributor разрешения на плоскость управления хранилищем ключей, пользователь может предоставить себе доступ к плоскости данных, задав политику доступа Key Vault. Контроль за доступом с Contributor ролью к вашим хранилищам ключей должен быть строгим. Убедитесь, что только авторизованные лица могут получать доступ к хранилищам ключей, ключам, секретам и сертификатам, а также управлять ими.
Рекомендации по назначению ролей для индивидуального использования ключей, секретов и сертификатов.
Мы рекомендуем использовать отдельное хранилище ключей для каждого приложения в каждой среде (разработка, предпродукционный и рабочий этапы) с ролями, назначенными в рамках конкретного хранилища ключей.
Назначение ролей для отдельных ключей, секретов и сертификатов не рекомендуется. Исключения включают сценарии, в которых:
- Для отдельных секретов требуется отдельный доступ пользователей; Например, когда пользователи должны считывать закрытый ключ SSH для проверки подлинности на виртуальной машине с помощью Бастиона Azure.
- Отдельные секреты должны совместно использоваться несколькими приложениями; например, когда одному приложению требуется доступ к данным из другого приложения.
Дополнительные сведения об управлении 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", нельзя использовать для изменения модели разрешений.
Включите разрешения 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 [email protected]} --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 [email protected]} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
Полные сведения см. в статье "Назначение ролей Azure с помощью Azure CLI".
Тестирование и проверка
Замечание
Браузеры используют кэширование и обновление страницы требуется после удаления назначений ролей. Пожалуйста, подождите несколько минут для обновления назначений ролей.
Проверьте добавление нового секрета без роли "Офицер секретов Key Vault" на уровне хранилища ключей.
Перейдите на вкладку управления доступом к хранилищу ключей (IAM) и удалите назначение роли "Специалист по секретам Key Vault" для этого ресурса.
Перейдите к ранее созданному секрету. Вы можете увидеть все скрытые свойства.
Создание нового секрета (секреты > +Создание и импорт) должно отобразить эту ошибку:
Проверьте редактирование секретов без роли "Секретный сотрудник Key Vault" на уровне секрета.
Перейдите на вкладку "Управление секретным доступом ( IAM) и удалите назначение роли "Специалист по секретам Key Vault" для этого ресурса.
Перейдите к ранее созданному секрету. Вы можете увидеть скрытые свойства.
Проверьте секреты, прочитанные без читательской роли на уровне хранилища ключей.
Перейдите на вкладку "Управление доступом (IAM)" группы ресурсов Key Vault и удалите назначение роли "Читатель Key Vault".
При переходе на вкладку «Секреты» хранилища ключей должна отображаться эта ошибка.
Создание пользовательских ролей
команда создания определения роли 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}"] \
}'
Дополнительные сведения о создании пользовательских ролей см. в следующем разделе:
Используйте ИИ для генерации назначений ролей Key Vault
GitHub Copilot поможет вам создать правильные команды Azure CLI или PowerShell для назначений ролей Key Vault на основе конкретных требований.
I need to set up Azure RBAC for my Key Vault. Help me create the role assignment commands for the following scenario:
- Key vault name: my-app-keyvault
- Resource group: my-app-rg
- Subscription ID: <my-subscription-id>
- I need to grant a managed identity (client ID: <managed-identity-client-id>) the ability to read and write secrets, but not manage keys or certificates.
Provide both Azure CLI and PowerShell commands, and explain which built-in role is most appropriate for this least-privilege scenario.
GitHub Copilot работает на ИИ, поэтому возможны неожиданности и ошибки. Дополнительные сведения см. в Часто задаваемые вопросы по Copilot.
Часто задаваемые вопросы
Можно ли использовать назначения области объектов Azure RBAC для обеспечения изоляции для команд приложений в Key Vault?
Нет. Модель разрешений Azure RBAC позволяет назначать доступ к отдельным объектам в Key Vault пользователю или приложению, но для любых административных операций, таких как управление доступом к сети, мониторинг и управление объектами, требуются разрешения уровня хранилища, которые затем предоставляют безопасные сведения операторам в командах приложений.