Set Queue ACL

この操作では Set Queue ACL 、SAS (共有アクセス署名) で使用できるキューに格納されているアクセス ポリシーが設定されます。 詳細については、「保存されているアクセス ポリシーの定義」を参照してください。

注意

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

要求

要求は Set Queue ACL 次のように構築できます。 HTTPS を使用することをお勧めします。 myaccount をストレージ アカウントの名前に置き換えます。

Method 要求 URI HTTP バージョン
PUT https://myaccount.queue.core.windows.net/myqueue?comp=acl HTTP/1.1

エミュレートされたストレージ サービス要求

エミュレートされたストレージ サービスに対して要求を行う場合は、エミュレーターのホスト名とキュー サービス ポートを として 127.0.0.1:10001指定し、その後にエミュレートされたストレージ アカウント名を指定します。

Method 要求 URI HTTP バージョン
PUT http://127.0.0.1:10001/devstoreaccount1/myqueue?comp=acl HTTP/1.1

詳細については、ローカルでの Azure Storage の開発に Azurite エミュレーターを使用する方法に関するページを参照してください。

URI パラメーター

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

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

要求ヘッダー

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

要求ヘッダー 説明
Authorization 必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
Date または x-ms-date 必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
x-ms-version 省略可能。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。
x-ms-client-request-id 省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「 Azure Queue Storage の監視」を参照してください。

要求本文

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

SignedIdentifier 要素には、Id 要素で指定された一意識別子と、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.queue.core.windows.net/myqueue?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2012-02-12  
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2009-09-28T08:49:37.0000000Z</Start>  
      <Expiry>2009-09-29T08:49:37.0000000Z</Expiry>  
      <Permission>raup</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Response

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

状態コード

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

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

応答ヘッダー

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

応答ヘッダー 説明
x-ms-request-id 行われた要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。
x-ms-version 要求の実行に使用されたキュー サービスのバージョンを示します。 このヘッダーは、バージョン 2009-09-19 以降に対して行われた要求に対して返されます。
Date サービスによって生成される UTC 日付/時刻値。応答が開始された時刻を示します。
x-ms-client-request-id このヘッダーは、要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値 x-ms-client-request-id は、要求に存在し、値に 1,024 文字以下の ASCII 文字が含まれている場合、ヘッダーの値と同じです。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、応答には存在しません。

応答のサンプル

Response Status:  
HTTP/1.1 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Sun, 25 Sep 2011 22:42:55 GMT  
x-ms-version: 2012-02-12  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
  

承認

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

注釈

アカウント所有者のみが、キュー内のリソースに対して共有アクセス署名を発行していない限り、特定のキュー内のリソースにアクセスできます。

キューのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。 キューのアクセス許可を更新するには、 Get Queue ACL を 呼び出して、キューに関連付けられているすべてのアクセス ポリシーをフェッチします。 変更するアクセス ポリシーを変更し、完全なデータ セットを使用して を呼び出 Set Queue ACL して更新を実行します。

保存されているアクセス ポリシーを確立する

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

共有アクセス署名と格納されているアクセス ポリシーには、署名を承認するために必要なすべてのフィールドを含める必要があります。 必要なフィールドがない場合、要求は失敗します。 同様に、共有アクセス署名 URL と格納されているアクセス ポリシーの両方でフィールドが指定されている場合、要求は状態コード 400 (無効な要求) で失敗します。

1 つのキューに対して、最大で 5 つの個別のアクセス ポリシーをいつでも設定できます。 要求本文で 5 つ以上のアクセス ポリシーが渡された場合、サービスは状態コード 400 (無効な要求) を返します。

キューに格納されているアクセス ポリシーを確立すると、有効になるまでに最大 30 秒かかる場合があります。 この期間中、保存されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで、状態コード 403 (禁止) で失敗します。

関連項目

保存されているアクセス ポリシーを定義する
Get Queue ACL
Azure Storage への要求を承認する
状態コードとエラー コード