

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

# モデル評価ジョブのサービスロール要件
<a name="model-evaluation-security-service-roles"></a>

モデル評価ジョブを作成するには、サービスロールを指定する必要があります。サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「*IAM ユーザーガイド*」の「[AWS のサービス に許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

必要な IAM アクションとリソースは、作成するモデル評価ジョブのタイプによって異なります。以降のセクションでは、必要な Amazon Bedrock、Amazon SageMaker AI、Amazon S3 の IAM アクション、サービスプリンシパル、リソースについて説明します。必要に応じて、AWS Key Management Service を使用してデータを暗号化することもできます。

**Topics**
+ [自動モデル評価ジョブのサービスロール要件](automatic-service-roles.md)
+ [Service role requirements for human-based model evaluation jobs](model-eval-service-roles.md)
+ [判定モデルを使ったモデル評価ジョブを作成するために必要なサービスロールのアクセス許可](judge-service-roles.md)
+ [ナレッジベース評価ジョブのサービスロールの要件](rag-eval-service-roles.md)

# 自動モデル評価ジョブのサービスロール要件
<a name="automatic-service-roles"></a>

モデル評価ジョブを作成するには、サービスロールを指定する必要があります。アタッチするポリシーで、Amazon Bedrock にアカウント内のリソースへのアクセスを許可し、Amazon Bedrock がユーザーに代わって選択したモデルを呼び出すことを許可します。

また `bedrock.amazonaws.com` を使用して、Amazon Bedrock をサービスプリンシパルとして定義する信頼ポリシーをアタッチする必要があります。以下のポリシーの例では、自動モデル評価ジョブで呼び出される各サービスで必要な IAM アクションを示します。

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

**必要な Amazon S3 の IAM アクション**  
以下のポリシーの例は、モデル評価結果が保存される S3 バケットへのアクセス、および指定したカスタムプロンプトデータセットへのアクセス許可 (オプション) を付与します。

------
#### [ 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 に許可するポリシーを作成する必要があります。Amazon Bedrock モデルへのアクセスの管理については、「[Access Amazon Bedrock foundation models](model-access.md)」を参照してください。ポリシーの `"Resource"` セクションでは、アクセス可能なモデルの ARN を少なくとも 1 つ指定する必要があります。カスタマーマネージド KMS キーで暗号化されたモデルを使用するには、必要な IAM アクションとリソースを IAM サービスロールポリシーに追加する必要があります。また、サービスロールをAWS KMSキーポリシーに追加する必要があります。

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

****  

```
{
		    "Version":"2012-10-17",		 	 	 
            "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**サービスプリンシパルの要件**  
また、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": "111122223333"
        },
        "ArnEquals": {
            "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
        }
    }
}]
}
```

------

# Service role requirements for human-based model evaluation jobs
<a name="model-eval-service-roles"></a>

評価者によるモデル評価ジョブを作成するには、サービスロールを指定する必要があります。

以下のリストは、Amazon Bedrock コンソールで指定する必要がある各必須サービスロールの IAM ポリシー要件をまとめたものです。

**Amazon Bedrock サービスロールの IAM ポリシー要件の概要**
+ Amazon Bedrock をサービスプリンシパルとして定義する信頼ポリシーをアタッチする必要があります。
+ Amazon Bedrock がユーザーに代わって選択したモデルを呼び出すことを許可する必要があります。
+ プロンプトデータセットを格納する S3 バケット、および結果を保存する S3 バケットへのアクセスを Amazon Bedrock に許可する必要があります。
+ アカウントに必要なヒューマンループリソースを作成することを Amazon Bedrock に許可する必要があります。
+ (推奨) `Condition` *ブロック*を使用して、アクセスできるアカウントを指定します。
+ (オプション) プロンプトデータセットバケットまたは結果を保存する Amazon S3 バケットを暗号化した場合は、KMS キーの復号化を Amazon Bedrock に許可する必要があります。

**Amazon SageMaker AI サービスロールの IAM ポリシー要件の概要**
+ SageMaker AI をサービスプリンシパルとして定義する信頼ポリシーをアタッチする必要があります。
+ プロンプトデータセットを格納する S3 バケット、および結果を保存する S3 バケットへのアクセスを SageMaker AI に許可する必要があります。
+ (オプション) プロンプトデータセットバケットまたは結果を保存する場所を暗号化した場合は、カスタマーマネージドキーの使用を SageMaker AI に許可する必要があります。

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

**必要な Amazon S3 の IAM アクション**  
以下のポリシーの例は、モデル評価結果が保存される S3 バケットへのアクセス、および指定したカスタムプロンプトデータセットへのアクセス許可を付与します。このポリシーを SageMaker AI サービスロールと Amazon Bedrock サービスロールの両方にアタッチする必要があります。

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowAccessToCustomDatasets",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::custom-prompt-dataset"
        ]
    },
    {
        "Sid": "AllowAccessToOutputBucket",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::model_evaluation_job_output"
        ]
    }
]
}
```

------

**必要な Amazon Bedrock の IAM アクション**  
Amazon Bedrock が自動モデル評価ジョブで指定するモデルを呼び出すことができるようにするには、Amazon Bedrock サービスロールに次のポリシーをアタッチします。ポリシーの `"Resource"` セクションでは、アクセス可能なモデルの ARN を少なくとも 1 つ指定する必要があります。カスタマーマネージド KMS キーで暗号化されたモデルを使用するには、必要な IAM アクションとリソースを IAM サービスロールに追加する必要があります。また、必要な AWS KMS キーポリシー要素を追加する必要があります。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**必要な Amazon Augmented AI の IAM アクション**  
Amazon Bedrock が人間ベースのモデル評価ジョブに関連するリソースを作成できるうようにポリシーを作成します。Amazon Bedrock はモデル評価ジョブを開始するために必要なリソースを作成するため、`"Resource": "*"` を使用する必要があります。このポリシーを Amazon Bedrock サービスロールにアタッチする必要があります。

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "ManageHumanLoops",
        "Effect": "Allow",
        "Action": [
            "sagemaker:StartHumanLoop",
            "sagemaker:DescribeFlowDefinition",
            "sagemaker:DescribeHumanLoop",
            "sagemaker:StopHumanLoop",
            "sagemaker:DeleteHumanLoop"
        ],
        "Resource": "*"
    }
]
}
```

