アクセス許可の置き換え
- [アーティクル]
-
-
特定のアクセス許可リソースで PUT 操作を実行すると、ユーザー リソース全体が置き換えられます。 ユーザーが設定可能なすべてのプロパティ (id、permissionMode、resource) は、置き換えを実行するために本文で送信される必要があります。 設定可能なすべてのプロパティは要求本文で送信される必要がありますが、すべてのプロパティを変更する必要はありません。 新しいリソース トークンは、アクセス許可が正常に置換されるときに作成されます。 新しいリソース トークンは、 x-ms-documentdb-expiry-seconds ヘッダーを使用してオーバーライドされない限り、既定の期間である 1 時間で期限切れになります。
Request
Method |
要求 URI |
説明 |
PUT |
https://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{user-name}/permissions/{permission-name} |
{databaseaccount} は、サブスクリプションで作成された Azure Cosmos DB アカウントの名前であることに注意してください。 {db-id} 値は、システムによって生成された ID (rid) ではなく、データベースのユーザーによって生成された名前/ID です。 {user-name} 値はユーザーの名前です。 {permission-name} 値は、置換するアクセス許可の名前です。 |
すべての Cosmos DB 要求 で使用されるヘッダーについては、「共通の Azure Cosmos DB REST 要求ヘッダー」を参照してください。
ヘッダー |
必須 |
Type |
Description |
x-ms-documentdb-expiry-seconds |
省略可能 |
Integer |
操作によって返されるリソース トークンの有効期間。 既定では、リソース トークンの有効期間は 1 時間です。 既定値をオーバーライドするには、このヘッダーを目的の有効期間 (秒) に設定します。 オーバーライドに指定できる最大値は、18000 (5 時間) です。 |
Body
プロパティ |
必須 |
説明 |
id |
必須 |
これは、アクセス許可を識別する一意の名前です。つまり、ユーザーが所有する 2 つのアクセス許可が同じ ID を共有することはできません。 ID は 255 文字以内にする必要があります |
permissionMode |
必須 |
ユーザーのリソースのアクセス モード: [すべて] または [ 読み取り] です。
すべて によって、リソースへの読み取り、書き込み、および削除アクセスが提供されます。
Read は、リソースに対する読み取りアクセス権のみにユーザーを制限します。 |
resource |
必須 |
アクセス許可に関連付けられたリソースのアクセス可能な完全パス。 たとえば、dbs/volcanodb/colls/volcano1 などです。 |
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1"
}
[応答]
すべての Cosmos DB 応答によって返されるヘッダーについては、「 共通の Azure Cosmos DB REST 応答ヘッダー 」を参照してください。
状態コード
次の表に、この操作で返される一般的なステータス コードを示します。 状態コードの完全な一覧については、「 HTTP 状態コード」を参照してください。
HTTP 状態コード |
説明 |
200 Ok |
置換操作は成功しました。 |
400 Bad Request |
JSON の本文が無効です。 中かっこや引用符の不足がないか確認してください。 また、要求本文内に、設定可能なプロパティが 1 つ以上不足している場合にも 400 が返されます。 3 つの設定可能なプロパティがすべて含まれていることを確認します。 |
404 見つかりません |
置き換えるユーザーはリソースではなく、つまりアクセス許可が削除されました。 |
409 競合 |
アクセス許可に指定された ID は、既存のアクセス許可によって取得されています。 新しいアクセス許可が既にユーザーの他のアクセス許可に割り当てられているときも、409 が返されます。 |
Body
プロパティ |
Description |
_解消 |
これは、システムによって生成されるプロパティです。 リソース ID (_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=;"
}
参照