サンドボックスのAPIレベルの権限

OCI生成AIサンドボックス・リソース・タイプのアクセスおよび認可情報を確認し、サンドボックス・ワークロードに必要なOCIリソース・アクセスを付与します。

このリソース・タイプの特定の権限については、このページを確認してください。OCI生成AIで使用可能なすべてのリソース・タイプのリストは、個々のリソースへのユーザー・アクセスを参照してください。

このページにリストされているサンドボックス操作は、生成AIサンドボックスAPIでのデータ・プレーン操作です。プロジェクト構成では、個別のコントロール・プレーン操作が使用されます。「プロジェクトのAPIレベルの権限」を参照してください。

リソース・タイプ

IAM権限のリソース・タイプ ドキュメント・リファレンス APIリファレンス
generative-ai-sandbox OCI Generative AIのサンドボックス 生成AIサンドボックスAPI

権限の検査

ユーザー・グループにinspect権限を付与して、次の操作を実行します。

  • GET ListSandboxes

読み取り権限

ユーザー・グループに、次の操作を実行するread権限を付与します。

  • GET ListSandboxes
  • GET GetSandbox

権限の使用

ユーザー・グループに、次の操作を実行するuse権限を付与します。

  • GET ListSandboxes
  • GET GetSandbox
  • プット UpdateSandbox
  • POST RunSandboxCommand

GENERATIVE_AI_SANDBOX_USE権限により、コマンドの実行など、既存のサンドボックスとのアクティブな対話が可能になります。サンドボックスを作成または削除する権限は付与されません。

権限を管理

ユーザー・グループに、次の操作を実行するmanage権限を付与します。

  • GET ListSandboxes
  • GET GetSandbox
  • プット UpdateSandbox
  • POST RunSandboxCommand
  • POST CreateSandbox
  • DeleteSandboxの削除
ノート

  • manageアクセス権には、use、read、および inspectによって許可されるすべてのアクションが含まれます。
  • use権限には、readおよび inspectによって許可されるすべてのアクションが含まれます。
  • read権限には、inspectによって許可されるすべてのアクションが含まれます。
ヒント

generative-ai-sandboxリソース・タイプは、generative-ai-familyの一部です。ファミリに対する権限がある場合、このリソース・タイプに対して同じ権限を持ちます。例:
allow group <your-group-name> to manage generative-ai-family
in compartment <your-compartment-name>

1-1 APIの権限

ノート

上位レベルのIAM動詞、manage、use、readおよびinspectを使用することをお薦めします。たとえば、サンドボックスを削除する権限は、サンドボックスをリストする権限も付与しません。

ユース・ケースで特定のAPI操作へのアクセスが必要な場合は、ここにリストされている個々の権限を使用します。

generative-ai-sandbox

権限 API操作 操作タイプ 動詞
GENERATIVE_AI_SANDBOX_INSPECT ListSandboxes GET inspect
GENERATIVE_AI_SANDBOX_READ GetSandbox GET read
GENERATIVE_AI_SANDBOX_UPDATE UpdateSandbox PUT use
GENERATIVE_AI_SANDBOX_USE RunSandboxCommand POST use
GENERATIVE_AI_SANDBOX_CREATE CreateSandbox POST manage
GENERATIVE_AI_SANDBOX_DELETE DeleteSandbox DELETE manage

プロジェクトおよびサンドボックス・ワークロードのポリシー

ユーザー・アクセス権

管理者は、サンドボックスとそのプロジェクトを作成および管理するグループに対して、これらのコンパートメント・スコープのポリシーを使用できます。プレースホルダをグループ名およびコンパートメント名に置き換えます。

Allow group <group-name> to manage generative-ai-sandbox in compartment <compartment-name>
Allow group <group-name> to manage generative-ai-project in compartment <compartment-name>

最初のポリシーでは、サンドボックス操作が許可されます。2つ目は、プロジェクトの構成を許可します。プロジェクトのAPIレベルの権限およびOCI生成AIのIAMポリシーを参照してください。

サンドボックスからOCIサービスへのアクセス

サンドボックス内で実行されるコードは、そのリソース・プリンシパルを使用してOCIサービスを呼び出すことができます。ポリシーをプロジェクトおよびターゲット・リソースにスコープ指定します。たとえば、次のポリシーは、1つのプロジェクトからのサンドボックスが1つのバケット内のオブジェクトを読み取ることを許可します。

Allow any-user to read objects in compartment <target-compartment-name>
where all {
  request.principal.type = 'generativeaisandbox',
  request.principal.project_id = '<project-ocid>',
  target.bucket.name = '<bucket-name>'
}

この権限は、指定したプロジェクトのサンドボックスに適用されます。異なるワークロードに異なるOCIアクセスを付与するには、必要なリソースにスコープされた個別のプロジェクトまたはポリシーを使用します。オブジェクト権限およびバケット条件については、オブジェクト・ストレージおよびアーカイブ・ストレージの詳細を参照してください。

サンドボックス内で、OCI CLIで--auth resource_principalを使用するか、OCI Python SDKでリソース・プリンシパル・署名者を使用します:

import oci

signer = oci.auth.signers.get_resource_principals_signer()
client = oci.object_storage.ObjectStorageClient(
    config={"region": "us-chicago-1"},
    signer=signer,
)

Vaultシークレットの読取り

Vaultシークレットが必要なワークロードの場合は、特定のシークレット・バンドルへのアクセス権を付与します:

Allow any-user to read secret-bundles in compartment <secret-compartment-name>
where all {
  request.principal.type = 'generativeaisandbox',
  request.principal.project_id = '<project-ocid>',
  target.secret.id = '<secret-ocid>'
}

リソース・プリンシパル・署名者をOCIシークレット・クライアントとともに使用して、実行時にシークレットを取得します。シークレット値は、コマンド出力およびログから除外します。シークレット・バンドルの権限については、Vault、キー管理およびシークレット管理サービスの詳細を参照してください。

その他の権限

カスタム・ネットワーキングには、選択したサブネットおよびアタッチするすべてのネットワーク・セキュリティ・グループ(NSG)を使用する権限が必要です。NSGでは、セキュリティ・ルールを使用して、関連付けられたリソースのインバウンドおよびアウトバウンド・トラフィックを制御します。カスタム・イメージには、イメージ・リポジトリを読み取る権限が必要であり、脆弱性スキャンの強制が有効な場合は、スキャン結果が必要です。サンドボックスのネットワーキングおよびサンドボックスのカスタム・イメージの使用を参照してください。