前提条件
Oracle Analytics Cloud REST APIを使用する前に、必要なすべての前提条件を満たしていることを確認してください。
- スナップショットREST API - リソース・プリンシパル認証の前提条件
- スナップショットREST API - ユーザー・プリンシパル認証の前提条件(非推奨)
スナップショットREST API - リソース・プリンシパル認証の前提条件
スナップショットREST APIを使用する前に、Oracle Analytics Cloudがスナップショット・ストレージのバケットにアクセスできるように、Oracle Cloud Infrastructure (OCI)でいくつかの前提条件タスクを完了する必要があります。 Oracleでは、「リソース・プリンシパル認証」を使用してスナップショット・ストレージへのアクセスを許可することをお薦めします:
- Oracle Analytics Cloudインスタンスのスナップショットの格納に適したバケットをOCIオブジェクト・ストレージに作成します。
- リソース・プリンシパル認証を使用して、Oracle Analytics Cloudインスタンスがストレージ・バケットにアクセスできるようにするOCI IAMポリシーを作成します。
auth typeパラメータをOCI_RESOURCE_PRINCIPALに設定して使用できます。
スナップショットを格納するためのバケットの作成
まず、スナップショット用のプライベート・バケットをObject Storageに作成します。 バケットは、Oracle Analytics Cloudインスタンスと同じリージョンおよびテナンシに存在する必要があります。
オブジェクト・ストレージでバケットを作成するために必要な権限の詳細は、「必須IAMポリシー」を参照してください。
- Oracle Cloud Infrastructure (OCI)オブジェクト・ストレージへのアクセス権と、スナップショットを格納できるバケットを作成する権限があることを確認します。 具体的には、スナップショットが格納されているストレージ・バケットに対して次の権限が必要です:
OBJECT_CREATEOBJECT_OVERWRITE
- Oracle Cloud Infrastructureコンソールで、「オブジェクト・ストレージ &アーカイブ・ストレージ」に移動します。
OCIオブジェクト・ストレージへのアクセス権と、スナップショットを格納するバケットを作成する権限が必要です。
- 「オブジェクト・ストレージ &アーカイブ・ストレージ」の下で、「バケット」をクリックします。
- 必要なコンパートメントを選択します。
- スナップショットのプライベート・バケットを作成します。 「バケットの作成」をクリックします。
バケットはデフォルトでプライベートです。
Oracle Analytics Cloudにストレージ・バケットへのアクセス権を付与
次に、リソース・プリンシパル認証を使用して、Oracle Analytics Cloudインスタンスにストレージ・バケットへの読取りおよび書込みアクセス権を付与するOCI IAMポリシーを作成します。 ポリシーの作成には、Oracle Cloud Infrastructureコンソールを使用します。 詳細は、「ポリシーの管理」を参照してください。
- Oracle Cloud Infrastructureコンソールで、「アイデンティティ&セキュリティ」に移動します。 「アイデンティティ」で、「ポリシー」をクリックします。
- 「Create Policy」をクリックします。
- ポリシーおよびポリシー・ステートメントの名前を入力します。
ガイダンスについては、次のサンプル・ポリシーを参照してください。
リソース・プリンシパル認証のサンプルIAMポリシー
ノート:
Oracle Analytics Cloudは、スナップショット、データセットのソース・ファイル、ピクセルパーフェクト・レポートの配信ロケーションなど、いくつかの理由でOCIオブジェクト・ストレージを使用します。 これらのサンプルIAMポリシーにより、スナップショット・ストレージに使用するバケットに対するOracle Analytics Cloud管理権限が付与されます。 ただし、リソース・プリンシパルを使用してインスタンスにオブジェクト・ストレージへのアクセス権を付与する場合、リソース・プリンシパルを使用してオブジェクト・ストレージと統合するOracle Analytics Cloudインスタンスのすべての機能は、スナップショットREST APIだけでなく、同じアクセス権を持つことに注意してください。-
Allow any-user TO manage objects IN tenancy where request.principal.id='ocid1.analyticsinstancedev.oc1.iad.test.aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffffgggggggghhhh'
-
Allow any-user TO manage objects IN compartment myOAC-compartment where request.principal.id='ocid1.analyticsinstancedev.oc1.iad.test.aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffffgggggggghhhh'
-
Allow any-user TO manage objects IN compartment myOAC-compartment where all {request.principal.id='ocid1.analyticsinstancedev.oc1.iad.test.aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffffgggggggghhhh', target.bucket.name = 'myOAC-snapshot-bucket'}
-
Allow any-user TO manage objects IN compartment myOAC-compartment where all {request.principal.id='ocid1.analyticsinstancedev.oc1.iad.test.aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffffgggggggghhhh', target.bucket.name = 'myOAC-snapshot-bucket', target.object.name = 'myOACsnapshots/*'}
スナップショットREST API - ユーザー・プリンシパル認証の前提条件(非推奨)
(2024年11月から非推奨) 「ユーザー・プリンシパル認証」の前提条件タスク(API署名キーを使用)は異なります:
- Oracle Cloud Infrastructure (OCI)オブジェクト・ストレージへのアクセス権と、スナップショットを格納できるバケットを作成する権限があることを確認します。 具体的には、スナップショットが格納されているストレージ・バケットに対して次の権限が必要です:
OBJECT_CREATEOBJECT_OVERWRITE
-
スナップショットが格納されているOCIオブジェクト・ストレージへのアクセスを自分(または別のユーザー)に認可するOracle Cloud Infrastructure API署名キーを生成します。 「API署名キーを生成する方法」を参照してください。
一部のスナップショットAPIのペイロードでこの署名キーを渡す必要があります。 ペイロードに追加する前に、Base64URLで秘密キー(
ociPrivateKeyWrapped)をエンコードする必要があります。 たとえば、秘密キーからBase64URLエンコード文字列を生成するには:Mac上:
cat myprivate-key.pem | base64 -o mywrapped-private-key.pemLinuxの場合:
cat myprivate-key.pem | base64 -w 0 > mywrapped-private-key.pemノート: エンコードする秘密キー・ファイルに
-----BEGINタグと-----ENDタグが含まれていることを確認します。 - OCI Object Storageへのアクセスに必要な追加情報を取得します。 たとえば、リージョン、テナンシのOracle Cloud ID (OCID)およびユーザーOCIDです。 「テナンシOCIDとユーザーOCIDの入手場所」を参照してください。
Oracle Analytics Cloudインスタンスのユーザー・プリンシパルを設定した後、「スナップショット・エンドポイントの作成」を使用して、auth typeパラメータをOSS_AUTH_OCI_USER_IDに設定できます。