Amazon MQ 中的数据保护 - Amazon MQ
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon MQ 中的数据保护

Amazon责任共担模式适用于 Amazon MQ 中的数据保护。如该模式中所述,Amazon 负责保护运行所有 Amazon Web Services 云 的全球基础设施。您负责维护对托管在此基础设施上的内容的控制。此内容包括您所使用的Amazon Web Services的安全配置和管理任务。有关数据隐私的更多信息,请参阅数据隐私常见问题

出于数据保护目的,我们建议您保护 Amazon Web Services 账户 凭证并使用 Amazon Identity and Access Management (IAM) 设置单独的用户账户。这仅向每个用户授予履行其工作职责所需的权限。我们还建议您通过以下方式保护您的数据:

  • 对每个账户使用 Multi-Factor Authentication (MFA)。

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

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

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

  • 使用高级托管安全服务(例如 Amazon Macie),它有助于发现和保护存储在 Simple Storage Service(Amazon S3)中的个人数据。

  • 如果在通过命令行界面或 API 访问 Amazon 时需要经过 FIPS 140-2 验证的加密模块,请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息,请参阅《美国联邦信息处理标准 (FIPS) 第 140-2 版》

我们强烈建议您切勿将机密信息或敏感信息(例如您客户的电子邮件地址)放入标签或自由格式字段(例如名称字段)。这包括当您通过控制台、API、Amazon CLI 或 Amazon SDK 使用 Amazon MQ 或其他Amazon服务时。您在用于名称的标签或自由格式字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供 URL,我们强烈建议您不要在 URL 中包含凭证信息来验证您对该服务器的请求。

对于 Amazon MQ for ActiveMQ 和 Amazon MQ for RabbitMQ 代理,在通过代理 Web 控制台或 Amazon MQ API 创建资源时,请勿使用任何个人身份信息 (PII) 或其他机密或敏感信息作为代理名称或用户名。其他Amazon服务(包括 CloudWatch Logs)可以访问代理名称和用户名。代理用户名不适合用于私有或敏感数据。

加密

Amazon MQ 中存储的用户数据进行静态加密。Amazon MQ 静态加密通过使用存储在 Amazon Key Management Service(KMS)中的加密密钥来对数据加密,提供了增强的安全性。此服务可以帮助减少在保护敏感数据时涉及的操作负担和复杂性。通过静态加密,您可以构建符合加密合规性和法规要求的安全敏感型应用程序。

Amazon MQ 代理之间的所有连接都使用传输层安全性(TLS)在传输过程中提供加密。

Amazon MQ 使用其管理和安全存储的加密密钥对静态和传输中的消息进行加密。有关更多信息,请参阅 Amazon Encryption SDK 开发人员指南

静态加密

Amazon MQ 集成了 Amazon Key Management Service(KMS)以提供透明的服务器端加密。Amazon MQ 始终加密您的静态数据。

ActiveMQ 代理的静态加密

当您为 ActiveMQ 代理创建 Amazon MQ 时,您可以指定您希望 Amazon MQ 用于加密您的静态数据的 Amazon KMS key。如果您不指定 KMS 密钥,Amazon MQ 会为您创建一个Amazon托管式 KMS 密钥并代表您使用它。有关 KMS 密钥的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon KMS keys

创建代理时,您可以通过选择以下选项之一来配置 Amazon MQ 用于加密密钥的内容。

  • Amazon拥有的 KMS 密钥 – 密钥归 Amazon MQ 所有,并且不在您的账户中。

  • Amazon托管式 KMS 密钥 – Amazon托管式 KMS 密钥(aws/mq)是您账户中的一个 KMS 密钥,由 Amazon MQ 代表您创建、管理和使用。

  • 选择现有的客户托管式 KMS 密钥 – 客户托管式 CMK 由您在 Amazon Key Management Service(KMS)中创建和管理。

重要

Amazon MQ 使用 Amazon Elastic File System(EFS)存储消息数据。如果您撤消授予 Amazon EFS 权限以在账户中使用 KMS 密钥的授权,则 Amazon MQ 无法访问此数据,而且您的代理将停止工作。当您撤消 Amazon EFS 的授权时,它不会立即执行。要撤销访问权限,请删除您的代理,而不是撤销该授权。

RabbitMQ 代理的静态加密

当您创建 RabbitMQ 代理时,Amazon MQ 会创建一个Amazon托管式 KMS 密钥并代表您使用它。该Amazon托管式 KMS 密钥归 Amazon MQ 所有,并且不存储在您的Amazon账户中。目前,Amazon MQ 不支持由您所拥有并保存在您的账户中的Amazon托管式 KMS 密钥,或者由您创建和管理的客户托管式 KMS 密钥。

有关 KMS 密钥的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon KMS keys

传输中加密

Amazon MQ 加密 Amazon MQ 部署代理之间传输的数据。Amazon MQ 代理之间传递的所有数据均使用传输层安全性(TLS)进行加密。这适用于所有可用的协议。

默认情况下,Amazon MQ 代理使用推荐的 TLS 1.2 来加密数据。

Amazon MQ for ActiveMQ 协议

您可以使用以下启用 TLS 的协议来访问 ActiveMQ 代理:

Amazon MQ 上的 ActiveMQ 支持以下密码套件:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256

  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_RSA_WITH_AES_256_GCM_SHA384

  • TLS_RSA_WITH_AES_256_CBC_SHA256

  • TLS_RSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256

  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA

  • TLS_RSA_WITH_AES_128_GCM_SHA256

  • TLS_RSA_WITH_AES_128_CBC_SHA256

  • TLS_RSA_WITH_AES_128_CBC_SHA

Amazon MQ for RabbitMQ 协议

您可以使用以下启用 TLS 的协议访问您的 RabbitMQ 代理:

Amazon MQ 上的 RabbitMQ 支持以下密码套件:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256