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

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

Amazon MQ 中的数据保护

分担责任模型适用于 Amazon MQ 中的数据保护。如本模型所述 Amazon ,负责保护运行所有内容的全球基础架构 Amazon Web Services 云。您负责维护对托管在此基础架构上的内容的控制。您还负责您所使用的 Amazon Web Services 服务 的安全配置和管理任务。有关数据隐私的更多信息,请参阅数据隐私FAQ

出于数据保护目的,我们建议您保护 Amazon Web Services 账户 凭据并使用 Amazon IAM Identity Center 或 Amazon Identity and Access Management (IAM) 设置个人用户。这样,每个用户只获得履行其工作职责所需的权限。我们还建议您通过以下方式保护数据:

  • 对每个账户使用多重身份验证 (MFA)。

  • 使用SSL/TLS与 Amazon 资源通信。我们需要 TLS 1.2,建议使用 TLS 1.3。

  • 使用API进行设置和用户活动记录 Amazon CloudTrail。有关使用 CloudTrail 跟踪捕获 Amazon 活动的信息,请参阅《Amazon CloudTrail 用户指南》中的使用跟 CloudTrail 踪

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

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

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

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

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

加密

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 代理创建亚马逊 MQ 或为 RabbitMQ 代理创建亚马逊 MQ 时,你可以指定你希望 Amazon MQ 用来 Amazon KMS key 加密静态数据。如果您未指定KMS密钥,Amazon MQ 会为您创建 Amazon 自有KMS密钥并代表您使用该密钥。亚马逊 MQ 目前支持对称KMS密钥。有关KMS密钥的更多信息,请参阅Amazon KMS keys

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

  • 亚马逊 MQ 拥有的KMS密钥(默认)-密钥由亚马逊 MQ 拥有和管理,不在您的账户中。

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

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

重要
  • 撤消授权的操作无法撤消。相反,如果您需要撤消访问权限,我们建议您删除代理。

  • 对于使用 Amazon Elastic File System File System (EFS) 存储消息数据的亚马逊 MQ for ActiveM Q 经纪商,如果您撤销授予亚马逊使用您账户中KMS密钥的EFS权限,则该授权将不会立即生效。

  • 对于用于存储消息数据的亚马逊 MQ for RabbitMQ 和用于存储消息数据的亚马逊 MQ ActiveMQ 代理EBS,如果您禁用、计划删除或撤销授予亚马逊使用您账户中KMS密钥的EBS权限,Amazon MQ 将无法维护您的代理,并且可能会更改为降级状态。

  • 如果您已停用密钥或计划要删除的密钥,则可以重新激活密钥或取消密钥删除并维护您的代理。

  • 禁用密钥或撤消授权将不会立即发生。

使用 RabbitMQ 的KMS密钥创建单个实例代理时,您将看到两个CreateGrant事件已登录。 Amazon CloudTrail第一个事件是 Amazon MQ 为密钥创建授权。KMS第二个活动是EBS创建赠款EBS以供使用。

mq_grant
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/AmazonMqConsole", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/AmazonMqConsole", "accountId": "111122223333", "userName": "AmazonMqConsole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-02-23T18:59:10Z", "mfaAuthenticated": "false" } }, "invokedBy": "mq.amazonaws.com" }, "eventTime": "2018-06-28T22:23:46Z", "eventSource": "amazonmq.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.0", "userAgent": "PostmanRuntime/7.1.5", "requestParameters": { "granteePrincipal": "mq.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:316438333700:key/bdbe42ae-f825-4e78-a8a1-828d411c4be2", "retiringPrincipal": "mq.amazonaws.com", "operations": [ "CreateGrant", "Decrypt", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "DescribeKey" ] }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }
EBS grant creation

您将看到一个EBS赠款创建活动。

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "mq.amazonaws.com" }, "eventTime": "2023-02-23T19:09:40Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "mq.amazonaws.com", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "granteePrincipal": "mq.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "constraints": { "encryptionContextSubset": { "aws:ebs:id": "vol-0b670f00f7d5417c0" } }, "operations": [ "Decrypt" ], "retiringPrincipal": "ec2.us-east-1.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventCategory": "Management" }

