

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

# 禁用或启用 Apache ZooKeeper 客户端的直接访问
<a name="zookeeper-disable-access"></a>

您可以在 Amazon MSK 预配置集群上禁用 Apache ZooKeeper 客户端的直接访问，以验证您的应用程序不依赖直接连接。 ZooKeeper 禁用 ZooKeeper 访问后，客户端将无法再通过端口 2181（纯文本）和 2182（TLS）连接到 Apache ZooKeeper 节点。您可以随时重新启用 ZooKeeper 访问权限。

**注意**  
此功能仅适用于使用标准代理 ZooKeeper 元数据模式的 Amazon MSK 预配置集群。它不适用于以下集群类型：  
在 KRaft 元数据模式下运行的集群
使用快递代理的集群。 ZooKeeper 在 Express 集群中，访问权限是自动管理的，无法手动配置。
Amazon MSK 无服务器集群

**使用控制台禁用 ZooKeeper 访问**

1. 登录并在[https://console.aws.amazon.com/msk/家中打开 Amazon MSK 控制台？ AWS 管理控制台 region=us](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)-east-1\#/home/。

1. 在集群列表中，选择要禁用 ZooKeeper 访问权限的集群。

1. 选择**属性**选项卡，然后找到**网络设置**部分。

1. 选择 “**禁用 ZooKeeper 访问**”。

**使用禁用 ZooKeeper 访问权限 AWS CLI**

1. 运行以下 AWS CLI 命令，用集{{ClusterArn}}群{{Current-Cluster-Version}}的 ARN 和当前版本替换和。要查找集群的当前版本，请使用[DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)操作或 desc [ribe-](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html) AWS CLI cluster 命令。示例版本是 `KTVPDKIKX0DER`。

   ```
   aws kafka update-connectivity --cluster-arn {{ClusterArn}} --current-version {{Current-Cluster-Version}} --zookeeper-access '{"Enabled": false}'
   ```

   该 `update-connectivity` 命令的输出如以下 JSON 示例所示。

   ```
   {
       "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2",
       "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef"
   }
   ```
**注意**  
要重新启用 ZooKeeper 访问权限，请`--zookeeper-access`改用具有以下值的类似 AWS CLI 命令：  

   ```
   '{"Enabled": true}'
   ```

1. 要获得`update-connectivity`操作结果，请运行以下命令，{{ClusterOperationArn}}替换为在命令输出中获得的 ARN。`update-connectivity`

   ```
   aws kafka describe-cluster-operation --cluster-operation-arn {{ClusterOperationArn}}
   ```

   该 `describe-cluster-operation` 命令的输出如以下 JSON 示例所示。

   ```
   {
       "ClusterOperationInfo": {
           "ClientRequestId": "982168a3-939f-11e9-8a62-538df00285db",
           "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2",
           "CreationTime": "2026-01-15T21:08:57.735Z",
           "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef",
           "OperationState": "UPDATE_COMPLETE",
           "OperationType": "UPDATE_CONNECTIVITY",
           "SourceClusterInfo": {
               "ZookeeperAccess": {
                   "Enabled": true
               }
           },
           "TargetClusterInfo": {
               "ZookeeperAccess": {
                   "Enabled": false
               }
           }
       }
   }
   ```

   如果 `OperationState` 的值为 `UPDATE_IN_PROGRESS`，请等待一段时间，然后再次运行 `describe-cluster-operation` 命令。

**使用 Amazon MSK API 禁用 ZooKeeper 访问权限**
+ 要使用 API 禁用或启用对集群的 ZooKeeper 访问权限，请参阅[UpdateConnectivity](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-connectivity.html)。