

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 加密模型評估任務所需的金鑰政策元素 AWS KMS
<a name="model-evaluation-security-kms"></a>

每個 AWS KMS 金鑰必須只有一個金鑰政策。金鑰政策中的陳述式會決定誰具有使用 AWS KMS 金鑰的許可，以及如何使用金鑰。您也可以使用 IAM 政策和授權來控制對 AWS KMS 金鑰的存取，但每個 AWS KMS 金鑰都必須有金鑰政策。

**Amazon Bedrock 中的必要 AWS KMS 金鑰政策元素**
+ `kms:Decrypt` — 對於您使用 AWS Key Management Service 金鑰加密的檔案，會提供 Amazon Bedrock 存取和解密這些檔案的許可。
+ `kms:GenerateDataKey` — 控制使用 AWS Key Management Service 金鑰產生資料金鑰的許可。Amazon Bedrock 會使用 `GenerateDataKey` 來加密其為評估任務存放的暫存資料。
+ `kms:DescribeKey` — 提供 KMS 金鑰的相關詳細資訊。

您必須將下列陳述式新增至現有的 AWS KMS 金鑰政策。它為 Amazon Bedrock 提供使用您指定的 AWS KMS ，將資料臨時存放在 Amazon Bedrock 服務儲存貯體的許可。

```
{
	"Effect": "Allow",
	"Principal": {
	    "Service": "bedrock.amazonaws.com"
	},
	"Action": [
	    "kms:GenerateDataKey",
	    "kms:Decrypt",
	    "kms:DescribeKey"
	],
	"Resource": "*",
	"Condition": {
	    "StringLike": {
	        "kms:EncryptionContext:evaluationJobArn": "arn:aws:bedrock:{{region}}:{{accountId}}:evaluation-job/*",
	        "aws:SourceArn": "arn:aws:bedrock:{{region}}:{{accountId}}:evaluation-job/*"
	    }
	}
}
```

以下是完整 AWS KMS 政策的範例。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-consolepolicy-3",
    "Statement": [
        {
            "Sid": "EnableIAMUserPermissions",
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::{{111122223333}}:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "BedrockDataKeyAndDecrypt",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "kms:EncryptionContext:evaluationJobArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:evaluation-job/*",
                    "aws:SourceArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:evaluation-job/*"
                }
            }
        },
        {
            "Sid": "BedrockDescribeKey",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "kms:DescribeKey",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:evaluation-job/*"
                }
            }
        }
    ]
}
```

------

## 為呼叫 CreateEvaluationJob API 的角色設定 KMS 許可
<a name="model-evaluation-kms-create-job"></a>

請確定您具有角色的 DescribeKey、GenerateDataKey 和 Decrypt 許可，用於在評估任務中使用的 KMS 金鑰上建立評估任務。

範例 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}}"
            ]
        }
    ]
}
```

------