OCIデータ・フロー・サービスでタスクを実行するために必要な設定およびポリシー
OCIデータ・フロー・サービスで実行するように構成できるのは、データ統合で作成および公開する統合タスクのみです。
OCIデータ・フロー・サービスでタスクを実行するには、次のリソースおよびポリシーが設定されていることを確認します。
-
データ・ソースに接続するには、パスワードにOCI Vaultのシークレットを使用するように構成する必要があります。これは、OCIサービス間で資格証明を安全に渡すために必要です。OCI VaultのシークレットおよびOracle Walletを参照してください。
-
データベース・ホストの完全修飾ドメイン名(FQDN)を使用して指定する必要があります。OCIデータ・フロー・サービスでは、直接IPアドレスを介した接続は許可されません。
OCIオブジェクト・ストレージ
-
次のオブジェクト・ストレージ・バケットが必要です:
- データ・フロー・アプリケーション実行ログをアップロードするOCIデータ・フロー・サービス。
- jarやzipファイルなどの実行ジョブのアーティファクトをアップロードするデータ統合サービス。
タスクのOCIデータ・フロー・サービス実行構成を初めて編集する場合、データ統合サービスではバケット
dis-df-system-bucket
がすでに存在する場合は自動的に選択されます。それ以外の場合は、データ・フロー・サービスを使用するようにタスク実行構成を更新するときに、ログおよびアーティファクト・バケットを選択する必要があります。 -
オブジェクト・ストレージにアクセスするための関連する権限およびIAMポリシー(OCIオブジェクト・ストレージへのアクセスを有効にするポリシーの例を参照)。
オブジェクト・ストレージを使用するには、様々なタイプのポリシー(リソース・プリンシパル・ポリシーおよびon behalf ofポリシー)が必要です。必要なポリシーは、オブジェクト・ストレージ・インスタンスとデータ統合ワークスペースが同じテナンシにあるかどうか、または異なるテナントにあるかどうか、およびポリシーをコンパートメント・レベルで作成するかテナンシ・レベルで作成するかによっても異なります。ブログのOracle Cloud Infrastructure (OCI) Data Integrationのポリシーで、特定のニーズに対するポリシーの特定に役立つその他の例をご紹介します。
OCIデータ・フロー・サービス
-
プール。OCIデータ・フローのドキュメントのプールの作成を参照してください。
OCIデータ・フロー・サービスでデータ統合サービス・タスクを実行するには、必要なプールに2つ以上のコンピュート・シェイプを含む単一の構成が必要です。
-
プライベート・エンドポイント。OCIデータ・フローのドキュメントのプライベート・エンドポイントの作成を参照してください。
データ統合サービス・タスクがプライベートIPを使用してのみ使用可能なデータ・ソースにアクセスする場合、プライベート・エンドポイントは、それらのデータ・ソースを操作するためにテナンシ内のプライベート・ネットワークへのOCIデータ・フロー・アクセスを付与するために必要です。
-
データ・フロー・サービス実行構成が有効になっているタスクをデータ統合サービスから公開し、データ・フロー・サービス(プライベート・エンドポイントの有無にかかわらず)でタスクを実行する関連ポリシー。
データ統合でデータ・フロー・サービスでタスクを実行するには:
allow any-user to manage dataflow-family in compartment <compartment-name> where ALL {request.principal.type = 'disworkspace', request.principal.id = '<workspace-ocid>'}
ユーザーがデータ・フロー・サービスに直接アクセスするには:
allow group <group-name> to read dataflow-application in compartment <compartment-name>
allow group <group-name> to manage dataflow-run in compartment <compartment-name>
ユーザーがデータ・フローのプライベート・エンドポイントおよびシークレット・バンドルを管理するには:
allow any-user to read dataflow-private-endpoint in compartment <compartment-name> where ALL {request.principal.type = 'disworkspace', request.principal.id = '<workspace-ocid>'}
allow any-user to read secret-bundles in compartment <compartment-name> where ALL {request.principal.type = 'disworkspace', request.principal.id = '<workspace-ocid>'}
データ・フロー・サービスで、データ・フローのデータ統合タスクの実行構成で指定されているオブジェクト・ストレージ・バケットからアプリケーション実行ログを読み取るには:
ALLOW SERVICE dataflow TO READ objects IN tenancy WHERE target.bucket.name = '<log-bucket-name>'
非管理者ユーザーの場合、次のポリシーが必要です:
allow group <group-name> to inspect dataflow-private-endpoint in compartment <compartment-name>
allow group <group-name> to read secret-bundles in compartment <compartment-name>
前提条件のリソースおよびポリシー要件を満たした後、OCIデータ・フロー・サービスで実行するタスクの実行構成を編集します。OCIデータ・フロー・サービスのタスク実行構成の更新を参照してください。
IAMコンポーネント(動的グループやポリシー・ステートメントなど)を追加した後は、関連付けられたタスクをすぐに実行しないでください。新しいIAMポリシーを有効にするには、約5分から10分かかります。