Set Table ACL
この操作により Set Table ACL
、共有アクセス署名と共に使用できるテーブルの格納されたアクセス ポリシーが設定されます。 詳細については、「保存されているアクセス ポリシーの定義」を参照してください。
注意
Set Table ACL
操作は、バージョン 2012-02-12 以降で使用できます。
注意
アクセス制御リスト (ACL) は、アクセス制御エントリ (ACE) の一覧です。 ACL 内の各 ACE は、トラスティを識別し、そのトラスティに対して許可、拒否、監査されているアクセス権を指定します。 詳細については、「アクセス制御リスト」をご覧ください。
要求
要求は Set Table ACL
次のように構築できます。 HTTPS をお勧めします。
myaccount をストレージ アカウントの名前に置き換えます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PUT |
https://myaccount.table.core.windows.net/mytable?comp=acl |
HTTP/1.1 |
エミュレートされたストレージ サービス URI
エミュレートされたストレージ サービスに対して要求を行う場合は、エミュレーターのホスト名と Azure Table Storage ポートを として 127.0.0.1:10002
指定します。 次に、エミュレートされたストレージ アカウント名を追加します。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PUT |
http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl |
HTTP/1.1 |
詳細については、ローカルでの Azure Storage の開発に Azurite エミュレーターを使用する方法に関するページを参照してください。
URI パラメーター
次の追加パラメーターを要求 URI に指定できます。
パラメーター | 説明 |
---|---|
timeout |
省略可能。 秒単位で表されます。 詳細については、「 Table Storage 操作のタイムアウトを設定する」を参照してください。 |
要求ヘッダー
次の表では、必須および省略可能な要求ヘッダーについて説明します。
要求ヘッダー | 説明 |
---|---|
Authorization |
必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
Date または x-ms-date |
必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
x-ms-version |
省略可能。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-client-request-id |
省略可能。 ログ記録の構成時にStorage Analytics ログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 |
要求本文
保存されているアクセス ポリシーを指定するには、Set Table ACL
操作の要求本文で一意識別子とアクセス ポリシーを指定します。
要素には SignedIdentifier
、 要素で指定された一意識別子が Id
含まれます。
SignedIdentifier
には、 要素で指定されたアクセス ポリシーの AccessPolicy
詳細も含まれます。 一意識別子の最大長は 64 文字です。
フィールドと Expiry
フィールドは Start
UTC 時刻で表され、有効な ISO 8061 形式に準拠している必要があります。 サポートされている ISO 8061 形式は次のとおりです。
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.ffffffTZD
これらの形式の日付部分では、YYYY
は 4 桁の年表現、MM
は 2 桁の月表現、DD
は 2 桁の日付表現です。 時間部分では、hh
は 24 時間表記の時間表現、mm
は 2 桁の分表現、ss
は 2 桁の秒表現、ffffff
は 6 桁のミリ秒表現です。 時刻指定子 T
は、文字列の日付と時刻の部分を区切ります。 タイム ゾーン指定子 TZD
は、タイム ゾーンを指定します。
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>unique-64-character-value</Id>
<AccessPolicy>
<Start>start-time</Start>
<Expiry>expiry-time</Expiry>
<Permission>abbreviated-permission-list</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
要求のサンプル
Request Syntax:
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2013-11-26T08:49:37.0000000Z</Start>
<Expiry>2013-11-27T08:49:37.0000000Z</Expiry>
<Permission>raud</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Response
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
状態コード
操作が正常に終了すると、ステータス コード 204 (No Content) が返されます。
状態コードの詳細については、「 状態とエラー コード」を参照してください。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答には、追加の標準 HTTP ヘッダーも含まれる場合があります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 説明 |
---|---|
x-ms-request-id |
行われた要求を一意に識別します。 また、それを使用して要求のトラブルシューティングを行うこともできます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用される Table Storage のバージョンを示します。 このヘッダーはバージョン 2009-09-19 以降で行った要求に対して返されます。 |
Date |
サービスが応答を送信した時刻を示す UTC 日付/時刻値。 |
x-ms-client-request-id |
要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、その値が最大 1,024 文字の可視 ASCII 文字である場合、ヘッダーの値 x-ms-client-request-id と等しくなります。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、このヘッダーは応答に存在しません。 |
応答のサンプル
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Mon, 25 Nov 2013 22:42:55 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
承認
この操作を呼び出すことができるのは、アカウント所有者だけです。
注釈
所有者がテーブル内のリソースに対して共有アクセス署名を発行していない限り、アカウント所有者のみが特定のテーブル内のリソースにアクセスできます。
テーブルのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。 テーブルのアクセス許可を更新するには、 テーブル ACL の取得 を呼び出して、テーブルに関連付けられているすべてのアクセス ポリシーをフェッチします。 変更するアクセス ポリシーを変更し、更新を実行するデータの完全なセットを使用して を呼び出 Set Table ACL
します。
格納されているアクセス ポリシーの確立
格納されているアクセス ポリシーでは、関連付けられている共有アクセス署名の開始時刻、有効期限、およびアクセス許可を指定できます。 共有リソースまたはファイル リソースへのアクセスを制御する方法に応じて、次のことができます。
- 格納されているアクセス ポリシー内でこれらのパラメーターをすべて指定し、共有アクセス署名の URL からそれらを省略します。 そうすることで、関連付けられている署名の動作を変更したり、いつでも取り消したりすることができます。
- 格納されているアクセス ポリシー内の 1 つ以上のアクセス ポリシー パラメーターを指定し、URL に他のパラメーターを指定します。
- URL のすべてのパラメーターを指定します。 この場合、格納されているアクセス ポリシーを使用して署名を取り消すことができますが、その動作を変更することはできません。
アクセス ポリシーの確立の詳細については、「 格納されているアクセス ポリシーを定義する」を参照してください。
共有アクセス署名と格納されたアクセス ポリシーには、署名を承認するために必要なすべてのフィールドが含まれている必要があります。 必須フィールドが欠落している場合、要求は失敗します。 同様に、共有アクセス署名 URL と格納されているアクセス ポリシーの両方でフィールドが指定されている場合、要求は状態コード 400 (無効な要求) で失敗します。 共有アクセス署名を構成するフィールドの詳細については、「 サービス SAS の作成」を参照してください。
1 つのテーブルに対して、いつでも最大 5 つの個別のアクセス ポリシーを設定できます。 要求本文で 5 つ以上のアクセス ポリシーが渡された場合、サービスは状態コード 400 (無効な要求) を返します。
注意
テーブルに格納されているアクセス ポリシーを確立すると、有効になるまでに最大 30 秒かかる場合があります。 この期間中、保存されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで、状態コード 403 (禁止) で失敗します。
関連項目
保存されているアクセス ポリシーを定義する
共有アクセス署名を作成して使用する
共有アクセス署名を使用してアクセスを委任する
Get Table ACL
Azure Storage への要求を承認する
状態コードとエラー コード