本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制对 Apache 的访问 ZooKeeper
出于安全考虑,您可以限制对 Apache 的访问 ZooKeeper 属于您的亚马逊 MSK 集群的节点。要限制对节点的访问,您可以为节点分配单独的安全组。然后,您可以决定有权访问该安全组的人员。
放置你的 Apache ZooKeeper 单独安全组中的节点
-
获取 Apache ZooKeeper 集群的连接字符串。要了解如何操作,请参阅获得 Apache ZooKeeper Amazon MSK 集群的连接字符串。连接字符串包含您的 Apache 的 DNS 名称 ZooKeeper 节点。
-
使用
host或ping等工具将您在上一步中获得的 DNS 名称转换为 IP 地址。稍后您需要在此过程中使用这些 IP 地址,因此请保存这些地址。 登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 在左侧窗格的 Network & Security (网络与安全性) 下,选择 Network Interfaces (网络接口)。
-
在网络接口表上方的搜索字段中,键入集群名称,然后键入 return。这会将表中显示的网络接口数限制为与您的集群关联的接口。
-
选中与列表中的第一个网络接口对应的行开头处的复选框。
-
在页面底部的详细信息窗格中,查找 Primary private IPv4 IP (主要私有 IPv4 IP)。如果此 IP 地址与您在此过程的第一步中获得的 IP 地址之一相匹配,则表示该网络接口已分配给 Apache ZooKeeper 属于您的集群的节点。否则,取消选中此网络接口旁边的复选框,然后选择列表中的下一个网络接口。选择网络接口的顺序无关紧要。在接下来的步骤中,您将在分配给 Apache 的所有网络接口上执行相同的操作 ZooKeeper 节点,一个接一个。
-
当您选择与 Apache 对应的网络接口时 ZooKeeper 节点,选择操作页面顶部的菜单,然后选择更改安全组. 将新安全组分配给此网络接口。有关创建安全组的信息,请参阅创建安全组Amazon VPC 文档中,请查看
-
重复前面的步骤,为与 Apache 关联的所有网络接口分配相同的新安全组 ZooKeeper 集群的节点。
-
现在,您可以选择有权访问此新安全组的人员。有关设置安全组规则的信息,请参阅添加、删除和更新规则Amazon VPC 文档中,请查看
在 Apache 中使用 TLS 安全性 ZooKeeper
在客户端和 Apache 之间的传输过程中,您可以使用 TLS 安全进行加密 ZooKeeper 节点。使用你的 Apache 实现 TLS 安全性 ZooKeeper 节点,执行以下操作:
集群必须使用 Apache Kafka 版本 2.5.1 或更高版本才能在 Apache 中使用 TLS 安全性 ZooKeeper.
在创建或配置集群时启用 TLS 安全。使用 Apache Kafka 版本 2.5.1 或更高版本创建且启用了 TLS 的集群会自动使用 Apache 的 TLS 安全性 ZooKeeper 终端节点。有关设置 TLS 安全的信息,请参阅如何开始使用加密?.
检索 TLS Apache ZooKeeper 端点使用DescribeCluster 操作。
创建一个 Apache ZooKeeper 与... 一起使用的配置文件
kafka-configs.sh和kafka-acls.sh工具,或者使用 ZooKeeper Shell。对于每种工具,您都使用 --zk-tls-config-file用于指定你的 Apache 的参数 ZooKeeper COMig。以下示例显示了典型的 Apache。 ZooKeeper 配置文件:
zookeeper.ssl.client.enable=true zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty zookeeper.ssl.keystore.location=kafka.jks zookeeper.ssl.keystore.password=test1234 zookeeper.ssl.truststore.location=truststore.jks zookeeper.ssl.truststore.password=test1234用于其他命令(例如
kafka-topics),您必须使用KAFKA_OPTS用于配置 Apache 的环境变量 ZooKeeper参数。以下示例说明了如何配置KAFKA_OPTS传递 Apache 的环境变量 ZooKeeper将参数转换为其他命令:export KAFKA_OPTS=" -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.trustStore.location=/home/ec2-user/kafka.client.truststore.jks -Dzookeeper.ssl.trustStore.password=changeit"在您配置之后
KAFKA_OPTS环境变量,你可以正常使用 CLI 命令。以下示例使用 Apache 创建 Apache Kafka 主题 ZooKeeper 配置来自KAFKA_OPTS环境变量:<path-to-your-kafka-installation>/bin/kafka-topics.sh --create --zookeeperZooKeeperTLSConnectString--replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
你在 Apache 中使用的参数的名称 ZooKeeper 配置文件和你在你的KAFKA_OPTS环境变量不一致。注意你在配置文件中使用了哪些名称和哪些参数KAFKA_OPTS环境变量。
有关访问您的 Apache 的更多信息 ZooKeeper 带有 TLS 的节点,请参阅KIP-515:允许 ZK 客户端使用新的 TLS 支持身份验证