Cosmos dB 正在阻止更新插入请求,即使它具有所需的 RBAC 角色

问题描述 投票:0回答:1

我有一个azure函数来读取和更新cosmos文档。我启用了身份并将以下角色分配给 azure 函数身份(服务主体)。不知怎的,我看到了以下异常。您能否让我知道我应该分配的 RBAC 角色构建。

  1. DocumentDB 帐户贡献者
  2. Cosmos DB 帐户读取者角色
  3. 贡献者

异常详细信息:

请求被阻止,因为主体不具备对资源执行操作 [Microsoft.DocumentDB/databaseAccounts/readMetadata] 所需的 RBAC 权限。

azure azure-active-directory azure-functions azure-cosmosdb azure-rbac
1个回答
0
投票

不知何故,我看到了以下异常。您能否让我知道我应该分配的 RBAC 角色构建

  1. DocumentDB 帐户贡献者
  2. Cosmos DB 帐户读取者角色
  3. 贡献者

要使用 Azure Function 标识

Cosmos DB Account
读取和更新
(service principal)
,可能需要
DocumentDB Account Contributor role
。使用此角色,您可以执行以下操作

 Ex:
    Read database account
    Update database account

enter image description here

当我尝试使用

Cosmos DB Account
Cosmos DB Account Reader
角色更新 Service Principal 时,我遇到以下错误。

enter image description here

要解决此问题,请分配 DocumentDB Account Contributor 角色以在

read
中执行
update
Cosmos DB account
操作。

分配角色后我可以更新

Cosmos DB Account

如果您仍然遇到相同的错误,请确保将角色分配给正确的服务主体

(Azure Function system identity)

请参阅Ms Doc了解

DocumentDB Account Contributor
角色

© www.soinside.com 2019 - 2024. All rights reserved.