使用 RabbitMQ 的KMS密钥创建集群部署时,您将看到记录了五个CreateGrant事件。 Amazon CloudTrail前两个事件是为 Amazon MQ 创建授权。接下来的三个事件是由创建的赠款EBS以EBS供使用。

mq_grant
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/AmazonMqConsole", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/AmazonMqConsole", "accountId": "111122223333", "userName": "AmazonMqConsole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-02-23T18:59:10Z", "mfaAuthenticated": "false" } }, "invokedBy": "mq.amazonaws.com" }, "eventTime": "2018-06-28T22:23:46Z", "eventSource": "amazonmq.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.0", "userAgent": "PostmanRuntime/7.1.5", "requestParameters": { "granteePrincipal": "mq.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:316438333700:key/bdbe42ae-f825-4e78-a8a1-828d411c4be2", "retiringPrincipal": "mq.amazonaws.com", "operations": [ "CreateGrant", "Encrypt", "Decrypt", "ReEncryptFrom", "ReEncryptTo", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "DescribeKey" ] }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }
mq_rabbit_grant
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/AmazonMqConsole", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/AmazonMqConsole", "accountId": "111122223333", "userName": "AmazonMqConsole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-02-23T18:59:10Z", "mfaAuthenticated": "false" } }, "invokedBy": "mq.amazonaws.com" }, "eventTime": "2018-06-28T22:23:46Z", "eventSource": "amazonmq.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.0", "userAgent": "PostmanRuntime/7.1.5", "requestParameters": { "granteePrincipal": "mq.amazonaws.com", "retiringPrincipal": "mq.amazonaws.com", "operations": [ "DescribeKey" ], "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }
EBS grant creation

您将看到三个创建EBS赠款的事件。

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "mq.amazonaws.com" }, "eventTime": "2023-02-23T19:09:40Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "mq.amazonaws.com", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "granteePrincipal": "mq.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "constraints": { "encryptionContextSubset": { "aws:ebs:id": "vol-0b670f00f7d5417c0" } }, "operations": [ "Decrypt" ], "retiringPrincipal": "ec2.us-east-1.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventCategory": "Management" }

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

传输中加密

适用于 ActiveMQ 的亚马逊 MQ:适用于 Active MQ 的亚马逊 MQ 需要强大的传输层安全性 ()TLS,并对部署亚马逊 MQ 的代理之间传输的数据进行加密。在 Amazon MQ 代理之间传递的所有数据均使用强大的传输层安全性 () TLS 进行加密。这适用于所有可用的协议。

适用于 Rabbit@@ MQ 的亚马逊 MQ:适用于 Rabbit MQ 的亚马逊 MQ 要求对所有客户端连接进行强大的传输层安全 () 加密。TLSRabbitMQ 集群复制流量仅通过您的代理流量,VPC并且 Amazon 数据中心之间的所有网络流量都在物理层进行透明加密。Amazon MQ for RabbitMQ 集群代理目前不支持集群复制的节点间加密。要了解更多信息 data-in-transit,请参阅加密静态和传输中的数据

Amazon MQ for ActiveMQ 协议

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

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

  • TLS_ _ ECDHE RSA _ AES _256 WITH GCM _ _ SHA384

  • TLS_ _ ECDHE RSA _ AES _256 WITH CBC _ _ SHA384

  • TLS_ _ ECDHE RSA _ AES _256 WITH CBC _ _ SHA

  • TLS_ _ DHE RSA _ AES _256 WITH GCM _ _ SHA384

  • TLS_ _ DHE RSA _ AES _256 WITH CBC _ _ SHA256

  • TLS_ _ DHE RSA _ AES _256 WITH CBC _ _ SHA

  • TLS_ RSA _ AES _256 WITH GCM _ _ SHA384

  • TLS_ RSA _ AES _256 WITH CBC _ _ SHA256

  • TLS_ RSA _ AES _256 WITH 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 _ AES _128 WITH GCM _ _ SHA256

  • TLS_ RSA _ AES _128 WITH CBC _ _ SHA256

  • TLS_ RSA _ AES _128 WITH CBC _ _ SHA

Amazon MQ for RabbitMQ 协议

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

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

  • TLS_ _ ECDHE RSA _ AES _256 WITH GCM _ _ SHA384

  • TLS_ _ ECDHE _ RSA WITH _ AES _128 GCM _ SHA256