静态加密
借助服务器端加密 (SSE),您可以采用加密主题的方式存储敏感数据。SSE 使用 Amazon Key Management Service (Amazon KMS) 中托管的密钥保护 Amazon SNS 主题中消息的内容。
有关使用 Amazon Web Services Management Console或 Amazon SDK for Java 管理 SSE(通过使用 CreateTopic
和 SetTopicAttributes
API 操作设置 KmsMasterKeyId
属性)的信息,请参阅 为 Amazon SNS 主题启用服务器端加密 (SSE)。有关使用 Amazon CloudFormation 创建加密主题(通过使用 AWS::SNS::Topic
资源设置 KmsMasterKeyId
属性)的信息,请参阅 Amazon CloudFormation 用户指南。
一旦 Amazon SNS 收到消息,SSE 就会对消息进行加密。这些消息以加密形式存储,并且仅当消息发送时,Amazon SNS 才会对消息进行解密。
重要
针对启用了 SSE 的主题的所有请求都必须使用 HTTPS 和签名版本 4。
有关其他服务与加密主题的兼容性的信息,请参阅服务文档。
Amazon KMS 将安全、高度可用的硬件和软件结合起来,提供可扩展到云的密钥管理系统。将 Amazon SNS 与 Amazon KMS 结合使用时,加密消息数据的数据密钥也将进行加密并且与其保护的数据存储在一起。
使用 Amazon KMS 具有以下好处:
-
您可以自行创建和管理 Amazon KMS 密钥。
-
您还可以为 Amazon SNS 使用 Amazon 托管 KMS 密钥,这些密钥对于每个账户和区域都是唯一的。
-
Amazon KMS 安全标准可帮助您满足与加密相关的合规性要求。
有关更多信息,请参阅 Amazon Key Management Service 开发人员指南中的什么是 Amazon Key Management Service?
加密范围
SSE 将对 Amazon SNS 主题中的消息正文进行加密。
SSE 不对以下各项进行加密:
-
主题元数据(主题名称和属性)
-
消息元数据(主题、消息 ID、时间戳和属性)
-
每个主题的指标数
注意
-
仅在启用主题加密后发送消息时对其进行加密。Amazon SNS 不会加密积压的消息。
-
任何加密的消息将保持加密状态,即使已禁用其主题的加密。
关键术语
以下关键术语有助于您更好地了解 SSE 的功能。有关详细说明,请参阅 Amazon Simple Notification Service API 参考。
- 数据密钥
-
数据加密密钥 (DEK) 负责加密 Amazon SNS 消息的内容。
有关更多信息,请参阅 Amazon Key Management Service 开发人员指南中的数据密钥和 Amazon Encryption SDK 开发人员指南中的信封加密。
- Amazon KMS 密钥 ID
-
您的账户或另一账户中的 Amazon KMS 密钥或自定义 Amazon KMS 的别名、别名 ARN、密钥 ID 或密钥 ARN。虽然适用于 Amazon SNS 的 Amazon 托管式 Amazon KMS 的别名始终为
alias/aws/sns
,但自定义 Amazon KMS 的别名可以如alias/
所示。您可以利用这些 Amazon KMS 密钥保护 Amazon SNS 主题中的消息。MyAlias
注意
记住以下内容:
-
第一次使用 Amazon Web Services Management Console为主题指定适用于 Amazon SNS 的 Amazon 托管式 KMS 时,Amazon KMS 会创建适用于 Amazon SNS 的 Amazon 托管式 KMS。
-
或者,您第一次对启用了 SSE 的主题使用
Publish
操作时,Amazon KMS 会创建适用于 Amazon SNS 的 Amazon 托管式 KMS。
您可以利用 Amazon KMS 控制台的 Amazon KMS keys(Amazon KMS 密钥)部分或利用
CreateKey
Amazon KMS 操作来创建 Amazon KMS 密钥,定义控制如何使用 Amazon KMS 密钥的策略以及审核 Amazon KMS 使用情况。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon KMS 密钥和创建密钥。有关 Amazon KMS 标识符的更多示例,请参阅《Amazon Key Management Service API 参考》中的 KeyId。有关查找 Amazon KMS 标识符的信息,请参阅《Amazon Key Management Service 开发人员指南》中的查找密钥 ID 和 ARN。重要
使用 Amazon KMS 无需支付额外费用。有关更多信息,请参阅估算 Amazon KMS 成本和 Amazon Key Management Service 定价
。 -