加密您的 Amazon 基岩 AgentCore 内存
创建 AgentCore 内存时,重要的是要确保您的数据安全可靠。如果您的应用程序处理敏感信息(例如客户详细信息、付款数据或个人聊天),则必须使用加密来保护这些数据。考虑使用客户管理的 KMS 密钥 (CMK) 进行加密。即使您不提供 CMK,该服务仍会使用服务托管密钥对数据进行加密。或者,您也可以使用 AWS托管的 KMS 密钥。在这种情况下,您需要将以下策略添加到用于设置内存的 IAM 用户或角色。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAgentCoreMemoryKMS", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } } ] }
除了上面已经解释的安全设置外,在使用长期内存时,您还应该注意提示注入和内存中毒的风险。
-
提示注入是一个应用程序级别的安全问题,类似于数据库应用程序中的 SQL 注入。就像 Amazon RDS 和 Amazon Aurora 等 AWS 服务提供安全的数据库引擎一样,但客户有责任防止在其应用程序中注入 SQL。Amazon Bedrock 为自然语言处理提供了安全的基础,但客户必须采取措施防止其代码中出现提示注入漏洞。此外,还 AWS 提供有关 Bedrock 和其他 AWS 服务的安全编码实践的详细文档、最佳实践和指导。
-
当虚假或有害的信息保存在内存中时,就会发生 AgentCore 内存中毒。稍后,你的 AI 代理可能会在未来的对话中使用这些错误信息,这可能会导致错误或不安全的响应
根据责任AWS 共担模型
为了降低风险,您可以执行以下操作:
-
Amazon Bedrock Guardrails:使用 Amazon Bedrock Guardrails 查看发送到内存或从内存中发送的提示。 AgentCore 这样可以确保您的代理只处理安全且允许的提示。
-
对抗测试:通过模拟攻击或提示注入,主动测试您的 AI 应用程序是否存在漏洞。这可以帮助你找到薄弱环节,并在真正的威胁发生之前修复它们。