コンテナー ACL の取得

Get Container ACL 操作は、指定されたコンテナーのアクセス許可を取得します。 アクセス許可は、コンテナー データがパブリックにアクセス可能かどうかを示します。

バージョン 2009-09-19 以降、コンテナーのアクセス許可には、コンテナー アクセスを管理するための次のオプションが用意されています。

  • 完全なパブリック読み取りアクセス: コンテナーと BLOB のデータは匿名要求を介して読み取ることができます。 クライアントは匿名要求を介してコンテナー内の BLOB を列挙できますが、ストレージ アカウント内のコンテナーを列挙することはできません。

  • BLOB のパブリック読み取りアクセスのみ: このコンテナー内の BLOB データは匿名要求を介して読み取ることができますが、コンテナー データは使用できません。 クライアントは、匿名要求を介してコンテナー内の BLOB を列挙できません。

  • パブリック読み取りアクセス権なし: コンテナーと BLOB のデータは、アカウント所有者のみが読み取ることができます。

Get Container ACL では、共有アクセス署名で使用できるコンテナーで指定されているコンテナー レベルのアクセス ポリシーに関する詳細も返されます。 詳細については、「保存されているアクセス ポリシーの定義」を参照してください。

コンテナーに対するすべてのパブリック アクセスは、共有アクセス署名を介したアクセス同様匿名です。

要求

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

Method 要求 URI HTTP バージョン
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1

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

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

Method 要求 URI HTTP バージョン
GET/HEAD http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl HTTP/1.1

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

URI パラメーター

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

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

要求エラー コード

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

要求ヘッダー 説明
Authorization 必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
Date または x-ms-date 必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
x-ms-lease-id: <ID> オプション、バージョン 2012-02-12 以降。 指定されている場合は、 Get Container ACL コンテナーのリースがアクティブで、この ID と一致する場合にのみ成功します。 アクティブなリースがない場合、または ID が一致しない場合は が 412 (Precondition Failed) 返されます。
x-ms-version すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。
x-ms-client-request-id 省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「Azure Blob Storageの監視」を参照してください。

要求本文

[なし] :

Response

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

status code

操作に成功すると、状態コード 200 (OK) が返されます。

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

応答エラー コード

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

応答ヘッダー 説明
x-ms-blob-public-access コンテナー内のデータがパブリックにアクセス可能かどうかと、アクセスのレベルを示します。 次の値を指定できます。

- container: コンテナーと BLOB データの完全なパブリック読み取りアクセスを示します。 クライアントは匿名要求を介してコンテナー内の BLOB を列挙できますが、ストレージ アカウント内のコンテナーを列挙することはできません。
- blob: BLOB のパブリック読み取りアクセスを示します。 このコンテナー内の BLOB データは匿名要求を介して読み取ることができますが、コンテナー データは使用できません。 クライアントは、匿名要求を介してコンテナー内の BLOB を列挙できません。
- true: 2016-05-31 より前のバージョンのみ。 2009-09-19 より前のバージョンを使用して、コンテナーが完全なパブリック読み取りアクセス用にマークされたことを示します。 バージョン 2016-05-31 の時点で、この値は代わりに として container 返されます。

このヘッダーが応答で返されない場合、コンテナーはアカウント所有者に対してプライベートです。
ETag コンテナーのエンティティ タグ。 要求バージョンが 2011-08-18 以降の場合、ETag 値は引用符で囲まれます。
Last-Modified コンテナーが最後に変更された日時を返します。 日付形式は RFC 1123 に従います。 詳細については、「 エラー コードで日付/時刻値を表す」を参照してください。

コンテナーまたはそのプロパティやメタデータを変更する操作を行うと、最終更新時刻が更新されます。 BLOB に対する操作は、コンテナーの最終変更時刻には影響しません。
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 要求に存在しない場合、このヘッダーは応答に存在しません。

応答本文

コンテナー レベルのアクセス ポリシーがコンテナーに指定されている場合は、Get Container ACL は、応答本文で署名対象の ID とアクセス ポリシーを返します。

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>  
    <Id>unique-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  

応答のサンプル

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-blob-public-access: container  
Date: Sun, 25 Sep 2011 20:28:22 GMT  
ETag: "0x8CAFB82EFF70C46"  
Last-Modified: Sun, 25 Sep 2011 19:42:18 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
  
<?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>rwd</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

承認

この操作では Get Container ACL共有キーの承認のみがサポートされます。

注釈

アカウント所有者がコンテナー内の BLOB をパブリック読み取りアクセスに使用できるようにするか、コンテナー内のリソースを共有アクセス署名を介して使用できるようにする場合を除き、アカウント所有者のみが特定のストレージ アカウントのデータを読み取ります。

請求

価格要求は、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリから Blob Storage API を使用するクライアントから送信できます。 これらの要求では、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに計上されます。 次の表は、ストレージ アカウントの種類に基づく要求の課金カテゴリ Get Container ACL を示しています。

操作 ストレージ アカウントの種類 課金カテゴリ
コンテナー ACL の取得 Premium ブロック BLOB
Standard 汎用 v2
その他の操作
コンテナー ACL の取得 Standard 汎用 v1 操作を読み取ります。

指定した課金カテゴリの価格については、「Azure Blob Storage価格」を参照してください。

こちらもご覧ください

コンテナーと BLOB へのアクセスを制限する
保存されているアクセス ポリシーを定義する
コンテナー ACL の設定
Azure Storage への要求を承認する
状態コードとエラー コード
Blob Storage のエラー コード