事前認証済リクエストの使用
事前認証済リクエストは、リクエスト作成者がオブジェクトにアクセスする権限を持っている場合、ユーザーが独自の資格証明を持たずにバケットまたはオブジェクトにアクセスできるようにする手段を提供します。
たとえば、ユーザーがAPIキーを所有せずにバケットにバックアップをアップロードする操作をサポートするリクエストを作成できます。 または、ビジネス・パートナがAPIキーを所有せずにバケット内の共有データを更新できるリクエストを作成できます。
事前認証済リクエストの作成時に、一意のURLが生成されます。 このURLを提供するユーザーは、curlやwgetなどの標準HTTPツールを使用して、事前認証済リクエストで識別されるObject Storageリソースにアクセスできます。
重要:
バケットまたはオブジェクトへの事前認証済アクセスのビジネス要件およびセキュリティ上の影響を評価します。
事前認証済リクエストURLは、リクエストで識別されたターゲットへのURLアクセス権を持つすべてのユーザーに提供します。 URLの配布を慎重に管理します。
概念の詳細は、「Oracle Private Cloud Appliance概要ガイド」の「オブジェクト・ストレージの概要」の項を参照してください。
事前認証済リクエストのリスト
この手順を使用して、その他のコマンドに必要な事前認証済リクエストIDの取得など、事前認証済リクエストに関する情報を取得します。
ノート:
事前認証済リクエストのリストには、事前認証済リクエストの作成時にシステムによって提供される一意のURLは表示されません。 URLは作成時にのみ表示され、後で取得することはできません。
OCI CLIの使用
- 
                           
                           バケット内のすべての事前認証済リクエストのリスト - 
                                 
                                 コマンドを実行するために必要な情報を収集します。 - 
                                       
                                       ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照) 
- 
                                       
                                       バケット名( oci os bucket list)、「バケットのリスト」を参照
 
- 
                                       
                                       
- 
                                 
                                 次のコマンドを実行します 構文(1行に入力): oci os preauth-request list --namespace-name object_storage_namespace --bucket-name bucket_name 例: oci os preauth-request list \ --namespace-name examplenamespace \ --bucket-name MyBucket { "data": [ { "access-type": "ObjectRead", "id": "5299a6f9-55c7-4805-88ca-b270c9a9e94f", "name": "PAR_ObjRead", "object-name": "compute.log", "time-created": "2021-06-10T20:34:01+00:00", "time-expires": "2021-07-30T23:55:00+00:00" }, { "access-type": "AnyObjectWrite", "id": "783cd56b-9df5-4518-aacf-f523deae5102", "name": "PAR-all-objectsRW", "object-name": null, "time-created": "2021-06-10T20:49:11+00:00", "time-expires": "2021-07-30T23:54:59+00:00" }, { "access-type": "ObjectRead", "id": "2ea48624-16ed-4d81-95ca-b23ea750ed3d", "name": "PAR-OS-READ", "object-name": "backup.log", "time-created": "2021-06-10T21:16:47+00:00", "time-expires": "2021-07-30T23:55:00+00:00" } ] }
 
- 
                                 
                                 
- 
                           
                           特定の事前認証済リクエストの詳細の取得- 
                                    
                                    コマンドを実行するために必要な情報を収集します。 - 
                                          
                                          ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照) 
- 
                                          
                                          バケット名( oci os bucket list)、「バケットのリスト」を参照
- 
                                          
                                          Preauth ID ( oci os preauth-request list)、「事前認証済リクエストのリスト」を参照
 
- 
                                          
                                          
- 
                                    
                                    次のコマンドを実行します 構文(1行に入力): oci os preauth-request get --namespace-name object_storage_namespace --bucket-name bucket_name --par-id preauth-id 例: oci os preauth-request get \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --par-id 5299a6f9-55c7-4805-88ca-b270c9a9e94f { "data": { "access-type": "ObjectRead", "id": "5299a6f9-55c7-4805-88ca-b270c9a9e94f", "name": "PAR_ObjRead", "object-name": "compute.log", "time-created": "2021-06-10T20:34:01+00:00", "time-expires": "2021-07-30T23:55:00+00:00" } }
 
- 
                                    
                                    
バケット内のすべてのオブジェクトに対する事前認証済リクエストの作成
OCI CLIの使用
- 
                           
                           コマンドを実行するために必要な情報を収集します。 - 
                                 
                                 ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照) 
- 
                                 
                                 バケット名( oci os bucket list)、「バケットのリスト」を参照
- 
                                 
                                 この事前認証済リクエストの名前。 
