Внимание
При использовании модели разрешений политики доступа пользователь с Contributor, Key Vault Contributor или любой другой ролью, включающей Microsoft.KeyVault/vaults/write разрешения для плоскости управления хранилища ключей, может предоставить себе доступ к плоскости данных, установив политику доступа Key Vault. Чтобы предотвратить несанкционированный доступ и управление хранилищами ключей, ключами, секретами и сертификатами, необходимо ограничить доступ роли участника к хранилищам ключей в модели разрешений политики доступа. Чтобы устранить этот риск, рекомендуется использовать модель разрешений на основе ролей контроль доступа (RBAC), которая ограничивает управление разрешениями ролями "Владелец" и "Администратор доступа пользователей", что позволяет четко разделить операции безопасности и административные обязанности. Дополнительные сведения см. в руководстве по RBAC Key Vault и что такое Azure RBAC?
Политика доступа Key Vault определяет, может ли данный субъект безопасности, а именно пользователь, приложение или группа пользователей, выполнять различные операции с секретами, ключами и сертификатами Key Vault. Политики доступа можно назначать с помощью портала Azure, Azure CLI или Azure PowerShell.
Хранилище ключей поддерживает до 1024 политик доступа, при этом каждая запись предоставляет отдельный набор разрешений для определенного субъекта безопасности. Из-за этого ограничения рекомендуется назначать политики доступа группам пользователей там, где это возможно, а не отдельным пользователям. Использование групп значительно упрощает управление разрешениями для нескольких пользователей в организации. Дополнительные сведения см. в разделе "Управление доступом к приложениям и ресурсам" с помощью групп Microsoft Entra.
Назначение политики доступа
На портале Azure перейдите к ресурсу Key Vault.
Выберите политики доступа, а затем нажмите кнопку "Создать".
Выберите необходимые разрешения в разделе "Разрешения ключа", "Разрешения секрета" и "Сертификаты".
В области выбора Principal введите имя пользователя, приложения или служебного субъекта в поле поиска и выберите соответствующий результат.
Если вы используете для приложения управляемое удостоверение, найдите и выберите имя приложения. (Дополнительные сведения о субъектах безопасности см. в разделе Проверка подлинности с помощью Key Vault.
Просмотрите изменения политики доступа и нажмите кнопку "Создать ", чтобы сохранить политику доступа.
Вернитесь на страницу политик доступа, убедитесь, что указана политика доступа.
Дополнительные сведения о создании групп в идентификаторе Microsoft Entra с помощью Azure CLI см. в статье az ad group create and az ad group member add.
Для локального выполнения команд Azure CLI установите Azure CLI.
Для выполнения команд непосредственно в облаке используйте Azure Cloud Shell.
Только локальный CLI: войдите в Azure, используя az login.
az login
При необходимости команда az login открывает окно браузера для ввода учетных данных.
Получение идентификатора объекта
Определите идентификатор объекта приложения, группы или пользователя, которому необходимо назначить политику доступа:
Приложения и другие учетные записи служб: для получения учетных записей служб используйте команду az ad sp list. Проверьте выходные данные команды, чтобы определить идентификатор объекта субъекта безопасности, которому необходимо назначить политику доступа.
az ad sp list --show-mine
Группы. Используйте команду az ad group list, чтобы отфильтровать результаты с помощью параметра --display-name:
az ad group list --display-name <search-string>
Пользователи. Используйте команду az ad user show, передающую адрес электронной почты пользователя в параметр --id:
az ad user show --id <email-address-of-user>
Назначение политики доступа
Чтобы назначить нужные разрешения, используйте команду az keyvault set-policy:
az keyvault set-policy --name myKeyVault --object-id <object-id> --secret-permissions <secret-permissions> --key-permissions <key-permissions> --certificate-permissions <certificate-permissions>
Замените <object-id> идентификатором объекта субъекта безопасности.
При назначении разрешений для этих конкретных типов необходимо включить только --secret-permissions, --key-permissions и --certificate-permissions. Допустимые значения для <secret-permissions>, <key-permissions> и <certificate-permissions> приведены в документации az keyvault set-policy.
Дополнительные сведения о создании групп в идентификаторе Microsoft Entra с помощью Azure PowerShell см. в статье New-AzADGroup и Add-AzADGroupMember.
Для локального выполнения команд установите Azure PowerShell, если еще не сделали этого.
Для выполнения команд непосредственно в облаке используйте Azure Cloud Shell.
Только локальное средство PowerShell:
Установите модуль PowerShell для Azure Active Directory.
Войдите в Azure.
Connect-AzAccount
Получение идентификатора объекта
Определите идентификатор объекта приложения, группы или пользователя, которому необходимо назначить политику доступа:
Приложения и другие субъекты-службы: используйте командлет Get-AzADServicePrincipal с параметром -SearchString, чтобы отфильтровать результаты по имени нужного субъекта-службы:
Get-AzADServicePrincipal -SearchString <search-string>
Группы: используйте командлет Get-AzADGroup с параметром -SearchString, чтобы отфильтровать результаты по имени нужной группы:
Get-AzADGroup -SearchString <search-string>
В выходных данных идентификатор объекта указывается как Id.
Пользователи: используйте командлет Get-AzADUser, передав адрес электронной почты пользователя в параметр -UserPrincipalName.
Get-AzAdUser -UserPrincipalName <email-address-of-user>
В выходных данных идентификатор объекта указывается как Id.
Назначение политики доступа
Чтобы назначить политику доступа, используйте командлет Set-AzKeyVaultAccessPolicy:
Set-AzKeyVaultAccessPolicy -VaultName <key-vault-name> -ObjectId <Id> -PermissionsToSecrets <secrets-permissions> -PermissionsToKeys <keys-permissions> -PermissionsToCertificates <certificate-permissions
При назначении разрешений для этих конкретных типов необходимо включить только -PermissionsToSecrets, -PermissionsToKeys и -PermissionsToCertificates. Допустимые значения для <secret-permissions>, <key-permissions> и <certificate-permissions> приведены в документе Set-AzKeyVaultAccessPolicy - Parameters.
Следующие шаги