パイプライン・ポリシー

データ・サイエンス・パイプラインが正しく機能するには、特定のIAMポリシーが必要です。

これらのポリシーにより、ネットワーキング、ロギング、オブジェクト・ストレージなどの重要なOCIサービスへのアクセスが保証されます。このドキュメントでは、これらのポリシーを設定するための包括的で簡潔なガイドを提供します。

ポリシー

OCIサービスへのパイプライン実行アクセス
パイプライン実行が、ロギング、ネットワーキング、オブジェクト・ストレージなどのOCIサービスにアクセスできるようにします:
allow any-user to use object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to use virtual-network-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to use log-content in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
OCIRでのコンテナ・イメージへのアクセス
OCIRのコンテナ・イメージを読み取るためのパイプライン実行の権限を付与します:
allow any-user to read repos in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
カスタム・ネットワーキング
データ・サイエンスでカスタム・ネットワーキングの使用を許可:
allow service datascience to use virtual-network-family in compartment <COMPARMENT_NAME>
ストレージ・マウントとしてのオブジェクト・ストレージ・バケットの使用
パイプライン実行を有効にして、オブジェクト・ストレージ・バケットにアクセスします:
allow any-user to use object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
ファイル・ストレージおよびストレージ・マウントの使用
ファイル・ストレージへのアクセスを提供します。
allow any-user to use file-systems in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to use mount-targets in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
データ・フローとパイプラインの統合
パイプラインでデータ・フロー・アプリケーションを使用する場合、次のように、データ・フローにアクセスするためのパイプライン実行権限を付与するポリシーが必要です。
allow any-user to read object-family in compartment <YOUR_COMPARTMENT> where any { request.principal.type = 'datasciencepipelinerun' }
allow any-user to manage dataflow-run in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to read dataflow-application in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
パイプラインを操作するユーザーに適切な権限が付与されていることを確認します。データ・フローとデータ・サイエンス間の統合をユーザーにかわって確立するには、次のポリシーが必要です。また、ユーザーのかわりにサービスでは、コンパートメントを検査してそこでリソースを管理し、イベント・ルールを管理してサービス間の通信を確立する必要があります。次のポリシーは、ユーザーがdatascienceusersグループに属していることを前提としています。
allow group datascienceusers to inspect compartments in tenancy
allow group datascienceusers to manage cloudevents-rules in tenancy where all {target.rule.type='managed', target.event.source in ('dataflow')}
allow group datascienceusers to read dataflow-application in compartment <YOUR_COMPARTMENT>
データ・サイエンス・リソースの一般アクセス
データ・サイエンス・リソースへの包括的なアクセスを提供します。
allow any-user to manage data-science-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
これらの文は動的グループを使用しませんが、動的グループを使用して等価ポリシーを簡単に作成できます。たとえば、次のように書く代わりに:
allow any-user to read object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type='datasciencepipelinerun' }
次のように記述できます。
allow dynamic-group sample_group to read object-family in compartment <COMPARTMENT_NAME>
ここで、sample_groupは次のように定義されます。
ALL { resource.type = 'datasciencepipelinerun' }