AWS Proton 中的数据保护 - AWS Proton

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Proton 中的数据保护

AWS Proton 符合 AWS 责任共担模式,其中包括数据保护法规和准则。AWS 负责保护运行所有 AWS 服务的全球基础设施。AWS 保持对该基础设施上托管的数据的控制,包括用于处理客户内容和个人数据的安全配置控制。作为数据控制者或数据处理者,AWS 客户和 APN 合作伙伴对他们放入 AWS Cloud的任何个人数据承担责任。

出于数据保护目的,我们建议您保护 AWS 账户 凭证并使用 AWS Identity and Access Management (IAM) 设置各个用户账户,以便仅为每个用户提供履行其工作职责所需的权限。我们还建议您通过以下方式保护您的数据:

  • 对每个账户使用 multi-factor authentication(MFA)。

  • 使用 SSL/TLS 与 AWS 资源进行通信。建议使用 TLS 1.2 或更高版本。

  • 使用 AWS CloudTrail 设置 API 和用户活动日志记录。

  • 使用 AWS 加密解决方案以及 AWS 服务 中的所有默认安全控制。

我们强烈建议您切勿将敏感的可识别信息(例如您的客户的账号)放入自由格式文本字段中,例如名称字段。这包括使用控制台、API、AWS CLI 或 AWS SDK 处理 AWS Proton 或其他 AWS 服务时。对于您在资源标识符或与 AWS 资源管理相关的类似项目的自由格式文本字段中输入的任何数据,可能会选择这些数据以包含在诊断日志中。当您向外部服务器提供 URL 时,请勿在 URL 中包含凭证信息来验证您对该服务器的请求。

有关数据保护的更多信息,请参阅AWS安全性博客上的AWS责任共担模式和 GDPR 博客文章。

服务器端静态加密

如果您选择在存储模板捆绑包的 S3 存储桶中静态加密模板捆绑包中的敏感数据,您必须使用 SSE-S3 或 SSE-KMS 密钥以允许 AWS Proton 检索模板捆绑包,以便将其附加到注册的 AWS Proton 模板。

传输中加密

所有服务到服务通信都使用 SSL/TLS 进行传输中加密。

AWS Proton 加密密钥管理

在 AWS Proton 中,所有客户数据默认使用 AWS Proton 拥有的密钥进行加密。如果您提供客户拥有和管理的 AWS KMS 密钥,则使用客户提供的密钥加密所有客户数据,如以下段落中所述。

在创建 AWS Proton 模板时,您需要指定您的密钥,并且 AWS Proton 使用您的凭证创建允许 AWS Proton 使用您的密钥的授权。

如果您手动停用授权,或者禁用或删除指定的密钥,则 AWS Proton 无法读取由指定的密钥加密的数据并引发 ValidationException

AWS Proton 加密上下文

AWS Proton 支持加密上下文标头。加密上下文是一组可选的键值对,可以包含有关数据的其他上下文信息。有关加密上下文的一般信息,请参阅 AWS Key Management Service 开发人员指南中的 AWS Key Management Service 概念 - 加密上下文

加密上下文是一组包含任意非机密数据的键值对。在加密数据的请求中包含加密上下文时,AWS KMS 以加密方式将加密上下文绑定到加密的数据。要解密数据,您必须传入相同的加密上下文。

客户可以使用加密上下文在审核记录和日志中确定客户托管密钥的使用情况。它还会以明文形式出现在日志中,例如 AWS CloudTrail 和 Amazon CloudWatch Logs。

AWS Proton 不接受任何客户指定的加密上下文或外部指定的加密上下文。

AWS Proton 添加以下加密上下文。

{ "aws:proton:template": "<proton-template-arn>", "aws:proton:resource": "<proton-resource-arn>" }

第一个加密上下文标识与资源关联的 AWS Proton 模板,并且还作为客户托管密钥权限和授权的限制。

第二加密上下文标识加密的 AWS Proton 资源。

以下示例显示 AWS Proton 加密上下文的用途。

开发人员创建服务实例。

{ "aws:proton:template": "arn:aws:proton:region_id:123456789012:service-template/my-template", "aws:proton:resource": "arn:aws:proton:region_id:123456789012:service/my-service/service-instance/my-service-instance" }

管理员创建模板。

{ "aws:proton:template": "arn:aws:proton:region_id:123456789012:service-template/my-template", "aws:proton:resource": "arn:aws:proton:region_id:123456789012:service-template/my-template" }