静态加密 - Amazon Simple Notification Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

静态加密

借助服务器端加密 (SSE),您可以采用加密主题的方式存储敏感数据。SSE 使用 AWS Key Management Service (AWS KMS) 中托管的密钥保护 Amazon SNS 主题中消息的内容。

有关使用 AWS 管理控制台或 AWS SDK for Java 管理 SSE(通过使用 CreateTopicSetTopicAttributes API 操作设置 KmsMasterKeyId 属性)的信息,请参阅 启用服务器端加密(SSE) Amazon SNS 主题。有关使用 AWS CloudFormation 创建加密主题(通过使用 AWS::SNS::Topic 资源设置 KmsMasterKeyId 属性)的信息,请参阅 AWS CloudFormation 用户指南

一旦 Amazon SNS 收到消息,SSE 就会对消息进行加密。这些消息以加密形式存储,并且仅当消息发送时,Amazon SNS 才会对消息进行解密。

重要

对启用了 SSE 的主题的所有请求都必须使用 HTTPS 和签名版本 4

有关其他服务与加密主题的兼容性的信息,请参阅您的服务文档。

AWS KMS 将安全、高度可用的硬件和软件结合起来,提供可扩展到云的密钥管理系统。将 Amazon SNS 与 AWS KMS 结合使用时,加密消息数据的数据密钥也将进行加密并且与其保护的数据存储在一起。

使用 AWS KMS 具有以下好处:

  • 您可以自行创建和管理客户主密钥 (CMK)

  • 您还可以为 Amazon SNS 使用 AWS 托管 KMS 密钥,这些密钥对于每个账户和区域都是唯一的。

  • AWS KMS 安全标准可帮助您满足与加密相关的合规性要求。

有关更多信息,请参阅 什么是AWSKeyManagementService?AWS Key Management Service Developer GuideAWS Key Management Service 密码详细信息 白皮书。

加密范围

SSE 将对 Amazon SNS 主题中的消息正文进行加密。

SSE 不对以下各项进行加密:

  • 主题元数据(主题名称和属性)

  • 消息元数据(主题、消息 ID、时间戳和属性)

  • 每个主题的指标数

注意
  • 仅在启用主题加密后发送消息时对其进行加密。Amazon SNS 不对积压消息进行加密。

  • 任何加密的消息将保持加密状态,即使已禁用其主题的加密。

关键术语

以下关键术语有助于您更好地了解 SSE 的功能。有关详细说明,请参阅 Amazon Simple Notification Service API Reference

数据密钥

数据加密密钥 (DEK) 负责加密 Amazon SNS 消息的内容。

有关更多信息,请参阅 https://docs.amazonaws.cn/kms/latest/developerguide/concepts.html#data-keys 中的AWS Key Management Service Developer Guide数据密钥https://docs.amazonaws.cn/encryption-sdk/latest/developer-guide/how-it-works.html#envelope-encryption 中的AWS 加密 SDK 开发人员指南信封加密

客户主密钥 ID

您的账户或另一账户中的 AWS 托管客户主密钥 (CMK) 或自定义 CMK— 的别名、别名 ARN、密钥 ID 或密钥 ARN。而的别名 AWS 管理CMK Amazon SNS 始终是 alias/aws/sns,例如,自定义CMK的别名可以是 alias/MyAlias。您可以使用这些 CMKs 来保护 Amazon SNS 主题。

注意

记住以下内容:

  • 在首次使用 AWS 管理控制台为主题的 Amazon SNS 指定 AWS 托管的 CMK 时,AWS KMS 将为 Amazon SNS 创建 AWS 托管的 CMK。

  • 或者,首次对启用 SSE 的主题使用 Publish 操作时,AWS KMS 将为 Amazon SNS 创建 AWS 托管的 CMK。

您可以创建 CMKs,定义控制如何 CMKs 可以使用,并使用 客户管理密钥 部分 AWS KMS 控制台或 CreateKey AWS KMS 行动。有关更多信息,请参阅 客户主密钥(CMK)创建密钥AWS Key Management Service Developer Guide. 有关CMK标识符的更多示例,请参阅 KeyIdAWS Key Management Service API Reference. 有关查找CMK标识符的信息,请参阅 查找密钥ID和ARNAWS Key Management Service Developer Guide.

重要

使用 AWS KMS 无需支付额外费用。有关更多信息,请参阅估算 AWS KMS 成本AWS Key Management Service 定价