Warning
Для повышения безопасности используйте модель управления доступом на основе ролей (RBAC) вместо политик доступа при управлении Azure Key Vault. RBAC ограничивает управление разрешениями только ролям "Владелец" и "Администратор доступа пользователей", обеспечивая четкое разделение между задачами безопасности и администрирования. Дополнительные сведения см. в разделе "Что такое Azure RBAC" и в руководстве по RBAC Key Vault.
С помощью модели разрешений политики доступа пользователи, обладающие ролью Contributor, Key Vault Contributor или любой ролью, включающей разрешения Microsoft.KeyVault/vaults/write, могут предоставить себе доступ к уровню данных, настроив политику доступа Key Vault. Это может привести к несанкционированным доступу и управлению хранилищами ключей, ключами, секретами и сертификатами. Чтобы уменьшить этот риск, ограничьте доступ роли участника к хранилищам ключей при использовании модели политики доступа.
Политика доступа 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.
Дальнейшие шаги