

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Controle o acesso aos ZooKeeper nós do Apache em seu cluster Amazon MSK
<a name="zookeeper-security"></a>

Por motivos de segurança, você pode limitar o acesso aos ZooKeeper nós do Apache que fazem parte do seu cluster Amazon MSK. Para limitar o acesso aos nós, é possível atribuir um grupo de segurança separado para eles. Depois, é possível decidir quem tem acesso a esse grupo de segurança.

**Importante**  
Esta seção não se aplica a clusters em execução no KRaft modo. Consulte [KRaft modo](metadata-management.md#kraft-intro).

**Topics**
+ [Para colocar seus ZooKeeper nós Apache em um grupo de segurança separado](zookeeper-security-group.md)
+ [Usando a segurança TLS com o Apache ZooKeeper](zookeeper-security-tls.md)

# Para colocar seus ZooKeeper nós Apache em um grupo de segurança separado
<a name="zookeeper-security-group"></a>

Para limitar o acesso aos ZooKeeper nós do Apache, você pode atribuir um grupo de segurança separado a eles. Você pode escolher quem tem acesso a esse novo grupo de segurança definindo as regras dele.

1. Obtenha a string de ZooKeeper conexão do Apache para seu cluster. Para saber como, consulte [ZooKeeper modo](metadata-management.md#msk-get-connection-string). A string de conexão contém os nomes DNS dos seus nós do Apache ZooKeeper .

1. Use uma ferramenta como `host` ou `ping` para converter os nomes de DNS obtidos na etapa anterior para endereços IP. Salve esses endereços IP porque você precisará deles posteriormente neste procedimento.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon EC2 em. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. No painel de navegação, em **NETWORK & SECURITY (REDE E SEGURANÇA)**, selecione **Network Interfaces (Interfaces de rede)**.

1. No campo de pesquisa acima da tabela de interfaces de rede, digite o nome do cluster e digite return. Isso limita o número de interfaces de rede que aparecem na tabela às interfaces associadas ao cluster.

1. Marque a caixa de seleção no início da linha que corresponde à primeira interface de rede na lista.

1. No painel de detalhes na parte inferior da página, procure o ** IPv4 IP privado primário**. Se esse endereço IP corresponder a um dos endereços IP que você obteve na primeira etapa desse procedimento, isso significa que essa interface de rede está atribuída a um ZooKeeper nó Apache que faz parte do seu cluster. Caso contrário, desmarque a caixa de seleção ao lado dessa interface de rede e selecione a próxima interface de rede na lista. A ordem em que você seleciona as interfaces de rede não importa. Nas próximas etapas, você executará as mesmas operações em todas as interfaces de rede atribuídas aos ZooKeeper nós do Apache, uma por uma.

1. Ao selecionar uma interface de rede que corresponde a um ZooKeeper nó do Apache, escolha o menu **Ações** na parte superior da página e escolha **Alterar grupos de segurança**. Atribua um novo grupo de segurança a essa interface de rede. Para obter informações sobre como criar grupos de segurança, consulte [Criar um grupo de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html?shortFooter=true#CreatingSecurityGroups) na documentação da Amazon VPC.

1. Repita a etapa anterior para atribuir o mesmo novo grupo de segurança a todas as interfaces de rede associadas aos ZooKeeper nós Apache do seu cluster.

1. Agora é possível escolher quem tem acesso a esse novo grupo de segurança. Para obter informações sobre como configurar regras de grupo de segurança, consulte [Adicionar, remover e atualizar regras](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html?shortFooter=true#AddRemoveRules) na documentação da Amazon VPC.

# Usando a segurança TLS com o Apache ZooKeeper
<a name="zookeeper-security-tls"></a>

Você pode usar a segurança TLS para criptografia em trânsito entre seus clientes e seus nós Apache ZooKeeper . Para implementar a segurança TLS com seus ZooKeeper nós Apache, faça o seguinte:
+ Os clusters devem usar o Apache Kafka versão 2.5.1 ou posterior para usar a segurança TLS com o Apache. ZooKeeper
+ Habilite a segurança TLS ao criar ou configurar seu cluster. Clusters criados com o Apache Kafka versão 2.5.1 ou posterior com TLS ativado usam automaticamente a segurança TLS com endpoints Apache. ZooKeeper Para obter mais informações sobre a configuração da segurança TLS, consulte [Conceitos básicos sobre criptografia do Amazon MSK](msk-working-with-encryption.md).
+ Recupere os ZooKeeper endpoints TLS Apache usando a operação. [DescribeCluster ](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)
+ Crie um arquivo de ZooKeeper configuração do Apache para uso com as [https://kafka.apache.org/documentation/#security_authz_cli](https://kafka.apache.org/documentation/#security_authz_cli)ferramentas `kafka-configs.sh` e ou com o ZooKeeper shell. Com cada ferramenta, você usa o `--zk-tls-config-file` parâmetro para especificar sua ZooKeeper configuração do Apache.

  O exemplo a seguir mostra um arquivo de ZooKeeper configuração típico do Apache: 

  ```
  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
  ```
+ Para outros comandos (como`kafka-topics`), você deve usar a variável de `KAFKA_OPTS` ambiente para configurar ZooKeeper os parâmetros do Apache. O exemplo a seguir mostra como configurar a variável de `KAFKA_OPTS` ambiente para passar ZooKeeper parâmetros do Apache para outros comandos:

  ```
  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"
  ```

  Após configurar a variável de ambiente `KAFKA_OPTS`, você pode usar os comandos da CLI normalmente. O exemplo a seguir cria um tópico do Apache Kafka usando a ZooKeeper configuração do Apache a partir da variável de ambiente: `KAFKA_OPTS`

  ```
  <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --zookeeper ZooKeeperTLSConnectString --replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
  ```

**nota**  
Os nomes dos parâmetros que você usa no seu arquivo de ZooKeeper configuração do Apache e aqueles que você usa na sua variável de `KAFKA_OPTS` ambiente não são consistentes. Preste atenção nos nomes que você usa com quais parâmetros no arquivo de configuração e na variável de ambiente `KAFKA_OPTS`.

Para obter mais informações sobre como acessar seus ZooKeeper nós Apache com TLS, consulte [KIP-515: Habilitar o cliente ZK para usar a](https://cwiki.apache.org/confluence/display/KAFKA/KIP-515%3A+Enable+ZK+client+to+use+the+new+TLS+supported+authentication) nova autenticação compatível com TLS.