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