Warning
Для повышения безопасности используйте модель разрешений Role-Based контроль доступа (RBAC вместо политик доступа при управлении Azure Key Vault. RBAC ограничивает управление разрешениями только ролям "Владелец" и "Администратор доступа пользователей", обеспечивая четкое разделение между задачами безопасности и администрирования. Дополнительные сведения см. в разделе Что такое Azure RBAC? и в руководстве по управлению доступом в Key Vault.
С помощью модели разрешений политики доступа пользователи с разрешениями Contributor, Key Vault Contributor или любая роль, включающая разрешения Майкрософт.KeyVault/vaults/write, могут предоставить себе доступ к плоскости данных, настроив политику доступа Key Vault. Это может привести к несанкционированным доступу и управлению хранилищами ключей, ключами, секретами и сертификатами. Чтобы уменьшить этот риск, ограничьте доступ роли участника к хранилищам ключей при использовании модели политики доступа.
Политика доступа Key Vault определяет, может ли данный субъект безопасности, а именно пользователь, приложение или группа пользователей, выполнять различные операции с Key Vault secrets, keys и certificates. Политики доступа можно назначить с помощью портала Azure, Azure CLI или Azure PowerShell.
Хранилище ключей поддерживает до 1024 политик доступа, при этом каждая запись предоставляет отдельный набор разрешений для определенного субъекта безопасности. Из-за этого ограничения рекомендуется назначать политики доступа группам пользователей там, где это возможно, а не отдельным пользователям. Использование групп значительно упрощает управление разрешениями для нескольких пользователей в организации. Дополнительные сведения см. в разделе Управление доступом к приложению и ресурсам с использованием групп Microsoft Entra.
Назначение политики доступа
На портале Azure перейдите к ресурсу Key Vault.
Выберите политики доступа, а затем нажмите кнопку "Создать".
Выберите необходимые разрешения в разделе "Разрешения ключа", "Разрешения секрета" и "Сертификаты".
В области выбора Principal введите имя пользователя, приложения или служебного субъекта в поле поиска и выберите соответствующий результат.
Если вы используете для приложения управляемое удостоверение, найдите и выберите имя приложения. (Дополнительные сведения о субъектах безопасности см. в разделе аутентификация Key Vault.
Просмотрите изменения политики доступа и нажмите кнопку "Создать ", чтобы сохранить политику доступа.
Вернитесь на страницу политик доступа, убедитесь, что указана политика доступа.
Дополнительные сведения о создании групп в Microsoft Entra ID с помощью Azure CLI см. в разделе az ad group create и az ad group member add.
Чтобы выполнить команды Azure CLI локально, установите Azure CLI.
Чтобы выполнить команды непосредственно в облаке, используйте Azure Cloud Shell.
Только локальный интерфейс командной строки: войдите в 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 ID с помощью Azure PowerShell см. в разделе New-AzADGroup и Add-AzADGroupMember.
Чтобы выполнить команды локально, установите Azure PowerShell если еще нет.
Чтобы выполнить команды непосредственно в облаке, используйте Azure Cloud Shell.
Только локальное средство PowerShell:
Установите модуль PowerShell Microsoft Entra ID.
Войдите в 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 "<vault-name>" -ObjectId "<object-id>" -PermissionsToSecrets <secrets-permissions> -PermissionsToKeys <keys-permissions> -PermissionsToCertificates <certificate-permissions>
При назначении разрешений для этих конкретных типов необходимо включить только -PermissionsToSecrets, -PermissionsToKeys и -PermissionsToCertificates. Допустимые значения для <secret-permissions>, <key-permissions> и <certificate-permissions> приведены в документе Set-AzKeyVaultAccessPolicy - Parameters.
Дальнейшие шаги