オブジェクト・ストレージの事前認証済リクエスト
事前認証済リクエスト機能を使用して、ユーザーがサインオン資格証明を指定せずにバケットまたはオブジェクトにアクセスできるようにする方法について学習します。
事前認証済リクエストによって、ユーザーは独自の資格証明を持たずにバケットまたはオブジェクトにアクセスできるようになります。リクエストの作成者がそれらのリソースにアクセスする権限を持っているかぎり、ユーザーはバケットまたはオブジェクトに引き続きアクセスできます。たとえば、操作サポート・ユーザーがAPIキーを所有せずにバケットにバックアップをアップロードするリクエストを作成できます。または、ビジネス・パートナがAPIキーを所有せずに、バケット内のすべての四半期財務レポートにアクセスできるようにするリクエストを作成できます。
事前認証済リクエストを作成すると、一意のURLが生成されます。このURLを提供するすべての人は、curlやwgetなどの標準HTTPツールを使用して、事前認証済リクエストで特定されたObject Storageリソースにアクセスできます。
バケットまたはオブジェクトへの事前認証済アクセスのビジネス要件を評価します。事前認証済リクエストURLは、URLを持っているユーザーに、リクエストで特定されたターゲットへのアクセスを提供します。URLの配布は慎重に管理してください。
事前認証済リクエスト・タスク
次の事前認証済リクエスト・タスクを実行できます:
必要な権限
事前認証済リクエストの作成
事前認証済リクエストを作成または管理するには、ターゲット・バケットに対するPAR_MANAGE
権限が必要です。
事前認証済リクエストを作成するにはPAR_MANAGE
権限のみが必要ですが、付与するアクセス・タイプに対して適切な権限も必要です。例:
- オブジェクトをバケットにアップロードするための事前認証済リクエストを作成する場合は、
PAR_MANAGE
に加えて、OBJECT_CREATE
およびOBJECT_OVERWRITE
権限が必要です。 -
Bucket内のオブジェクトに対する読み取り/書き込みアクセスのための事前認証済みリクエストを作成する場合は、
PAR_MANAGE
だけでなく、OBJECT_READ
、OBJECT_CREATE
、およびOBJECT_OVERWRITE
アクセス権が必要です。
事前認証済リクエストの作成者が、リクエストを作成した後で削除されたり、必要な権限を喪失すると、そのリクエストは機能しなくなります。
事前認証済リクエストの使用
事前認証済リクエストを使用するたびに、事前認証済リクエスト作成者の権限がチェックされます。次のいずれかが発生すると、事前認証済リクエストは機能しなくなります:
-
事前認証済リクエスト作成者の権限が変更される。
-
事前認証済リクエストを作成したユーザーが削除される
-
事前認証済リクエストを作成したフェデレーテッド・ユーザーが、そのリクエストを作成したときのユーザー機能を失う
-
事前認証済リクエストが期限切れになるか、削除される。
オプション
次のいずれかに対する読取り、書込みまたは読取り/書込みアクセス権を付与する事前認証済リクエストを作成できます:
-
バケット内のすべてのオブジェクト。
-
バケット内の特定のオブジェクト。
-
指定された接頭辞を持つバケット内のすべてのオブジェクト。
複数のオブジェクトに適用されるリクエストの場合、ユーザーにそれらのオブジェクトのリスト表示を許可するかどうかを決定することもできます。
範囲および制約
事前認証済リクエストに関する次の範囲および制約について理解します:
-
事前認証済リクエストはいくつでも作成できます。
-
オブジェクト名を含む、事前認証済リクエストの最大長は3500バイトです。
-
バケット内のすべてのオブジェクトに対して作成された事前認証済リクエストにより、リクエスト・ユーザーは任意の数のオブジェクトをバケットにアップロードできます。
-
有効期限が必要ですが、制限はありません。将来の任意の日時に設定できます。
-
事前認証済リクエストは編集できません。要件の変更に対応してユーザーのアクセス・オプションの変更またはオブジェクト・リストの有効化を行うには、新しい事前認証済リクエストを作成する必要があります。
-
デフォルトでは、バケットまたは接頭辞付きオブジェクトに対する事前認証済リクエストを使用してオブジェクトをリストすることはできません。事前認証済リクエストの作成時にオブジェクト・リストを明示的に有効化できます。
-
特定の接頭辞を持つオブジェクトに範囲を制限する事前認証済リクエストを作成する場合、リクエスト・ユーザーは、リクエストで指定された接頭辞名を持つオブジェクトのみを
GET
およびPUT
できます。指定された接頭辞を持たないオブジェクトや別の接頭辞を持つオブジェクトをGET
またはPUT
しようとすると、失敗します。 -
事前認証済リクエストのターゲットおよびアクションは、作成者の権限に基づきます。ただし、リクエストは作成者のアカウント・サインイン資格証明にバインドされません。作成者のサインイン資格証明が変更されても、事前認証済リクエストには影響しません。
-
事前認証済リクエストを削除すると、関連付けられたバケットまたはオブジェクトに対するユーザー・アクセスが取り消されます。
-
事前認証済リクエストを使用してバケットまたはオブジェクトを削除することはできません。
-
バケットまたはバケット内のオブジェクトに関連付けられた事前認証済リクエストを持つバケットは削除できません。