エクスポート (0) 印刷
すべて展開

Set Table ACL

更新日: 2013年11月

Set Table ACL 操作は、共有アクセス署名で使用できるテーブルの保存されているアクセス ポリシーを設定します。詳細については、「保存されているアクセス ポリシーの設定 (REST API)」を参照してください。

noteメモ
Set Table ACL 操作は、バージョン 2012-02-12 以降で使用できます。

noteメモ
アクセス制御リスト (ACL) は、アクセス制御エントリ (ACE) のリストです。ACL 内の各 ACE は、トラスティを識別し、そのトラスティに対して許可、拒否、監査されているアクセス権を指定します。詳細については、「アクセス制御リスト」を参照してください。

Set Table ACL 要求の構成は次のとおりです。HTTPS が推奨されます。myaccount はストレージ アカウントの名前に置き換えます。

 

メソッド 要求 URI HTTP バージョン

PUT

https://myaccount.table.core.windows.net/mytable?comp=acl

HTTP/1.1

エミューレートされたストレージ サービスに対する要求では、エミュレーターのホスト名とテーブル サービス ポートを 127.0.0.1:10002 と指定し、その後にエミューレートされたストレージ アカウント名を指定します。

 

メソッド 要求 URI HTTP バージョン

PUT

http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl

HTTP/1.1

詳細については、「About Development Storage」および「ストレージ エミュレーターと Azure ストレージ サービスとの違い」を参照してください。

次の追加パラメーターを要求の URI で指定できます。

 

Parameter 説明

timeout

省略可能。timeout パラメーターは、秒単位で表されます。詳細については、「キュー サービス操作のタイムアウトの設定」を参照してください。

必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。

 

要求ヘッダー 説明

Authorization

必須。認証スキーム、アカウント名、および署名を指定します。詳細については、「Azure ストレージ サービスの認証」を参照してください。

Date またはx-ms-date

必須。要求の世界協定時刻 (UTC) を指定します。詳細については、「Azure ストレージ サービスの認証」を参照してください。

x-ms-version

省略可能。この要求に使用する操作のバージョンを指定します。詳細については、「Azure ストレージ サービスのバージョン設定」を参照してください。

x-ms-client-request-id

省略可能。Storage Analytics Logging が有効な場合に解析ログに記録される、クライアントで生成された非透過の値を 1 KB の文字制限付きで提供します。クライアント側のアクティビティとサーバーが受け取る要求を相互に関連付けるには、このヘッダーを使用することを強くお勧めします。詳細については、「Storage Analytics Logging について」および「Windows Azure のログ: ログを使用した、ストレージ要求の追跡」を参照してください。

保存されているアクセス ポリシーを指定するには、Set Table ACL 操作の要求本文で一意識別子とアクセス ポリシーを指定します。

SignedIdentifier 要素には、Id 要素で指定された一意識別子と、AccessPolicy 要素で指定されたアクセス ポリシーの詳細が含まれます。一意識別子の最大長は 64 文字です。

Start フィールドと Expiry フィールドは、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>

応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。

操作が正常に終了すると、ステータス コード 204 (No Content) が返されます。

ステータス コードの詳細については、「ステータス コードとエラー コード」を参照してください。

この操作の応答には、次のヘッダーが含まれています。応答に追加の標準 HTTP ヘッダーが含まれる場合もあります。標準ヘッダーはすべて、HTTP/1.1 プロトコル仕様に準拠しています。

 

応答ヘッダー 説明

x-ms-request-id

このヘッダーは要求を一意に識別するので、要求のトラブルシューティングに使用できます。詳細については、「API 操作のトラブルシューティング」を参照してください。

x-ms-version

要求の実行に使用するテーブル サービスのバージョンを示します。このヘッダーはバージョン 2009-09-19 以降で行った要求に対して返されます。

Date

サービスによって生成される、応答の開始時刻を示す UTC 日付/時刻値。

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

この操作を呼び出すことができるのはアカウント所有者のみです。

特定のテーブル内のリソースにアクセスできるのはアカウント所有者だけです。ただし、その所有者がテーブル内のリソースに対して共有アクセス署名を発行した場合は除きます。

テーブルのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。テーブルのアクセス許可を更新するには、Get Table ACL を呼び出して、テーブルに関連付けられているすべてのアクセス ポリシーを取得し、変更対象のアクセス ポリシーを変更してから、更新を実行するデータの完全なセットで Set Table ACL を呼び出します。

保存されているアクセス ポリシーの設定

保存されているアクセス ポリシーでは、関連付けられている共有アクセス署名の開始時刻、有効期限、およびアクセス許可を指定できます。テーブル リソースへのアクセスを制御する方法に応じて、保存されているアクセス ポリシー内でこれらすべてのパラメーターを指定し、共有アクセス署名の URL からこれらを省略できます。これにより、関連付けられた署名の動作をいつでも変更または取り消しできます。また、保存されているアクセス ポリシー内で 1 つ以上のアクセス ポリシー パラメーターを指定し、残りのパラメーターを URL で指定することもできます。すべてのパラメーターを URL で指定することもできます。この場合、保存されているアクセス ポリシーを使用して署名を取り消すことができますが、署名の動作を変更することはできません。アクセス ポリシーの設定の詳細については、「保存されているアクセス ポリシーの使用」を参照してください。

共有アクセス署名と保存されているアクセス ポリシーの組み合わせには、署名を認証するために必要なすべてのフィールドが含まれている必要があります。必須フィールドが欠落している場合、要求は失敗します。同様に、共有アクセス署名の URL と保存されているアクセス ポリシーの両方で同じフィールドが指定されている場合、ステータス コード 400 (Bad Request) が返されて要求は失敗します。共有アクセス署名を構成するフィールドの詳細については、「共有アクセス署名 URI の構築」を参照してください。

指定したテーブルには一度に最大 5 つのアクセス ポリシーを設定できます。5 つを超えるアクセス ポリシーが要求本文で渡された場合、サービスはステータス コード 400 (Bad Request) を返します。

noteメモ
保存されているアクセス ポリシーをテーブルに設定したときには、有効になるまでに最大で 30 秒かかる場合があります。その間、アクセス ポリシーがアクティブになるまでは、保存されているアクセス ポリシーに関連付けられている共有アクセス署名は、ステータス コード 403 (Forbidden) が返されて失敗します。

表示:
© 2014 Microsoft