Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
поставщик ресурсов Key Vault поддерживает два типа ресурсов: хранилища и управляемых аппаратных модулей безопасности (HSM). Контроль доступа, описанный в этой статье, относится только к хранилищам. Дополнительные сведения об управлении доступом к управляемым HSM см. в разделе Managed HSM access control.
Контроль доступа Azure на основе ролей (Azure RBAC) — это система авторизации, основанная на Azure Resource Manager, которая обеспечивает централизованное управление доступом к ресурсам Azure. Начиная с API версии 2026-02-01, Azure RBAC — это модель управления доступом по умолчанию для недавно созданных хранилищ ключей. Дополнительные сведения об этом изменении и подготовке см. в статье "Подготовка к API Key Vault" версии 2026-02-01 и более поздних версий.
Azure RBAC позволяет пользователям управлять ключами, секретами и разрешениями сертификатов, а также предоставляет одно место для управления всеми разрешениями во всех хранилищах ключей.
Модель RBAC Azure позволяет пользователям задавать разрешения на различные уровни области: группу управления, подписку, группу ресурсов или отдельные ресурсы. Azure RBAC для key vault также позволяет пользователям иметь отдельные разрешения на отдельные ключи, секреты и сертификаты.
Для получения дополнительной информации см. контроль доступа на основе ролей в Azure (Azure RBAC).
Обзор модели доступа Key Vault
Доступ к хранилищу ключей осуществляется через два интерфейса: управляющая плоскость и плоскость данных.
Плоскость управления — это место, где осуществляется управление самим Key Vault. Операции в этой плоскости включают создание и удаление хранилищ ключей, получение свойств Хранилищ ключей и обновление политик доступа.
Плоскость данных — это место, где вы работаете с данными, хранящимися в хранилище ключей. Вы можете добавлять, удалять и изменять ключи, секреты и сертификаты.
Оба самолета используют Microsoft Entra ID для проверки подлинности. Для авторизации контрольная плоскость использует управление доступом на основе ролей Azure (Azure RBAC), а плоскость данных использует политику доступа к Key Vault (устаревшая версия) или Azure RBAC для операций плоскости данных Key Vault.
Чтобы получить доступ к хранилищу ключей в любом контексте, все вызывающие (пользователи или приложения) должны иметь надлежащую проверку подлинности и авторизацию. Аутентификация устанавливает личность вызывающего. Авторизация определяет, какие операции может выполнять вызывающий объект.
Приложения получают доступ к плоскостям через конечные точки. Системы управления доступом для двух плоскостей работают независимо. Чтобы предоставить приложению доступ к использованию ключей в хранилище ключей, вы предоставляете доступ к плоскости данных с помощью Azure RBAC или политики доступа к хранилищу ключей. Чтобы предоставить пользователю доступ к свойствам и тегам 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 ID. Вы предоставляете пользователям или группам возможность управлять хранилищами ключей в группе ресурсов. Вы можете предоставить доступ на определенном уровне области, назначив соответствующие роли Azure. Чтобы предоставить пользователю доступ для управления хранилищами ключей, необходимо назначить предопределенную роль Key Vault Contributor пользователю в определенной области. Следующие уровни областей можно назначить роли Azure:
- Subscription: роль Azure, назначенная на уровне подписки, применяется ко всем группам ресурсов и ресурсам в этой подписке.
- Resource group: роль Azure, назначенная на уровне группы ресурсов, применяется ко всем ресурсам в этой группе ресурсов.
- Specific resource: роль Azure, назначенная конкретному ресурсу, применяется к данному ресурсу. В этом случае ресурс представляет собой конкретное хранилище ключей.
Существует несколько предопределенных ролей. Если заданные роли не соответствуют вашим потребностям, вы можете определить собственные. Дополнительные сведения см. в разделе Azure RBAC: встроенные роли.
Это важно
Если у пользователя есть Contributor разрешения на плоскость управления хранилища ключей, он может предоставить себе доступ к плоскости данных, задав политику доступа в Key Vault. Вы должны строго контролировать, у кого есть доступ к ролям в хранилищах ключей. Убедитесь, что только авторизованные лица могут получить доступ и управлять вашими хранилищами ключей, ключами, секретами и сертификатами.
Рекомендации по назначению ролей для индивидуального использования ключей, секретов и сертификатов.
Наша рекомендация заключается в использовании одного хранилища для каждого приложения в каждой среде (разработка, предпроизводственная и рабочая) с ролями, назначенными в области хранилища ключей.
Назначение ролей для отдельных ключей, секретов и сертификатов не рекомендуется. Исключения включают сценарии, в которых:
- Для доступа к отдельным тайнам требуется доступ отдельных пользователей; например, когда пользователям необходимо считывать свой закрытый ключ SSH для аутентификации на виртуальной машине с помощью Azure Bastion.
- Отдельные секреты должны совместно использоваться несколькими приложениями, например, когда одному приложению необходимо получить доступ к данным из другого приложения.
Дополнительные сведения о рекомендациях по управлению Azure Key Vault см. в следующем разделе:
Azure встроенные роли для операций уровня данных Key Vault
Замечание
Роль Key Vault Contributor предназначена только для операций с управляющей плоскостью с целью управления хранилищами ключей. Он не позволяет доступ к ключам, секретам и сертификатам.
| Встроенная роль | Описание | Идентификатор |
|---|---|---|
| Администратор Key Vault | Выполните все операции с плоскостью данных для хранилища ключей и всех его объектов, включая сертификаты, ключи и тайны. Невозможно управлять ресурсами ключевого хранилища или назначениями ролей. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
| средство чтения Key Vault | Чтение метаданных хранилищ ключей и их сертификатов, ключей и секретов. Не удается считывать конфиденциальные значения, такие как содержимое секрета или материал ключа. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | 21090545-7ca7-4776-b22c-e363652d74d2 |
| Оператор очистки Key Vault | Разрешает постоянное удаление обратимо удаленных хранилищ. | a68e7c17-0ab2-4c09-9a58-125dae29748c |
| сотрудник по сертификатам Key Vault | Выполните любое действие с сертификатами хранилища ключей, кроме управления разрешениями. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | a4417e6f-fecd-4de8-b567-7b0420556985 |
| пользователь сертификата Key Vault | Чтение всего содержимого сертификата, включая часть секрета и ключа. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
| Сотрудник по шифрованию Key Vault | Выполните любое действие для ключей key vault, за исключением управления разрешениями. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | 14b46e9e-c2b7-41b4-b07b-48a6ebf60603 |
| пользователь криптографической службы Key Vault | Чтение метаданных ключей и выполнение операций обертки/распаковки. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | e147488a-f6f5-4113-8e2d-b22465e65bf6 |
| пользователь шифрования Key Vault | Выполнение криптографических операций с помощью ключей. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | 12338af0-0e69-4776-bea7-57ae8d297424 |
| пользователь выпуска службы шифрования Key Vault | Ключи для выпуска для Azure Confidential Computing и эквивалентных сред. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | |
| специалист по ключевым секретам Key Vault | Выполните любое действие с секретами хранилища ключей, кроме управления разрешениями. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
| Пользователь секретов Key Vault | Чтение секретного содержимого, включая секретную часть сертификата с закрытым ключом. Работает только для хранилищ ключей, использующих модель разрешений на основе ролей в Azure. | 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
Новая модель разрешений RBAC Azure для Key Vault предлагает альтернативу модели разрешений политики доступа к хранилищу.
Предпосылки
У вас должна быть Azure подписка. Если вы этого не сделали, вы можете создать учетную запись free перед началом работы.
Для управления назначениями ролей необходимо иметь разрешения Microsoft.Authorization/roleAssignments/write и Microsoft.Authorization/roleAssignments/delete. Например, Администратор доступа к данным Key Vault (с ограниченными разрешениями только для назначения и удаления определенных ролей Key Vault), Администратор доступа пользователя или владелец.
Включение разрешений Azure RBAC для Key Vault
Замечание
Для изменения модели разрешений требуется неограниченное разрешение Microsoft.Authorization/roleAssignments/write, которое входит в роли Owner и User Access Administrator. Роли администратора классической подписки, такие как "Администратор службы" и "Соадминистратор", или ограниченные "Администратор доступа к данным Key Vault" не могут использоваться для изменения модели разрешений.
Включите разрешения RBAC Azure для новых хранилищ ключей.
Включите разрешения 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.
Тестирование и проверка
Замечание
Браузеры используют кэширование и обновление страницы требуется после удаления назначений ролей. Пожалуйста, подождите несколько минут для обновления назначений ролей.
Проверьте добавление нового секрета без роли "Офицер секретов Key Vault" на уровне хранилища ключей.
Перейдите на вкладку контроля доступа (IAM) Key Vault и удалите назначение роли "Офицер секретов хранилища ключей" для этого ресурса.
Перейдите к ранее созданному секрету. Вы можете увидеть все скрытые свойства.
Создание нового секрета (секреты > +Создание и импорт) должно отобразить эту ошибку:
Проверьте редактирование секретов без роли "Key Vault Secret Officer" на уровне секрета.
Перейдите на предварительно созданную вкладку Access Control (IAM) и удалите назначение роли Key Vault Secrets Officer для этого ресурса.
Перейдите к ранее созданному секрету. Вы можете увидеть скрытые свойства.
Проверить чтение секретов без роли читателя на уровне хранилища ключей.
Перейдите на вкладку группового ресурса хранилища ключей "Управление доступом (IAM)" и удалите назначение роли "Читатель хранилища ключей".
Перейдя на вкладку "Секреты" хранилища ключей, должна появиться эта ошибка:
Создание пользовательских ролей
команда создания определения роли 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.
Часто задаваемые вопросы
Можно ли использовать назначения RBAC Azure на уровне объектов для обеспечения изоляции команд приложений в Key Vault?
Нет. Модель разрешений RBAC в Azure позволяет назначать доступ к отдельным объектам в Key Vault пользователю или приложению, но для выполнения административных операций, таких как управление доступом в сети, мониторинг и управление объектами, требуются разрешения уровня всего хранилища, которые затем предоставляют конфиденциальную информацию операторам в командах разработчиков.
Подробнее
- Обзор RBAC в Azure
- Назначение ролей Azure с помощью портала Azure
- Руководство по Пользовательским ролям
- Обеспечьте безопасность вашего Azure Key Vault