------

**サービスプリンシパル要件 (Amazon Bedrock)**  
また、Amazon Bedrock をサービスプリンシパルとして定義する信頼ポリシー指定する必要があります。これにより、このロールを Amazon Bedrock が引き受けることができます。

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

****  

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

------

**サービスプリンシパル要件 (SageMaker AI)**  
また、Amazon Bedrock をサービスプリンシパルとして定義する信頼ポリシー指定する必要があります。これにより、SageMaker AI はロールを引き受けることができるようになります。

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "AllowSageMakerToAssumeRole",
  "Effect": "Allow",
  "Principal": {
    "Service": "sagemaker.amazonaws.com"
  },
  "Action": "sts:AssumeRole"
}
]
}
```

------

# 判定モデルを使ったモデル評価ジョブを作成するために必要なサービスロールのアクセス許可
<a name="judge-service-roles"></a>

LLM を判定基準として使用するモデル評価ジョブを作成するには、サービスロールを指定する必要があります。アタッチするポリシーで、Amazon Bedrock にアカウント内のリソースへのアクセスを許可し、Amazon Bedrock がユーザーに代わって選択したモデルを呼び出すことを許可します。

信頼ポリシーは、`bedrock.amazonaws.com` を使用して、Amazon Bedrock をサービスプリンシパルとして定義します。以下の各ポリシーの例では、モデル評価ジョブで呼び出される各サービスで必要な IAM アクションを説明しています。

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

## 必要な Amazon Bedrock の IAM アクション
<a name="judge-service-roles-br"></a>

モデル評価ジョブで指定する予定のモデルを Amazon Bedrock が呼び出すことを許可するポリシーを作成する必要があります。Amazon Bedrock モデルへのアクセスの管理については、「[Access Amazon Bedrock foundation models](model-access.md)」を参照してください。ポリシーの `"Resource"` セクションでは、アクセス可能なモデルの ARN を少なくとも 1 つ指定する必要があります。カスタマーマネージド KMS キーで暗号化されたモデルを使用するには、必要な IAM アクションとリソースを IAM サービスロールポリシーに追加する必要があります。また、サービスロールをAWS KMSキーポリシーに追加する必要があります。

サービスロールには、少なくとも 1 つのサポートされている評価者モデルへのアクセス権限が含まれている必要があります。現時点でのサポート対象の評価者モデルのリストについては、「[サポートされているモデル](evaluation-judge.md#evaluation-judge-supported)」を参照してください。

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "BedrockModelInvoke",
			"Effect": "Allow",
			"Action": [
				"bedrock:InvokeModel",
				"bedrock:CreateModelInvocationJob",
				"bedrock:StopModelInvocationJob"
			],
			"Resource": [
				"arn:aws:bedrock:us-east-1::foundation-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:inference-profile/*",
				"arn:aws:bedrock:us-east-1:111122223333:provisioned-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:imported-model/*"
			]
		}
	]
}
```

------

## 必要な Amazon S3 の IAM アクションとリソース
<a name="judge-service-roles-s3"></a>

サービスロールポリシーには、モデル評価ジョブの出力を保存する Amazon S3 バケットへのアクセス権限と、`CreateEvaluationJob` リクエストまたは Amazon Bedrock コンソールで指定したプロンプトデータセットへのアクセス権限を含める必要があります。

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "FetchAndUpdateOutputBucket",
			"Effect": "Allow",
			"Action": [
				"s3:GetObject",
				"s3:ListBucket",
				"s3:PutObject",
				"s3:GetBucketLocation",
				"s3:AbortMultipartUpload",
				"s3:ListBucketMultipartUploads"
			],
			"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"
			]
		}
	]
}
```

------

# ナレッジベース評価ジョブのサービスロールの要件
<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/*"
                }
            }
        }
    ]
}
```

------