AgentCore 評估的靜態加密
注意
此頁面涵蓋自訂評估者的客戶受管金鑰加密。如需資料集加密,請參閱資料集加密。
加密選項
Amazon Bedrock AgentCore Evaluations 預設會使用 AWS 擁有的金鑰加密所有靜態資料,無需額外費用。您無法檢視、管理或稽核此金鑰的使用。
您可以選擇使用客戶受管金鑰加密敏感評估者資料。當您在自訂評估器上指定客戶受管 AWS KMS 金鑰時,此服務會使用信封加密搭配加密 SDK 來 AWS 加密評估器的指示和評分比例。所有其他評估器中繼資料 (名稱、層級、模型組態、狀態) 會保持使用 AWS 擁有的金鑰加密。
使用客戶受管金鑰可讓您更好地控制加密程序,包括能夠:
-
建立和管理金鑰,包括設定金鑰政策
-
依照您自己的排程輪換金鑰
-
停用或刪除金鑰以控制對加密資料的存取
-
透過 AWS CloudTrail 稽核金鑰用量
如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的客戶受管金鑰。
AgentCore Evaluations 如何使用客戶受管 KMS 金鑰
當您在自訂評估器上指定客戶受管金鑰時,服務會使用發起人的登入資料 (透過轉送存取工作階段) 來加密和解密評估器的指示和評分比例。發起人必須擁有金鑰的 kms:Decrypt、 kms:GenerateDataKey和 kms:DescribeKey許可。
對於線上評估,服務會使用自己的服務主體 () 以非同步方式解密評估器指示bedrock-agentcore.amazonaws.com。服務主體必須在金鑰政策中具有kms:Decrypt許可。
注意
AgentCore Evaluations 不會使用 KMS 授予或快取資料金鑰。線上評估組態不接受kmsKeyArn參數 — 它們從其參考的評估器繼承 CMK 加密。
設定客戶受管 KMS 金鑰
AgentCore Evaluations 僅支援對稱加密 KMS 金鑰。KMS 金鑰必須與評估器位於相同的 AWS 區域。如需有關建立對稱 KMS 金鑰的資訊,請參閱 AWS Key Management Service 開發人員指南中的建立對稱加密 KMS 金鑰。
設定使用客戶受管 KMS 金鑰的許可
下列金鑰政策提供 AgentCore Evaluations 所需的最低許可。此政策有三個陳述式:
-
AllowCallerAccess – 允許 IAM 使用者或角色透過 來驗證金鑰
DescribeKey,範圍為kms:ViaService。 -
AllowCallerCryptoOps – 允許 IAM 使用者或角色加密和解密,範圍為
kms:ViaService和 加密內容。 -
AllowServicePrincipalDecrypt – 允許 AgentCore 服務主體在線上評估期間解密,範圍依來源帳戶和來源 ARN 而定。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } }, { "Sid": "AllowCallerCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } }, { "Sid": "AllowServicePrincipalDecrypt", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } } ] }
此政策包含下列陳述式:
-
AllowCallerAccess – 授予 IAM 角色
kms:DescribeKey許可,範圍限定於透過 AgentCore 服務 () 提出的請求kms:ViaService。將111122223333取代為您的帳戶 ID、將MyEvaluationRole取代為管理評估者的 IAM 角色或使用者,並將us-east-1取代為您的 AWS 區域。 -
AllowCallerCryptoOps – 授予 IAM 角色
kms:GenerateDataKey和kms:Decrypt許可,範圍為kms:ViaService和aws:bedrock-agentcore:evaluatorArn加密內容。將111122223333、MyEvaluationRole、us-east-1和my-evaluator-id取代為您的值。若要允許存取您帳戶中的所有評估者,請使用萬用字元搭配StringLike:arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/。請注意,使用萬用字元時,您必須將條件運算子從 變更為StringEqualsStringLike,因為StringEquals會視為文字字元。 -
AllowServicePrincipalDecrypt – 授予 AgentCore 服務主體
kms:Decrypt許可,以便在線上評估執行期間解密評估器資料。由來源帳戶和來源 ARN (aws:SourceArn) 範圍,以防止混淆代理人攻擊。將us-east-1和111122223333取代為您的區域和帳戶 ID。
使用客戶受管 KMS 金鑰建立評估者
若要加密自訂評估器,請在呼叫 CreateEvaluator 時指定 kmsKeyArn 參數。
範例
在現有的評估器上變更加密組態
您可以使用 UpdateEvaluator 變更現有評估器上的加密組態:
-
新增加密 – 在沒有 的評估器
kmsKeyArn上指定 。服務會使用新金鑰加密指示和評分比例。 -
輪換索引鍵 – 指定不同的
kmsKeyArn。服務會使用舊金鑰解密資料,並使用新金鑰重新加密資料。發起人必須擁有兩個金鑰的許可。如果舊金鑰無法使用 (停用、刪除或缺少許可),更新將會失敗。
注意
新增客戶受管金鑰加密後,就無法從評估器中移除。
縮小對客戶受管 KMS 金鑰的存取範圍
您可以使用加密內容來縮小對客戶受管金鑰的存取範圍。AgentCore Evaluations 在所有 KMS 操作中包含下列加密內容:
{ "aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/evaluator-id" }
您可以在金鑰政策條件中使用此加密內容,將 KMS 操作限制在特定評估者,如上述範例金鑰政策中的 AllowCallerCryptoOps陳述式所示。請注意, AllowServicePrincipalDecrypt 使用 aws:SourceArn進行範圍界定,而非加密內容。
監控 AgentCore 評估與 AWS KMS 的互動
您可以使用 AWS CloudTrail 來追蹤 AgentCore Evaluations 代表您提出的 KMS API 請求。下列 CloudTrail 事件名稱會出現在您的日誌中:
-
GenerateDataKey– 使用客戶受管金鑰建立或更新評估者時。 -
Decrypt– 擷取評估器資料時、隨需評估期間或線上評估執行期間。 -
DescribeKey– 在建立評估器、更新或線上評估組態時驗證金鑰。
在 CloudTrail 日誌項目中, requestParameters.encryptionContext 欄位包含 aws:bedrock-agentcore:evaluatorArn與評估器的 ARN。對於服務主體在線上評估期間提出的請求, userIdentity.invokedBy 欄位會顯示 bedrock-agentcore.amazonaws.com。
如需監控 KMS 用量的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的使用 AWS CloudTrail 記錄 AWS KMS API 呼叫。
當金鑰無法使用時的行為
如果您停用或刪除客戶受管 KMS 金鑰,或金鑰政策不再授予必要的許可:
-
使用 ALL_DATA 的 GetEvaluator – 失敗,因為服務無法解密指示和評分量表。
-
使用 METADATA_ONLY 的 GetEvaluator – 成功,因為不需要 KMS 操作。
-
評估 (隨需) – CMK 加密評估器失敗,因為服務無法解密指示。
-
UpdateEvaluator (金鑰輪換) – 失敗,因為在使用新金鑰重新加密之前,服務無法使用無法使用的金鑰解密現有資料。
-
CreateOnlineEvaluationConfig / UpdateOnlineEvaluationConfig – 失敗,因為服務無法透過 驗證發起人存取
kms:DescribeKey並kms:Decrypt試轉。 -
線上評估執行 – 失敗,因為服務無法解密評估器的評分指示。
-
DeleteEvaluator – 成功,因為刪除不需要解密評估器資料。
-
DeleteOnlineEvaluationConfig – 成功,因為刪除不需要 KMS 存取。
提示
在 GetEvaluator includedData=METADATA_ONLY上使用 擷取評估器中繼資料 (名稱、關卡、模型組態、狀態),而不需要 KMS 許可。當金鑰無法使用時,這對於監控和清查工作流程非常有用。
若要還原存取權,請重新啟用金鑰或更新金鑰政策,以授予所需的許可。
注意
如需資料集的客戶受管金鑰加密資訊,請參閱資料集加密。