アプリケーションのデプロイの権限

このトピックでは、OCIに生成AIアプリケーションをデプロイするために必要なIAM権限について説明します。ここでは、ユーザーがアプリケーションやデプロイメントを作成および管理するために必要なアクセス、およびアプリケーションがOCIRからDockerイメージを取得するために必要な権限の概要を示します。

デプロイ

  • アプリケーションは、スケーリング、ストレージ、環境変数、ネットワーキング(エグレスとエンドポイント)、アイデンティティ・ドメインを介した認証など、生成AIワークロードの管理対象ランタイムを提供します。
  • アプリケーション内のデプロイメントでは、アプリケーションをデプロイするためのOCIR Dockerイメージ(アーティファクトと呼ばれます)を指定します。
  • 導入前に、OCIの脆弱性スキャン・サービスはDockerイメージをスキャンします。スキャンで重大な脆弱性が見つかった場合、デプロイメントは失敗します。
  • 一般的なデプロイメント・ワークフロー
    1. アプリケーションを作成します。
    2. デプロイメントの追加
    3. Dockerイメージをデプロイします。

必要なパーミッション

アプリケーションを作成する前に設定します。

OCI Vulnerability Scanningサービス
  • Dockerイメージを格納するリポジトリを読み取るためのサービス権限を付与し、デプロイ前にそれらをスキャンできるようにします。
アプリケーション用
  • 指定されたコンパートメントまたはテナンシに作成されたアプリケーションの動的グループを作成します。
  • 指定されたコンパートメント内のOCIRリポジトリを読み取るための動的グループ権限を付与します。
  • 脆弱性スキャン結果を読み取るための動的グループ権限を付与し、デプロイ前にイメージがスキャンに合格することをアプリケーションで確認できるようにします。
ユーザー向け
  • アプリケーション・リソースへのアクセス。
  • デプロイメント・リソースへのアクセス。
  • アーティファクト・リソース(Dockerイメージ)へのアクセス。

OCI脆弱性スキャン・サービス向け

Dockerイメージを格納するリポジトリを読み取るためのサービス権限を付与し、デプロイ前にそれらをスキャンできるようにします。

allow service vulnerability-scanning-service 
to read compartments in compartment <compartement-with-repos>
allow service vulnerability-scanning-service 
to read repos in compartment <compartement-with-repos> 
                   

OCI生成AIアプリケーション向け

  • テナンシまたは指定されたコンパートメントに作成されるアプリケーションおよびそのデプロイメントの動的グループを作成します。
  • 指定されたコンパートメント内のOCIRリポジトリを読み取るための動的グループ権限を付与します。
  • 脆弱性スキャン結果を読み取るための動的グループ権限を付与し、デプロイ前にイメージがスキャンに合格することをアプリケーションで確認できるようにします。
  1. 次の一致ルールを使用して、テナンシ内のアプリケーションおよびデプロイメントの動的グループを作成します:
    all {resource.type='generativeaihostedapplication',
    resource.type='generativeaihosteddeployment'}
  2. アプリケーションとそのデプロイメントを特定のコンパートメントに制限するには、前の条件を次のように更新します:
    all {resource.type='generativeaihostedapplication',
    resource.type='generativeaihosteddeployment',
    resource.compartment.id='<your-compartment-OCID>'}
  3. ポリシーを作成して、指定されたコンパートメント内のOCIRリポジトリを読み取るための動的グループ権限を付与します。
    Allow dynamic-group <dynamic-group-name> 
    to read repos in compartment <your-compartment-name>'}
  4. 別のポリシーを追加して、動的グループに脆弱性スキャン結果を読み取る権限を付与し、デプロイ前にイメージがスキャンに合格することをアプリケーションで確認できるようにします。
     Allow dynamic-group <dynamic-group-name> 
    to read vss-family in compartment <your-compartment-name>
  5. エージェントが他のOCIリソースにアクセスする必要がある場合は、そのサービスのリソースを読み取るポリシーを追加します。次に例を示します。

    オブジェクト・ストレージへのエージェント・アクセスの例

    ホストされたデプロイメントに、コンパートメント内のオブジェクト・ストレージから読み取る権限を付与します。

     Allow dynamic-group <dynamic-group-name> 
    to read object-family in compartment <your-compartment-name>

    他の例については、共通ポリシーを参照してください。

QuickStartユーザーの権限

リソースを表示するには
アプリケーション、デプロイメントおよびアーティファクトを表示するには、最小限のIAMポリシーを追加します。
allow group <your-group-name> 
to use generative-ai-hosted-application in compartment <your-compartment-name>
allow group <your-group-name> 
to use generativeaihosteddeployment in compartment <your-compartment-name>
リソースを管理するには
アプリケーション、デプロイメントおよびアーティファクトを作成および削除する場合は、manage権限を追加します:
allow group <your-group-name> 
to manage generative-ai-hosted-application in compartment <your-compartment>
allow group <your-group-name> 
to manage generativeaihosteddeployment in compartment <your-compartment>
ヒント

generative-ai-hosted-applicationおよびgenerativeaihosteddeploymentリソース・タイプは、generative-ai-familyリソース・タイプに含まれています。
家族に許可があれば、例えば:
allow group <your-group-name> to manage generative-ai-family 
in compartment <your-compartment-name>
したがって、このセクションに権限を追加する必要はありません。