你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

权限

Azure Cosmos DB 是一个全球分布式多模型数据库,支持文档、图形和键值数据模型。 本部分中的内容用于通过 REST 使用 SQL API 管理权限资源

权限是与有权访问特定资源的用户关联的授权令牌。 它用于管理对特定用户的集合、文档、附件、存储过程、触发器和用户定义函数的访问。

只能将一个权限关联到某个用户的某个特定资源。 例如,ID 为“permision2”的 MarketingCollection 只能与用户 JanetSmith@contoso.com的一个权限相关联。 尝试向 Janet 的 MarketingCollection 添加另一个权限会导致错误 (409 冲突) 。

只有两种权限模式: “全部 ”和 “读取”。全部 ”模式提供对资源的读取、写入和删除访问权限。 读取模式提供对资源的只读访问权限。 每次对权限执行 GET、PUT 或 POST 时,都将创建一个资源令牌。 默认情况下,资源令牌的有效期为 1 小时,通过在标头设置中 x-ms-documentdb-expiry-seconds 指定所需的值,可将有效期延长至最多 5 小时。 若要了解如何设置此标头,请参阅 创建权限一 文的标头部分。 可将有效期重写为最多 5 个小时。 以下示例说明了权限的 JSON 构造:

{  
   "id":"permision2",  
   "permissionMode":"All",  
   "resource":"dbs/ruJjAA==/colls/ruJjAM9UnAA=/",  
   "_rid":"ruJjAFjqQABUp3QAAAAAAA==",  
   "_ts":1408237846,  
   "_self":"dbs/ruJjAA==/users/ruJjAFjqQAA=/permissions/ruJjAFjqQABUp3QAAAAAAA==/",  
   "_etag":"00004900-0000-0000-0000-53f001160000",  
   "_token":"type=resource&ver=1&sig=m32/00W65F8ADb3psljJ0g==;v0kQGihedau1pVGGQmuPgzlEcfsYDWSdfn2kyjDc1qF1aZfPHXzIS/BFMcuZQRUr6C5c5PgiyCSwhiAgZMJne2DorfMbE/GUHmxBLjOnykLARqwn3zpZpz9b2axWtL8+qQFX81nocdEDvBVzFuobyul6QimbmeZ7D6D1K4qJT9feuJkIBfczeAp/sKaSupXEgB3qyih0rej5N6Wv14Gufohh1QTlCRIzK3FqQv4xjcY=;"  
}  
  
属性 说明
id 必需。 它是用户可设置的属性。 它是标识权限的唯一名称,也就是说,一个用户中没有两个权限共享同一 ID。 ID 不得超过 255 个字符。
permissionMode 必需。 用户的资源访问模式: “全部 ”或“ 读取”。 “全部 ”提供对资源的读取、写入和删除访问权限。 Read 限制用户对资源的读取访问权限。
resource 必需。 与权限相关联的资源的完全可寻址路径。 例如,dbs/ruJjAA==/colls/ruJjAM9UnAA=/。
_摆脱 它是 系统生成的属性。 资源 ID (_rid) 是一个唯一标识符,也是根据资源模型上的资源堆栈分层的。 它可供内部用于放置和导航权限资源。
_ts 它是系统生成的属性。 它指定资源的上次更新时间戳。 高值是一个时间戳。
_自我 它是系统生成的属性。 它是资源的唯一可寻址 URI。
_Etag 它是系统生成的属性,用于指定乐观并发控制所需的资源 etag。
_令 牌 它是系统为特定资源和用户生成的资源令牌。

任务

可以使用权限执行以下任务:

另请参阅