在 Azure Cosmos 資料庫中建立新的許可權
作業 Create Permission
會在資料庫中建立新的許可權。
要求
方法 |
要求 URI |
Description |
POST |
HTTPs://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{user-name}/permissions |
請注意,{databaseaccount} 是您訂用帳戶下建立的 Azure Cosmos DB 帳戶名稱。 {db-id} 值是使用者產生的資料庫名稱/識別碼,而不是系統產生的識別碼 (rid) 。 {user-name} 值是擁有許可權的使用者名稱。 |
如需所有 Azure Cosmos DB 要求所使用的標頭,請參閱常見的 Azure Cosmos DB REST 要求標頭 。
標頭 |
必要 |
類型 |
Description |
x-ms-documentdb-expiry-seconds |
選用 |
整數 |
作業傳回的資源 Token 有效期間。 根據預設,資源權杖的有效期為一小時。 若要覆寫預設值,請使用所需的有效期間 (以秒為單位) 設定此標頭。 最大的覆寫值是 18000,也就是 5 小時。 |
主體
屬性 |
必要 |
類型 |
描述 |
id |
必要 |
String |
它是使用者可設定的屬性。 這是用來識別許可權的唯一名稱,也就是說,使用者所擁有的兩個許可權都無法共用相同的識別碼。 識別碼 不能超過 255 個字元。 |
permissionMode |
必要 |
String |
資源的存取模式: 全部 或 讀取。
所有 都 提供資源的讀取、寫入和刪除存取權。
Read 會限制使用者對資源的讀取權限。 |
資源 |
必要 |
String |
與權限相關聯的資源完整可定址路徑。 例如,dbs/volcanodb/colls/volcano1。 |
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}
回應
如需所有 Azure Cosmos DB 回應所傳回的標頭,請參閱 常見的 Azure Cosmos DB REST 回應標頭 。
狀態碼
下表列出此作業所傳回的常見狀態碼。 如需狀態碼的完整清單,請參閱 HTTP 狀態碼。
HTTP 狀態碼 |
Description |
201 Created |
作業成功。 |
400 不正確的要求 |
JSON 內文無效。 檢查是否缺少大括號或引號。 此外,當至少有一個可設定的屬性不在要求主體中,就會傳回 400。 檢查以確定包含所有三個可設定的屬性。 |
409 衝突 |
現有許可權已採用為新許可權提供的識別碼。 將新權限指派給已與使用者的另一個權限相關聯的資源時,也會傳回 409。 |
主體
屬性 |
Description |
_擺脫 |
它是 系統產生的屬性。 資源識別碼 (_rid) 是資源模型上每個資源堆疊的階層式唯一識別碼。 供內部進行放置和導覽文件資源時使用。 |
_Ts |
它是系統產生的屬性。 代表資源的上次更新時間戳記。 值為時間戳記。 |
_自我 |
它是系統產生的屬性。 代表資源的唯一可定址 URI。 |
_Etag |
它是系統產生的屬性,代表開放式並行控制所需的資源 etag 。 |
_令 牌 |
這是系統為特定資源和使用者產生的資源權杖。 |
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449604760,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000e00-0000-0000-0000-566736980000\"",
"_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"
}
範例
POST https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions HTTP/1.1
x-ms-date: Tue, 08 Dec 2015 19:59:19 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dwBH%2bhvVN5L4fu508ixzH%2bc7pQNfg7meU62MydCoead0%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Content-Length: 87
Expect: 100-continue
Connection: Keep-Alive
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 02:25:35.212 GMT
etag: "00000e00-0000-0000-0000-566736980000"
x-ms-resource-quota: permissions=2000000;
x-ms-resource-usage: permissions=1;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/volcanodb/users/a_user
x-ms-content-path: Sl8fAG8cXgA=
x-ms-quorum-acked-lsn: 865
x-ms-session-token: 866
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 4.95
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 4069f7dc-3863-4ae0-8df8-828bc86d75dc
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 19:59:21 GMT
Content-Length: 579
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449604760,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000e00-0000-0000-0000-566736980000\"",
"_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"
}
另請參閱