我的帐户需要什么权限/角色才能在 Cosmos 数据库中创建新容器?

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

根据this文档,您只需can创建一个容器。但这肯定不是真的。

我做了一些搜索并询问了聊天机器人,他们似乎确认我的帐户需要这些角色来创建新的容器

  • Cosmos DB Built-in Data Contributor
  • Cosmos DB Operator

我已经创建了一个具有这两个角色的帐户,并手动创建了一个cosmos db。但我使用此帐户的应用程序仍然无法创建新容器。调用

CreateContainerIfNotExistsAsync
方法时出现 403 错误。

我的帐户缺少什么角色/权限?

谢谢

azure cosmos
1个回答
0
投票

为您的应用程序分配

Cosmos DB Operator
角色(也许您正在使用 sp 来调用请求?)

您实际需要的操作是

Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/create
,但是微软并没有提供如此细粒度的角色,如果您查看
Cosmos DB operator
详细信息 enter image description here

    "properties": {
        "roleName": "Cosmos DB Operator",
        "description": "Lets you manage Azure Cosmos DB accounts, but not access data in them. Prevents access to account keys and connection strings.",
        "assignableScopes": [
            "/"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.DocumentDb/databaseAccounts/*",
                    "Microsoft.Insights/alertRules/*",
                    "Microsoft.Authorization/*/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read",
                    "Microsoft.Support/*",
                    "Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action"
                ],

容器实体创建操作包含在

 "Microsoft.DocumentDb/databaseAccounts/*"

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