

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 前提条件とアクセス許可
<a name="advanced-prompt-optimization-prereqs"></a>

## 前提条件
<a name="advanced-prompt-optimization-prereqs-overview"></a>

高度なプロンプト最適化ジョブを送信すると、Amazon Bedrock は呼び出し元の ID のアクセス許可を使用して、ユーザーに代わってアカウントのリソースにアクセスします。API またはアクセス AWS コンソールの呼び出しに使用する IAM ユーザーまたはロールには、次のアクセス許可が必要です。
+ 高度なプロンプト最適化ジョブの管理
+ ターゲット基盤モデルを呼び出す
+ からの入力データの読み取りと Amazon S3 バケットへの結果の書き込み
+ (オプション) AWS KMS キーを使用して、カスタマーマネージドキー (CMK) でジョブ出力を暗号化するか、CMK を使用する S3 バケットにアクセスします。
+ (オプション) カスタム評価のために Lambda 関数を呼び出す

## 必要な IAM 許可
<a name="advanced-prompt-optimization-prereqs-iam"></a>

### API アクセス許可
<a name="advanced-prompt-optimization-prereqs-api"></a>

各アドバンストプロンプト最適化 API には、ジョブリソースに対する特定の IAM アクションが必要です。


| API 操作 | IAM アクション | [リソース]  | アクセスレベル | 
| --- | --- | --- | --- | 
| CreateAdvancedPromptOptimizationJob | bedrock:CreateAdvancedPromptOptimizationJob | arn:aws:bedrock:{{region}}:{{account-id}}:advanced-prompt-optimization-job/\* | 書き込み | 
| GetAdvancedPromptOptimizationJob | bedrock:GetAdvancedPromptOptimizationJob | arn:aws:bedrock:{{region}}:{{account-id}}:advanced-prompt-optimization-job/\* | 読み取り | 
| ListAdvancedPromptOptimizationJobs | bedrock:ListAdvancedPromptOptimizationJobs | arn:aws:bedrock:{{region}}:{{account-id}}:advanced-prompt-optimization-job/\* | リスト | 
| StopAdvancedPromptOptimizationJob | bedrock:StopAdvancedPromptOptimizationJob | arn:aws:bedrock:{{region}}:{{account-id}}:advanced-prompt-optimization-job/\* | 書き込み | 
| BatchDeleteAdvancedPromptOptimization ジョブ | bedrock:BatchDeleteAdvancedPromptOptimization Job | arn:aws:bedrock:{{region}}:{{account-id}}:advanced-prompt-optimization-job/\* | 書き込み | 

### モデル呼び出しのアクセス許可
<a name="advanced-prompt-optimization-prereqs-model"></a>

ジョブを作成すると、アドバンストプロンプト最適化は、発信者認証情報 (転送アクセスセッション) を使用して、ユーザーに代わってターゲットモデル (複数可) を呼び出します。IAM ID には、指定されたモデルを呼び出すアクセス許可が必要です。


| 推論パス | IAM アクションが必要 | リソースARN | 
| --- | --- | --- | 
| ConverseStream (現行) | bedrock:InvokeModelWithResponseStream | arn:aws:bedrock:{{region}}::foundation-model/{{model-id}} | 
| Converse (非ストリーミング) | bedrock:InvokeModel | arn:aws:bedrock:{{region}}::foundation-model/{{model-id}} | 
| クロスリージョン推論プロファイル | bedrock:InvokeModelWithResponseStream | arn:aws:bedrock:\*:{{account-id}}:inference-profile/{{profile-id}} | 

**重要**  
アカウント内のモデルに対してモデルアクセスが有効になっていない場合、ジョブは「モデルには推論 API にアクセスできません。ロールにモデルを呼び出すアクセス許可があることを確認します。」

### S3 バケットのアクセス許可
<a name="advanced-prompt-optimization-prereqs-s3"></a>

呼び出し元の ID には、入力データセットへの読み取りアクセスと出力場所への書き込みアクセスが必要です。S3 バケットはジョブと同じリージョンにある必要があります。

```
{
    "Effect": "Allow",
    "Action": [
        "s3:GetObject",
        "s3:PutObject"
    ],
    "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
},
{
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET"
}
```

S3 バケットが CMK 暗号化を使用している場合は、必要な KMS アクセス許可の「Encryption with AWS KMS 」セクションを参照してください。

### による暗号化 AWS KMS (オプション)
<a name="advanced-prompt-optimization-prereqs-kms"></a>

高度なプロンプト最適化では、次の 2 つの方法で AWS KMS カスタマーマネージドキー (CMKs) を使用できます。
+ **ジョブ出力の暗号化** – ジョブの作成時に `encryptionConfig`パラメータを指定して、CMK で最適化結果を暗号化します。
+ **S3 バケットの暗号化** – S3 バケットが KMS キーによるサーバー側の暗号化 (SSE-KMS) を使用している場合、ID には、そのバケットとの間で入力を読み書きするための KMS アクセス許可が必要です。

両方に同じ KMS キーを使用するか、個別のキーを使用できます。

必要な KMS アクションは、KMS の使用方法によって異なります。


| ユースケース | 必須アクション | 
| --- | --- | 
| ジョブ出力の暗号化 (encryptionConfig) | kms:Encrypt, kms:GenerateDataKey, kms:DescribeKey | 
| SSE-KMS で暗号化された S3 バケットからの読み取り | kms:Decrypt | 
| SSE-KMS 暗号化 S3 バケットへの書き込み | kms:GenerateDataKey | 

