我需要为我的用户分配什么角色才能读取和写入我的 CosmosDB 容器?

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

当我通过数据库连接并尝试从容器中读取一些数据时,收到 403 错误,表明我的主体没有 Microsoft.DocumentDB/databaseAccounts/readMetadata 权限。

我已经浏览了 Azure 门户中的所有可用角色,但没有一个能解决问题。

azure-cosmosdb
2个回答
8
投票

由于某些绝对疯狂的原因,UI 中可用的角色不足以开始从 Cosmos 读取数据。相反,您需要分配系统中存在的特殊隐藏角色来读取或写入数据。

看这里:

https://learn.microsoft.com/en-us/azure/cosmos-db/how-to-setup-rbac#metadata-requests

具体来说,读的角色为 00000000-0000-0000-0000-000000000001,读+写的角色为 00000000-0000-0000-0000-000000000002。同一篇文章解释了如何从 Azure Powershell 添加这些内容:

https://learn.microsoft.com/en-us/azure/cosmos-db/how-to-setup-rbac#using-azure-powershell-1

我几乎失去了理智,试图找出为什么我无法读取自己的数据,因为我已经为我的用户提供了几种角色类型,但没有一个起作用。我不知道为什么 Azure 团队决定从 UI 中隐藏所需的角色。希望他们看到这个答案并提供一些线索。


0
投票

这应该可以通过“DocumentDB Account Contributor”角色实现。

来自docs,关于这个角色:

可以管理 Azure Cosmos DB 帐户。 Azure Cosmos DB 以前称为 DocumentDB。

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