パイプライン・ポリシー
データ・サイエンス・パイプラインが正しく機能するには、特定の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' }