權限
Azure Cosmos DB 是一個全域散發的多模型資料庫,可支援檔、圖形和索引鍵值資料模型。 本節中的內容是透過 REST 管理許可權資源。
權限是與使用者相關聯的授權權杖,以便獲得特定資源的存取權。 用來管理特定使用者之集合、文件、附件、預存程序、觸發程式和使用者定義函數的存取權。
您可以讓一個權限僅關聯至使用者的特定資源。 例如,識別碼為 「permision2」 的 MarketingCollection 只能與使用者的 JanetSmith@contoso.com 一個許可權相關聯。 嘗試將另一個許可權新增至 Janet 的 MarketingCollection 會導致錯誤 (409 Conflict) 。
只有兩種許可權模式:[全部] 和 [讀取]。[所有]模式提供資源的讀取、寫入和刪除存取權。
讀取模式提供資源的唯讀存取權。 每次對權限執行 GET、PUT 或 POST 時,就會建立資源權杖。 根據預設,資源權杖的有效期間是一小時,而且可以在標頭設定中 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 | 必要。 它是使用者可設定的屬性。 這是識別許可權的唯一名稱,也就是說,使用者內沒有兩個許可權共用相同的識別碼。 識別碼不能超過 255 個字元。 |
permissionMode | 必要。 使用者資源上的存取模式:[全部] 或 [讀取]。 所有 都 提供資源的讀取、寫入和刪除存取權。 Read 會限制使用者對資源的讀取權限。 |
資源 | 必要。 與權限相關聯的資源完整可定址路徑。 例如 dbs/ruJjAA==/colls/ruJjAM9UnAA=/。 |
_擺脫 | 它是 系統產生的屬性。 資源識別碼 (_rid) 是資源模型上每個資源堆疊的階層式唯一識別碼。 供內部進行放置和導覽文件資源時使用。 |
_Ts | 它是系統產生的屬性。 代表資源的上次更新時間戳記。 值為時間戳記。 |
_自我 | 它是系統產生的屬性。 代表資源的唯一可定址 URI。 |
_Etag | 它是系統產生的屬性,指定開放式並行控制所需的資源 etag。 |
_令 牌 | 這是系統為特定資源和使用者產生的資源權杖。 |
工作
您可以使用許可權執行下列工作: