Azure Cosmos DB for Table 在其本机基于角色的访问控制实现中公开一组唯一的数据作和角色。 本文包含这些作和角色的列表,其中介绍了为每个资源授予哪些权限。
警告
Azure Cosmos DB for Table 的本机基于角色的访问控制不支持该 notDataActions
属性。 自动排除未被指定为允许的任何操作。
内置操作
下面是可在角色定义中单独设置的数据作的列表。
Description | |
---|---|
Microsoft.DocumentDB/databaseAccounts/readMetadata |
读取一些帐户元数据 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/executeQuery |
针对表执行查询 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/executeStoredProcedure |
执行表事务(过程) |
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/create |
创建新实体(项) |
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/read |
点使用行键和分区键读取单个实体(项) |
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/replace |
完全替换现有实体(项) |
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/upsert |
如果实体不存在,则创建实体(项),或者替换实体(如果已存在) |
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/delete |
删除实体(项) |
Microsoft.DocumentDB/databaseAccounts/throughputSettings/read |
读取当前吞吐量 |
Microsoft.DocumentDB/databaseAccounts/throughputSettings/write |
修改当前吞吐量 |
Microsoft.DocumentDB/databaseAccounts/tables/write |
创建或更新表 |
Microsoft.DocumentDB/databaseAccounts/tables/delete |
删除表 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/write |
创建或更新容器 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/delete |
删除容器 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/readChangeFeed |
从容器的更改源中读取 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/manageConflicts |
管理多写入区域帐户的冲突(列出和删除冲突源中的项) |
数据作通配符
作级别*
tables
containers
支持通配符 (entities
) 运算符。 使用通配符授予对特定资源类型的广泛访问权限。
Description | |
---|---|
Microsoft.DocumentDB/databaseAccounts/tables/* |
对表执行所有作 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/* |
对容器执行所有作 |
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/* |
对实体执行所有作(项) |
Microsoft.DocumentDB/databaseAccounts/throughputSettings/* |
执行与吞吐量相关的所有作 |
作所需的元数据
Azure Cosmos DB 软件开发工具包(SDK)在初始化期间发出只读元数据请求,并提供特定数据请求。 这些请求提取各种配置详细信息,例如:
- 帐户的多区域配置,其中包括帐户可用的 Azure 区域
- 容器的分区键或其索引策略
- 创建容器及其地址的物理分区列表
- 它们不会提取存储在帐户中的任何数据
为了确保权限模型的最佳透明度,数据作显式涵盖 Microsoft.DocumentDB/databaseAccounts/readMetadata
这些元数据请求。 在每次通过某个 Azure Cosmos DB SDK 访问 Azure Cosmos DB 帐户时,都必须允许此作。
可以在 Azure Cosmos DB 帐户的层次结构(包括帐户、数据库或容器)的任何级别分配该作。 允许的实际元数据请求取决于范围:
-
帐户
- 列出帐户下的数据库
- 对于帐户下的每个数据库,数据库范围内的允许作
-
表
- 读取表元数据
- 列出表下的容器
- 对于表下的每个容器,容器范围内的允许作
-
容器
- 读取容器元数据
- 列出表下的物理分区
- 解析每个物理分区的地址
重要
无法使用数据作管理吞吐量 Microsoft.DocumentDB/databaseAccounts/readMetadata
。
内置角色
用于表的 Azure Cosmos DB 定义特定于数据平面的角色定义。 这些角色不同于 Azure 基于角色的访问控制角色定义。
Cosmos DB 内置数据读取者
ID: 00000000-0000-0000-0000-000000000001
-
包含的操作
Microsoft.DocumentDB/databaseAccounts/readMetadata
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/read
Cosmos DB 内置数据参与者
ID: 00000000-0000-0000-0000-000000000002
-
包含的操作
Microsoft.DocumentDB/databaseAccounts/readMetadata
Microsoft.DocumentDB/databaseAccounts/tables/*
Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/*