我有一个azure函数来读取和更新cosmos文档。我启用了身份并将以下角色分配给 azure 函数身份(服务主体)。不知怎的,我看到了以下异常。您能否让我知道我应该分配的 RBAC 角色构建。
异常详细信息:
请求被阻止,因为主体不具备对资源执行操作 [Microsoft.DocumentDB/databaseAccounts/readMetadata] 所需的 RBAC 权限。
不知何故,我看到了以下异常。您能否让我知道我应该分配的 RBAC 角色构建
- DocumentDB 帐户贡献者
- Cosmos DB 帐户读取者角色
- 贡献者
要使用 Azure Function 标识
Cosmos DB Account
读取和更新 (service principal)
,可能需要 DocumentDB Account Contributor role
。使用此角色,您可以执行以下操作
Ex:
Read database account
Update database account
当我尝试使用
Cosmos DB Account
和 Cosmos DB Account Reader角色更新
Service Principal
时,我遇到以下错误。
要解决此问题,请分配 DocumentDB Account Contributor 角色以在
read
中执行 update
和 Cosmos DB account
操作。
分配角色后我可以更新
Cosmos DB Account
。
如果您仍然遇到相同的错误,请确保将角色分配给正确的服务主体
(Azure Function system identity)
请参阅Ms Doc了解
DocumentDB Account Contributor
角色