次の方法で共有


コンテナー ACL の取得

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

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

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

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

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

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

コンテナーへのパブリック アクセスはすべて匿名であり、Shared Access Signature を介したアクセスも同様です。

依頼

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

方式 要求 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として指定し、その後にエミュレートされたストレージ アカウント名を指定します。

方式 要求 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) 文字制限を持つクライアント生成の不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティと、サーバーが受信する要求を関連付けすることを強くお勧めします。 詳細については、「Monitor Azure Blob Storage」を参照してください。

要求本文

何一つ。

応答

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

状態コード

操作が成功すると、状態コード 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 要求とそれに対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、1,024 文字以下の ASCII 文字が含まれている場合、x-ms-client-request-id ヘッダーの値と同じです。 x-ms-client-request-id ヘッダーが要求に存在しない場合、このヘッダーは応答に存在しません。

応答本文

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

<?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>  
  

認可

Azure Storage でデータ アクセス操作を呼び出す場合は、承認が必要です。 次の説明に従って、Get Container ACL 操作を承認できます。

大事な

Microsoft では、マネージド ID で Microsoft Entra ID を使用して、Azure Storage への要求を承認することをお勧めします。 Microsoft Entra ID は、共有キーの承認と比較して優れたセキュリティと使いやすさを提供します。

Azure Storage では、Microsoft Entra ID を使用して BLOB データへの要求を承認できます。 Microsoft Entra ID を使用すると、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、セキュリティ プリンシパルにアクセス許可を付与できます。 セキュリティ プリンシパルには、ユーザー、グループ、アプリケーション サービス プリンシパル、または Azure マネージド ID を指定できます。 セキュリティ プリンシパルは、OAuth 2.0 トークンを返すために Microsoft Entra ID によって認証されます。 その後、トークンを使用して、BLOB サービスに対する要求を承認できます。

Microsoft Entra ID を使用した承認の詳細については、「Microsoft Entra IDを使用して BLOB へのアクセスを承認する」を参照してください。

権限

Microsoft Entra ユーザー、グループ、マネージド ID、またはサービス プリンシパルが Get Container ACL 操作を呼び出すために必要な RBAC アクションと、このアクションを含む最小特権の組み込み Azure RBAC ロールを次に示します。

  • azure RBAC アクションの : Microsoft.Storage/storageAccounts/blobServices/containers/getAcl/action をする
  • 最小特権組み込みロール: ストレージ BLOB データ所有者

Azure RBAC を使用したロールの割り当ての詳細については、「BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。

備考

何一つ。 この操作 コストに与える影響の詳細については、課金情報 を参照してください。

請求

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

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

指定された課金カテゴリの価格については、Azure Blob Storage の価格に関するページを参照してください。

関連項目

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