- 
                                 
                                 アクセス・タイプは、次のいずれかのアイテムです: - 
                                       
                                       AnyObjectReadは、バケット内のすべてのオブジェクトに対する読取りを許可します。
- 
                                       
                                       AnyObjectWriteは、バケット内のすべてのオブジェクトへの書込みを許可します。
- 
                                       
                                       AnyObjectReadWriteでは、バケット内のすべてのオブジェクトに対する読取りと書込みが許可されます。
 ノート: バケット内のオブジェクトのリストは、デフォルトでは拒否されます。 --access-typeがAnyObjectReadまたはAnyObjectReadWriteの場合、ユーザーがバケット内のオブジェクトをリストできる事前認証済リクエストの作成時に、オプションの--bucket-listing-action ListObjectsパラメータを指定できます。
- 
                                       
                                       
- 
                                 
                                 期限切れ時間は必須であり、RFC 3339タイムスタンプである必要があります。 たとえば: 2017-09-01T00:09:51.000+02:00。
 
- 
                                 
                                 
- 
                           
                           次のコマンドを実行します 構文(1行に入力): oci os preauth-request create --namespace-name object_storage_namespace --bucket-name bucket_name --name preauthenticated_request_name --access-type access_value --time-expires timestamp この例では、バケット内のすべてのオブジェクトに対する読取りと書込みを許可する事前認証済リクエストを作成します: oci os preauth-request create \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --name PAR-all-objectsRW \ --access-type AnyObjectWrite \ --time-expires '2021-07-30 23:55' { "data": { "access-type": "AnyObjectWrite", "access-uri": "/p/KOCRWzqBilJmIsaBbJNelKLWcOxwRLq/n/examplenamespace/b/MyBucket/o/", "id": "783cd56b-9df5-4518-aacf-f523deae5102", "name": "PAR-all-objectsRW", "object-name": null, "time-created": "2021-06-10T20:49:11+00:00", "time-expires": "2021-07-30T23:54:59+00:00" } }
- 
                           
                           重要- access-uriを永続ストレージにコピーします。 システムによって提供される一意の access-uriは、ユーザーがリクエスト・ターゲットとして指定されたバケットまたはオブジェクトにアクセスするために使用できるURLを作成する唯一の方法です。The access-uri「作成時にのみ表示され、後で取得することはできません。」
- 
                           
                           一意の access-uriからURLを作成します。「事前認証済リクエストURLの作成」を参照してください。 
特定のオブジェクトの事前認証済リクエストの作成
OCI CLIの使用
- 
                           
                           コマンドを実行するために必要な情報を収集します。 - 
                                 
                                 ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照) 
- 
                                 
                                 バケット名( oci os bucket list)、「バケットのリスト」を参照
- 
                                 
                                 この事前認証済リクエストの名前。 
- 
                                 
                                 アクセス・タイプは、次のいずれかの値です: - 
                                       
                                       AnyObjectReadは、バケット内のすべてのオブジェクトに対する読取りを許可します。
- 
                                       
                                       AnyObjectWriteは、バケット内のすべてのオブジェクトへの書込みを許可します。
- 
                                       
                                       AnyObjectReadWriteでは、バケット内のすべてのオブジェクトに対する読取りと書込みが許可されます。
 ノート: バケット内のオブジェクトのリストは、デフォルトでは拒否されます。 --access-typeがAnyObjectReadまたはAnyObjectReadWriteの場合、ユーザーがバケット内のオブジェクトをリストできる事前認証済リクエストの作成時に、オプションの--bucket-listing-action ListObjectsパラメータを指定できます。
- 
                                       
                                       
- 
                                 
                                 期限切れ時間は必須であり、RFC 3339タイムスタンプである必要があります。 たとえば: 2017-09-01T00:09:51.000+02:00。
- 
                                 
                                 オブジェクト名または null
 
- 
                                 
                                 
- 
                           
                           構文(1行に入力): oci os preauth-request create --namespace-name object_storage_namespace --bucket-name bucket_name --name preauthenticated_request_name --access-type access_value --time-expires timestamp -on object_name_or_null 例: oci os preauth-request create --namespace-name examplenamespace \ --bucket-name MyBucket --name PAR-OS-READ --access-type ObjectRead --time-expires '2021-07-30 23:55' -on compute.log { "data": { "access-type": "ObjectRead", "access-uri": "/p/eWvgyLcDthhvVUNkVaejymgDTOILHli/n/examplenamespace/b/MyBucket/o/compute.log", "id": "2ea48624-16ed-4d81-95ca-b23ea750ed3d", "name": "PAR-OS-READ", "object-name": "compute.log", "time-created": "2021-06-10T21:16:47+00:00", "time-expires": "2021-07-30T23:55:00+00:00" } }
