

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

# ナレッジベース評価ジョブのサービスロールの要件
<a name="rag-eval-service-roles"></a>

ナレッジベース評価ジョブを作成するには、サービスロールを指定する必要があります。ロールにアタッチするポリシーにより、Amazon Bedrock にアカウント内のリソースへのアクセスが許可され、Amazon Bedrock は以下を実行できるようになります。
+ 出力生成用に選択したモデルを `RetrieveAndGenerate` API アクションで呼び出し、ナレッジベースの出力を評価する。
+ ナレッジベースインスタンスで Amazon Bedrock ナレッジベースの `Retrieve` API アクションと `RetrieveAndGenerate` API アクションを呼び出す。

カスタムサービスロールを作成するには、「*IAM ユーザーガイド*」の「[カスタム信頼ポリシーを使用してロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)」を参照してください。

**Amazon S3 アクセスに必要な IAM アクション**  
次のポリシー例は、以下の両方が行われる S3 バケットへのアクセスを許可します。
+ ナレッジベースの評価結果を保存する。
+ Amazon Bedrock は入力データセットを読み取る。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Sid": "AllowAccessToCustomDatasets",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource":
            [
                "arn:aws:s3:::{{my_customdataset1_bucket}}",
                "arn:aws:s3:::{{my_customdataset1_bucket/myfolder}}",
                "arn:aws:s3:::{{my_customdataset2_bucket}}",
                "arn:aws:s3:::{{my_customdataset2_bucket/myfolder}}"
            ]
        },
        {
            "Sid": "AllowAccessToOutputBucket",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource":
            [
                "arn:aws:s3:::{{my_output_bucket}}",
                "arn:aws:s3:::{{my_output_bucket/myfolder}}"
            ]
        }
    ]
}
```

------

**必要な Amazon Bedrock の IAM アクション**  
Amazon Bedrock に以下を許可するポリシーも作成する必要があります。

1. 以下に対して指定する予定のモデルを呼び出します。
   + `RetrieveAndGenerate` API アクションを使用した結果の生成
   + 結果の評価

   ポリシーの `Resource` キーには、アクセス権を持つモデルの ARN を少なくとも 1 つ指定する必要があります。カスタマーマネージド KMS キーで暗号化されたモデルを使用するには、必要な IAM アクションとリソースを IAM サービスロールポリシーに追加する必要があります。また、サービスロールを AWS KMS キーポリシーに追加する必要があります。

1. `Retrieve` API アクションと `RetrieveAndGenerate` API アクションを呼び出します。コンソールで自動ロール作成を行う場合は、そのジョブに対して評価するアクションを問わず、`Retrieve` API アクションと `RetrieveAndGenerate` API アクションの両方にアクセス許可が付与されることに注意が必要です。これにより、そのロールの柔軟性と再利用性が向上されます。ただし、セキュリティを強化するために、自動作成されたロールは、単一のナレッジベースインスタンスに関連付けられます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSpecificModels",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile",
                "bedrock:GetImportedModel"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:inference-profile/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:provisioned-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:imported-model/*",
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:application-inference-profile/*"
            ]
        },
        {
            "Sid": "AllowKnowledgeBaseAPis",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:knowledge-base/{{knowledge-base-id}}"
            ]
        }
    ]
}
```

------

**サービスプリンシパルの要件**  
また、Amazon Bedrock をサービスプリンシパルとして定義する信頼ポリシー指定する必要があります。このポリシーにより、Amazon Bedrock がロールを引き受けることが許可されます。Amazon Bedrock が AWS アカウントにモデル評価ジョブを作成できるようにするには、ワイルドカード (`*`) モデル評価ジョブ ARN が必要です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowBedrockToAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:evaluation-job/*"
                }
            }
        }
    ]
}
```

------