取代權限
對特定的權限資源執行 PUT 作業,會取代整個使用者資源。 所有使用者可設定的屬性 (識別碼、permissionMode 和資源) 必須在主體中提交,以執行取代作業。 雖然所有可設定的屬性都必須在要求主體中提交,但並非所有屬性都必須有變更。 在成功取代權限時,會建立新的資源權杖。 除非使用 x-ms-documentdb-expiry-seconds 標頭覆寫,否則新的資源權杖會在一小時內到期,這是預設期間。
要求
方法 |
要求 URI |
Description |
PUT |
HTTPs://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{user-name}/permissions/{permission-name} |
請注意,{databaseaccount} 是您訂用帳戶下建立的 Azure Cosmos DB 帳戶名稱。 {db-id} 值是使用者產生的資料庫名稱/識別碼,而不是系統產生的識別碼 (rid) 。 {user-name} 值是使用者的名稱。 {permission-name} 值是要取代的許可權名稱。 |
如需所有 Cosmos DB 要求所使用的標頭,請參閱常見的 Azure Cosmos DB REST 要求標頭 。
標頭 |
必要 |
類型 |
Description |
x-ms-documentdb-expiry-seconds |
選用 |
整數 |
作業傳回的資源 Token 有效期間。 根據預設,資源權杖的有效期為一小時。 若要覆寫預設值,請使用所需的有效期間 (以秒為單位) 設定此標頭。 最大的覆寫值是 18000,也就是 5 小時。 |
主體
屬性 |
必要 |
描述 |
id |
必要 |
這是可識別許可權的唯一名稱,也就是使用者所擁有的兩個許可權都不能共用相同的識別碼。 識別碼 不能超過 255 個字元 |
permissionMode |
必要 |
使用者資源上的存取模式:[全部] 或 [讀取]。
所有 都 提供資源的讀取、寫入和刪除存取權。
Read 會限制使用者對資源的讀取權限。 |
資源 |
必要 |
與權限相關聯的資源完整可定址路徑。 例如,dbs/volcanodb/colls/volcano1。 |
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1"
}
回應
如需所有 Cosmos DB 回應所傳回的標頭,請參閱 常見的 Azure Cosmos DB REST 回應標頭 。
狀態碼
下表列出此作業所傳回的常見狀態碼。 如需狀態碼的完整清單,請參閱 HTTP 狀態碼。
HTTP 狀態碼 |
Description |
200 確定 |
取代作業成功。 |
400 不正確的要求 |
JSON 內文無效。 檢查是否缺少大括號或引號。 此外,當至少有一個可設定的屬性不在要求主體中,就會傳回 400。 檢查以確定包含所有三個可設定的屬性。 |
404 找不到 |
要取代的使用者不再是資源,也就是刪除許可權。 |
409 衝突 |
為許可權提供的識別碼已由現有許可權所採用。 當新權限已指派給使者的其他權限時,也會傳回 409。 |
主體
屬性 |
Description |
_擺脫 |
它是系統產生的屬性。 資源識別碼 (_rid) 是資源模型上每個資源堆疊的階層式唯一識別碼。 供內部進行放置和導覽文件資源時使用。 |
_Ts |
它是系統產生的屬性。 代表資源的上次更新時間戳記。 值為時間戳記。 |
_自我 |
它是系統產生的屬性。 代表資源的唯一可定址 URI。 |
_Etag |
它是系統產生的屬性,代表開放式並行控制所需的資源 etag 。 |
_令 牌 |
這是系統為特定資源和使用者產生的資源權杖。 |
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449605172,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000f00-0000-0000-0000-566738340000\"",
"_token": "type=resource&ver=1&sig=liT1vyY6rvPBZXRuXNluPA==;A4zwoVw1GcQUSF3N2d1D5J1s3DhN0547KlhdYkkfT5UzGWecIDJf+LInlbYjqgZKwHKrFfeHLJWq0OFfH9KUOaeMCkPPlu8yKNM098las28ClqVNwmi9Ir\/jC3UVFU\/yFQl4z4wiMxxbrCkpnA\/ZsKqmxZ1LAosimPgF4zKvC9isWjgmB1N8+X9pH49wDg62tGkHF0HoSu+KpF7bkjP4VpHfo9u9jV86l7brrOvUYyE=;"
}
範例
PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions/a_permission HTTP/1.1
x-ms-date: Tue, 08 Dec 2015 20:06:11 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d8PTpiHHJvUq7ra07iWGYpiLJ%2fMyglgJZxfyGKHWjbaQ%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Cookie: x-ms-session-token=866
Content-Length: 554
Expect: 100-continue
Connection: Keep-Alive
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449604760,
"_self": "dbs/volcanodb/users/a_user/permissions/a_permission",
"_etag": "\"00000e00-0000-0000-0000-566736980000\"",
"_token": "type=resource&ver=1&sig=zv2AYJFeWMhks0Ezv2WVKQ==;x2fUwajIajvwi+vfQ6GHmf82HTK4qppkhRHMk1Nx8ei0g8zuxIBQ6cyu0d3hOV06fC/PdyIj2/bmNCwpfkxFI++QI1eVPP0/tGTQuMPyqNVCCM5t8KFx6rVNUReBHlWNp0y8iAZ3pRvA2Wl6uaE0K7tFQKmPKqUbumYbOMWKk1kDCfCeCF0Qkt7RYUXlmvawFNoYnVRN/mgnpzX23vW63mU/GoeRXnMOI1HXcdrnf4M=;"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions/a_permission
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: "00000f00-0000-0000-0000-566738340000"
x-ms-resource-quota: permissions=2000000;
x-ms-resource-usage: permissions=2;
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: 866
x-ms-session-token: 867
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 4b91c955-ebd4-4059-a58e-91c99226f225
Set-Cookie: x-ms-session-token=867; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/users/a_user
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 20:06:10 GMT
Content-Length: 581
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449605172,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000f00-0000-0000-0000-566738340000\"",
"_token": "type=resource&ver=1&sig=liT1vyY6rvPBZXRuXNluPA==;A4zwoVw1GcQUSF3N2d1D5J1s3DhN0547KlhdYkkfT5UzGWecIDJf+LInlbYjqgZKwHKrFfeHLJWq0OFfH9KUOaeMCkPPlu8yKNM098las28ClqVNwmi9Ir\/jC3UVFU\/yFQl4z4wiMxxbrCkpnA\/ZsKqmxZ1LAosimPgF4zKvC9isWjgmB1N8+X9pH49wDg62tGkHF0HoSu+KpF7bkjP4VpHfo9u9jV86l7brrOvUYyE=;"
}
另請參閱