Ваше решение неверно.
Ключ Azure защищен плоскостью управления (Access control (IAM)
) и плоскостью данных (Access policies
), secrets
управляется плоскостью данных. Даже если вы дадите owner
/ your custom rbac role
своему пользователю / субъекту обслуживания в плоскости управления, это не позволит вам получить доступ к секрету в keyvault.
Чтобы решить вашу проблему, вам не нужно предоставлять роль RBAC, просто перейдите к Access policies
в вашем наборе ключей, добавьте своего пользователя / участника службы с правильным разрешением. В вашем случае дайте Set
секретное разрешение вашему пользователю / сервис-субъекту, тогда у него будет только Set
секретное разрешение для keyvault.
Более подробную информацию о безопасном доступе к хранилищу ключей можно найти по этой ссылке .
Помимо , если вы хотите протестировать свое решение, просто укажите AssignableScopes
, как показано ниже, тогда вы сможете добавить своего пользователя / участника службы в качестве пользовательской роли в Access control (IAM)
из твой ключ Затем вы можете протестировать его для создания / обновления секрета без настройки политики доступа , вы получите Запрещенную ошибку.
"AssignableScopes": [
"/subscriptions/{subscription id}/resourceGroups/{resource group name}/providers/Microsoft.KeyVault/vaults/{keyvault name}"
]