ポリシー設定

MLアプリケーション・ポリシーの設定

ポリシーの設定は、次の場合に重要です。

  • 機能の確保: MLアプリケーションを完全に機能させるには、必要な権限を付与する必要があります。ソリューションのサービスに必要な権限がない場合、ソリューションは失敗します。たとえば、サブネットへのMLジョブ・アクセス権を付与しないと、アプリケーションが破損する可能性があります。

  • 最小権限の原則に従う: セキュリティを維持するには、必要な権限のみを付与することが重要です。たとえば、テナンシ全体にわたって"manage object-family"などの広範な権限を付与するかわりに、特定のリソース・プリンシパルの特定のコンパートメント内のバケットの読取りなど、特定のアクションを付与します。

  • テナント分離の実装: MLアプリケーションを使用すると、テナント分離を実装することもできます。これにより、顧客にかわって実行されるワークロードは、各顧客が所有するリソースにのみアクセスでき、追加のセキュリティ・レイヤーが提供されます。

MLアプリケーションとして構築されたAI/MLソリューションは、通常、いくつかのOCIサービス(データ・サイエンス、オブジェクト・ストレージ、ネットワーキング、ロギングなど)に依存します。MLアプリケーション・リソースに固有のものを含め、これらすべてのサービスに対して正しいポリシーを構成します。

サンプル・インフラストラクチャ・プロジェクトを使用したポリシー設定の簡略化

このプロセスを容易にするために、MLアプリケーションはサンプル・インフラストラクチャ・プロジェクトを提供します。このプロジェクトは、MLアプリケーションを開発するための本番グレードのポリシーおよびその他の前提条件を設定するのに役立ちます。同じテナンシのプロバイダとコンシューマ、異なるテナンシ、さらには内部MLアプリケーション環境など、すべてのシナリオをサポートします。

サンプル・インフラストラクチャ・プロジェクトは、sample-project-policiesから入手できます。

このプロジェクトをクローニングし、これを使用して、MLアプリケーションがデプロイされているすべての環境のインフラストラクチャを準備します。テナント分離を実装する最小権限ポリシーが作成されます。ポリシーには、コンパートメント、タグ・ネームスペースおよびタグも含まれます。

プロジェクトには、README.mdファイルにドキュメントが含まれており、プロジェクトとそのコンポーネントに関する詳細情報を確認できます。

次のステップに従って、必要なポリシーを含むMLアプリケーションの環境を構成します。

  1. 環境フォルダを準備します。

    • デフォルトのdev環境フォルダ(environments/dev)を使用するか、テンプレートとして使用してカスタム環境を作成できます。
    • カスタム環境を作成するには:
      • dev環境フォルダ(environments/dev)のコピーを作成します。
      • コピーしたフォルダの名前を環境の名前と一致するように変更します。
  2. 環境を構成します。

    • 環境に対応するフォルダ(environments/devなど)に移動します。
    • input_variables.tfvarsファイルを編集して、環境設定を構成します。
  3. Terraformを実行してリソースを作成します:

    1. 環境フォルダでTerraformを初期化します:

      terraform init
    2. 構成を適用して、コンパートメント、ポリシー、タグ・ネームスペースおよびタグを作成します:
      terraform apply -var- file input_variables.tfvars
    3. 必要に応じて、作成されたリソースを破棄します。
      terraform destroy -var- file input_variables.tfvars
ノート

  • HTTPプロキシの構成が必要になる場合があります。

  • Terraformスクリプトによって、名前が付けられた最上位レベルのコンパートメントが作成されます
    ml-app-<name-of-your-application>-<environment-suffix>
    .
  • Terraformによって作成されたリソースをプレビューするには、次を実行します:

    terraform plan -var- file input_variables.tfvars
  • アプリケーションで特定のサブネットが必要な場合は、input_variables.tfvarsファイルにそのIDを指定します。