- 
                           
                           重要- access-uriを永続ストレージにコピーします。 システムによって提供される一意の access-uriは、ユーザーがリクエスト・ターゲットとして指定されたバケットまたはオブジェクトにアクセスするために使用できるURLを作成する唯一の方法です。The access-uri「作成時にのみ表示され、後で取得することはできません。」
- 
                           
                           一意の access-uriからURLを作成します。「事前認証済リクエストURLの作成」を参照してください。 
事前認証済リクエストURLの作成
一意のaccess-uriを設定した後、ユーザーが事前認証済オブジェクトにアクセスできるようにするアクセスURLを作成できます。
                  
- 
                        
                        この構文を使用してURLを作成します。 構文: https://objectstorage.pca_fqdn/access-uri 説明: - 
                              
                              pca_fqdnは、アプライアンスの完全修飾ドメイン名です。 
- 
                              
                              access-uriは、次のいずれかのプロシージャから取得されたアクセスURIです: 
 例: https://objectstorage.mypca01.example.com/p/MrxLFkKlFkIlNDhvhcZnrjbUAlsoeah/n/mynamespace/b/my-bucket/o/my-object 
- 
                              
                              
事前認証済リクエストの削除
OCI CLIの使用
- 
                           
                           コマンドを実行するために必要な情報を収集します。 - 
                                 
                                 ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照) 
- 
                                 
                                 バケット名( oci os bucket list)、「バケットのリスト」を参照
- 
                                 
                                 Preauth ID ( oci os preauth-request list)、「事前認証済リクエストのリスト」を参照
 
- 
                                 
                                 
- 
                           
                           構文(1行に入力): oci os preauth-request delete --namespace-name object_storage_namespace --bucket-name bucket_name --par-id preauthenticated_request_id 例: oci os preauth-request delete \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --par-id 2ea48624-16ed-4d81-95ca-b23ea750ed3d Are you sure you want to delete this resource? [y/N]: y 
事前認証済リクエストのオブジェクトのリスト
一意のリクエストURLを使用すると、curlなどのツールを使用して、事前認証済リクエストを使用してデータをリスト、読取りおよび書込みできます。
curlの使用
- 
                           
                           構文(1行に入力): $ curl -X GET unique-PAR-URL例: $ curl -X GET \ https://objectstorage.us-example-1.example.com/p/CoO26YkSARiRevWlDWJD_QUvtFPUocn/n/examplenamespace/b/MyParBucket/o/ {"objects":[{"name":"InfoWorld DeepDive - Tips for Git and GitHub Users.pdf"},{"name":"OCI_User_Guide.pdf"}, {"name":"OracleCorporateTerminologyUsageGuideRedwood.pdf"},{"name":"VPN.png"},{"name":"eventslogreference.htm"}, {"name":"functionslogreference.htm"},{"name":"glob.txt"},{"name":"loadbalancerreference.htm"},{"name":"objectstoragelogreference.htm"}, {"name":"servicechanges.html"},{"name":"servicediscovery.dita"},{"name":"serviceessentials.html"},{"name":"servicelogreference.htm"}, {"name":"services.html"}]}
事前認証済リクエストを使用したオブジェクトのアップロード
一意のリクエストURLを使用すると、curlなどのツールを使用して、事前認証済リクエストを使用してデータの読取りと書込みを行うことができます。
curlの使用
- 
                           
                           構文(1行に入力): $ curl -X PUT --data-binary '@local-filename' unique-PAR-URL 例: $ curl -X PUT \ --data-binary '@using-dita-guide.pdf' \ https://objectstorage.us-example-1.example.com/p/lnaqMuXWef_lhTxCiS9ngCw/n/examplenamespace/b/MyParBucket/o/using-dita-guide.pdf 
事前認証済リクエストを使用したオブジェクトのダウンロード
一意のリクエストURLを使用すると、curlなどのツールを使用して、事前認証済リクエストを使用してデータの読取りと書込みを行うことができます。
curlの使用
- 
                           
                           構文(1行に入力): $ curl -X GET unique-PAR-URL例: $ curl -X GET \ https://objectstorage.example.com/p/tnjDhazP9o6s2KzLyFUxILQzSamEp/n/examplenamespace/b/MyParBucket/o/OCI_User_Guide.pdf '@data.1''@data.2''@data.3'