

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

# ナレッジベース評価ジョブのデータ暗号化
<a name="rag-evaluation-security-data"></a>

ナレッジベース評価ジョブでは、Amazon Bedrock はデータの一時コピーを作成します。Amazon Bedrock は、ジョブの完了後、データを削除します。データを暗号化するために、Amazon Bedrock は KMS キーを使用します。使用するのは、ユーザーが指定した KMS キーと Amazon Bedrock が所有するキーのいずれかです。

Amazon Bedrock では、KMS キーを使用して以下を実行できるように、以下のセクションで IAM と アクセス AWS KMS 許可が必要です。
+ データを復号する。
+ Amazon Bedrock が作成する一時コピーを暗号化する。

ナレッジベース評価ジョブを作成するときは、Amazon Bedrock が所有する KMS キーを使用するか、独自のカスタマーマネージドキーを選択できます。カスタマーマネージドキーを指定しない場合、Amazon Bedrock は所有するキーをデフォルトで使用します。

カスタマーマネージドキーを使用する前に、以下を実行する必要があります。
+ 必要な IAM アクションとリソースを IAM サービスロールのポリシーに追加する。
+ 必要な KMS キーポリシー要素を追加する。
+ カスタマーマネージドキーとやり取りできるポリシーを作成する。これは別の KMS キーポリシーで指定されています。

## 必要なポリシー要素
<a name="rag-evel-policy-elements"></a>

以下のセクションの IAM および KMS キーポリシーには、次の必須要素が含まれています。
+ `kms:Decrypt` – KMS キーで暗号化したファイルの場合、それらのファイルにアクセスして復号するためのアクセス許可を Amazon Bedrock に付与します。
+ `kms:GenerateDataKey` – KMS キーを使用してデータキーを生成するためのアクセス許可を制御します。Amazon Bedrock は、`GenerateDataKey` を使用して評価ジョブ用に保存する一時データを暗号化します。
+ `kms:DescribeKey` – KMS キーに関する詳細情報を提供します。
+ `kms:ViaService` – 条件キーは、指定された AWS サービスからリクエストするための KMS キーの使用を制限します。次のサービスを指定する必要があります。
  + Amazon S3。Amazon Bedrock が所有する Amazon S3 の場所にデータの一時コピーを保存するためです。
  + Amazon Bedrock。評価サービスが Amazon Bedrock ナレッジベース API を呼び出してナレッジベースワークフローを実行するためです。
+ `kms:EncryptionContext:context-key` – この条件キーは、指定された[暗号化コンテキスト](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html)にのみ固有のように、 AWS KMS オペレーションへのアクセスを制限します。

## IAM ポリシーの要件
<a name="rag-eval-iam-policies"></a>

Amazon Bedrock で使用する IAM ロールでは、関連付けられた IAM ポリシーに次の要素を含める必要があります。 AWS KMS キーの管理の詳細については、[「 での IAM ポリシー AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)の使用」を参照してください。

Amazon Bedrock のナレッジベース評価ジョブは、 AWS 所有キーを使用します。 AWS 所有キーの詳細については、「 *AWS Key Management Service デベロッパーガイド*」の[AWS 「 所有キー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)」を参照してください。

以下は、必要な AWS KMS アクションおよびリソースのみを含む IAM ポリシーの例です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CustomKMSKeyProvidedToBedrockEncryption",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/*"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "s3.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "CustomKMSKeyProvidedToBedrockEvalKMS",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/*"
            ],
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:evaluationJobArn": "arn:aws:bedrock:us-east-1:123456789012:evaluation-job/*"
                }
            }
        },
        {
            "Sid": "CustomKMSKeyProvidedToBedrockKBDecryption",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/*"
            ],
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:knowledgeBaseArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
                }
            }
        },
        {
            "Sid": "CustomKMSKeyProvidedToBedrockKBEncryption",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/*"
            ],
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:knowledgeBaseArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
                },
                "StringEquals": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "CustomKMSKeyProvidedToBedrockKBGenerateDataKey",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/*"
            ],
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:CustomerAwsAccountId": "123456789012",
                    "kms:EncryptionContext:SessionId": "*"
                },
                "StringEquals": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "CustomKMSDescribeKeyProvidedToBedrock",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/*"
            ]
        }
    ]
}
```

------

## AWS KMS キーポリシーの要件
<a name="rag-eval-kms-policies"></a>

すべての KMS キーにはキーポリシーが 1 つ必要です。キーポリシーのステートメントでは、KMS キーの使用が許可されるユーザーとその使用方法を決定します。IAM ポリシーと許可を使用して KMS キーへのアクセスを制御することもできますが、すべての KMS キーにはキーポリシーが必要です。

既存の KMS キーポリシーに次のステートメントを追加する必要があります。これにより、指定した KMS キーを使用して S3 バケットにデータを一時的に保存するためのアクセス許可が Amazon Bedrock に付与されます。

### CreateEvaluationJob API を呼び出すロールの KMS アクセス許可の設定
<a name="model-evaluation-kms-create-job-2"></a>

評価ジョブで使用する KMS キーに対して、評価ジョブの作成に使用するロールに DescribeKey、GenerateDataKey、Decrypt アクセス許可があることを確認します。

KMS キーポリシーの例

```
{
    "Statement": [
       {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::account-id:role/APICallingRole"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kmsDescribeKey"
            ],
            "Resource": "*"
       }
   ]
}
```

CreateEvaluationJob API を呼び出すロールの IAM ポリシーの例

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CustomKMSKeyProvidedToBedrockEncryption",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/keyYouUse"
            ]
        }
    ]
}
```

------