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 への要求を承認する
状態コードとエラー コード