#### 単一 KMS キー
<a name="advanced-prompt-optimization-prereqs-kms-single"></a>

出力暗号化と S3 バケット暗号化の両方に同じキーを使用する場合:

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:DescribeKey"
    ],
    "Resource": "arn:aws:kms:us-west-2:123456789012:key/your-kms-key-id"
}
```

#### S3 入出力暗号化用の個別の KMS キー
<a name="advanced-prompt-optimization-prereqs-kms-separate"></a>

S3 入力バケットが 1 つの KMS キーを使用していて、ジョブ出力を別の KMS キーで暗号化する場合:

```
{
    "Sid": "KMSDecryptS3Input",
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "arn:aws:kms:us-west-2:123456789012:key/s3-bucket-kms-key-id"
},
{
    "Sid": "KMSEncryptJobOutput",
    "Effect": "Allow",
    "Action": [
        "kms:Encrypt",
        "kms:GenerateDataKey",
        "kms:DescribeKey"
    ],
    "Resource": "arn:aws:kms:us-west-2:123456789012:key/output-encryption-kms-key-id"
}
```

### カスタム評価 Lambda アクセス許可 (オプション)
<a name="advanced-prompt-optimization-prereqs-lambda"></a>

カスタム Lambda 関数を使用してプロンプトの品質を評価する場合、呼び出し元の ID にはそれを呼び出すアクセス許可が必要です。

```
{
    "Effect": "Allow",
    "Action": ["lambda:InvokeFunction","lambda:GetFunction"],
    "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-evaluation-metric"
}
```

## IAM ポリシーのサンプル
<a name="advanced-prompt-optimization-prereqs-policies"></a>

### アイデンティティベースのポリシー: AdvPO ジョブ管理とモデル呼び出しを許可する
<a name="advanced-prompt-optimization-prereqs-policy-full"></a>

このポリシーを、AdvPO ジョブを作成および管理する IAM ユーザーまたはロールにアタッチします。

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "CreateAndManageAdvPOJobs",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateAdvancedPromptOptimizationJob",
                "bedrock:GetAdvancedPromptOptimizationJob",
                "bedrock:ListAdvancedPromptOptimizationJobs",
                "bedrock:StopAdvancedPromptOptimizationJob",
                "bedrock:BatchDeleteAdvancedPromptOptimization		 	 	 Job"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*"
        },
        {
            "Sid": "InvokeModelsForOptimization",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:123456789012:inference-profile/*"
            ]
        },
        {
            "Sid": "S3AccessForInputAndOutput",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::my-advpo-bucket/*"
        },
        {
            "Sid": "S3ListBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::my-advpo-bucket"
        }
    ]
}
```

### アイデンティティベースのポリシー: AdvPO ジョブへの読み取り専用アクセス
<a name="advanced-prompt-optimization-prereqs-policy-readonly"></a>

このポリシーは、ジョブのステータスと結果のみを表示する必要があるユーザーに使用します。

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "ViewAdvPOJobs",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAdvancedPromptOptimizationJob",
                "bedrock:ListAdvancedPromptOptimizationJobs"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*"
        },
        {
            "Sid": "ReadOutputFromS3",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my-advpo-bucket/output/*"
        }
    ]
}
```

### アイデンティティベースのポリシー: 特定のモデルに制限する
<a name="advanced-prompt-optimization-prereqs-policy-restrict"></a>

このポリシーを使用して、特定のモデルでのみ AdvPO を許可します (Claude Sonnet のみなど）。

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "AdvPOJobManagement",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateAdvancedPromptOptimizationJob",
                "bedrock:GetAdvancedPromptOptimizationJob",
                "bedrock:ListAdvancedPromptOptimizationJobs",
                "bedrock:StopAdvancedPromptOptimizationJob"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*"
        },
        {
            "Sid": "InvokeOnlyClaudeSonnet",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/anthropic.claude-sonnet-*",
                "arn:aws:bedrock:*:123456789012:inference-profile/us.anthropic.claude-sonnet-*"
            ]
        },
        {
            "Sid": "S3Access",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::my-advpo-bucket/*"
        }
    ]
}
```

### 拒否ポリシー: AdvPO の使用を禁止する (SCP の例)
<a name="advanced-prompt-optimization-prereqs-policy-deny"></a>

をサービスコントロールポリシー (SCP) として使用して、組織全体での AdvPO の使用を防止します。

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "DenyAdvPO",
            "Effect": "Deny",
            "Action": [
                "bedrock:CreateAdvancedPromptOptimizationJob",
                "bedrock:StopAdvancedPromptOptimizationJob",
                "bedrock:BatchDeleteAdvancedPromptOptimization		 	 	 Job"
            ],
            "Resource": "*"
        }
    ]
}
```

## クロスリージョン推論
<a name="advanced-prompt-optimization-prereqs-cris"></a>

サービスは、評価とプロンプトの書き換えにクロスリージョン推論 (CRIS) を使用する場合があります。欧州リージョンの場合、サービスは eu CRIS リージョンを使用します。次のリージョンでは、グローバル CRIS を使用できます。ap-south-1 (ムンバイ）、sa-east-1 (サンパウロ）、ap-northeast-2 (ソウル）、ap-southeast-1 (シンガポール）。