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