如何开始使用加密? - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

如何开始使用加密?

创建 MSK 集群时,您可以使用 JSON 格式指定加密设置。示例如下:

{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }

对于 DataVolumeKMSKeyId,您可以为账户 (alias/aws/kafka) 中的 MSK 指定客户托管密钥或 Amazon 托管式密钥 。如果您未指定EncryptionAtRest,Amazon MSK 仍会对您的静态数据进行加密。 Amazon 托管式密钥要确定您的集群使用的密钥,请发送 GET 请求或调用 DescribeCluster API 操作。

对于 EncryptionInTransitInCluster 的默认值为 true,但是如果您不想在代理之间传递数据时让 Amazon MSK 加密数据,则可以将此项设置为 false。

要为客户端和代理之间传输的数据指定加密模式,请将 ClientBroker 设置为以下三个值之一:TLSTLS_PLAINTEXTPLAINTEXT

创建集群时指定加密设置
  1. 将上一示例的内容保存在文件中,并为该文件指定所需的任何名称。例如,将其命名为 encryption-settings.json

  2. 运行 create-cluster 命令并使用 encryption-info 选项指向您保存配置 JSON 的文件。示例如下:将 {YOUR MSK VERSION} 替换为与 Apache Kafka 客户端版本相匹配的版本。有关如何查找 MSK 集群版本的信息,请参阅 To find the version of your MSK cluster。请注意,使用与 MSK 集群版本不同的 Apache Kafka 客户端版本,可能会导致 Apache Kafka 数据损坏、丢失和停机。

    aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file://encryptioninfo.json --kafka-version "{YOUR MSK VERSION}" --number-of-broker-nodes 3

    以下是运行此命令后的成功响应示例。

    { "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e", "ClusterName": "ExampleClusterName", "State": "CREATING" }

有关配置 Apache Kafka 客户端以使用加密数据的更多信息,请参阅配置 Kafka 客户端