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