O Secure Sockets Layer (SSL) é um protocolo de rede que estabelece uma conexão segura entre clientes e servidores. Ao ativar o SSL, todas as transferências de dados em um cluster Dataflow, incluindo trocas de mensagens entre produtores, consumidores e brokers, são criptografadas para evitar interceptação ou adulteração durante a transmissão pela rede.
Pré-requisitos
Crie um cluster Dataflow (cluster Kafka) com o service Kafka selecionado no console EMR. Para mais informações, consulte Create a Dataflow Kafka cluster.
Procedimento
Etapa 1: Ativar o SSL
O E-MapReduce oferece dois métodos para configurar o SSL em um cluster Kafka:
Ativar o SSL com o certificado padrão: utilize o certificado e o método de configuração padrão do E-MapReduce para ativar o SSL rapidamente.
Ativar o SSL com configurações personalizadas: use seu próprio certificado e valores de configuração para ativar o SSL.
O parâmetro kafka.ssl.config.type no arquivo server.properties controla a política de configuração de SSL no E-MapReduce.
Método 1: Padrão
Por padrão, o SSL está desativado nos clusters Kafka. Siga estas etapas para ativar o SSL rapidamente.
-
Acesse a página de configuração do service.
Faça login no console do E-MapReduce.
Na barra de navegação superior, selecione uma região e um grupo de recursos conforme necessário.
Clique em Services na coluna Actions do cluster desejado.
Na página Services, clique em Configure na área do service Kafka.
-
Modifique o parâmetro de configuração.
Na página Configure, clique na aba server.properties.
Defina o parâmetro kafka.ssl.config.type como DEFAULT.
-
Salve a configuração.
Clique em Save.
Na caixa de diálogo exibida, insira um Execution Reason e clique em Save.
-
Reinicie o service Kafka.
Na página Configure do service Kafka, selecione .
Na caixa de diálogo exibida, insira o motivo da execução e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
Método 2: Personalizado
Por padrão, o SSL está desativado nos clusters Kafka. É possível ativar o SSL com uma configuração personalizada.
-
Acesse a página de configuração do service.
Faça login no console do E-MapReduce.
Na barra de navegação superior, selecione uma região e um grupo de recursos conforme necessário.
Clique em Services na coluna Actions do cluster desejado.
Na página Services, clique em Configure na área do service Kafka.
-
Modifique o parâmetro de configuração.
Na página Configure, clique na aba server.properties.
Altere o valor do parâmetro kafka.ssl.config.type para CUSTOM.
-
Salve a configuração.
Clique em Save.
Na caixa de diálogo pop-up, insira um Execution Reason e clique em Save.
-
Configure outros parâmetros de SSL.
Configure os parâmetros relacionados ao SSL, exceto
listeners, de acordo com seus requisitos. Alguns exemplos incluemssl.keystore.location,ssl.keystore.password,ssl.truststore.location,ssl.truststore.password,ssl.key.password,ssl.keystore.typeessl.truststore.type. -
Reinicie o service Kafka.
Na página Configure do service Kafka, selecione .
Na caixa de diálogo exibida, insira o motivo da execução e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
Etapa 2: Conectar-se ao Kafka via SSL
Para se conectar ao Kafka via SSL, configure os seguintes parâmetros do cliente: security.protocol, ssl.truststore.password e ssl.truststore.location.
Por exemplo, para executar um job usando o produtor e o consumidor integrados do Kafka em um cluster Kafka com SSL ativado, siga estas etapas:
Conecte-se ao nó mestre do cluster via SSH. Para mais informações, consulte Log on to a cluster.
-
Crie um arquivo de configuração.
-
Execute o comando a seguir para criar o arquivo de configuração
ssl.properties.vim ssl.properties -
Adicione o seguinte conteúdo ao arquivo
ssl.properties.security.protocol=SSL ssl.truststore.location=/var/taihao-security/ssl/ssl/truststore ssl.truststore.password=${password} ssl.keystore.location=/var/taihao-security/ssl/ssl/keystore ssl.keystore.password=${password} ssl.endpoint.identification.algorithm=Os valores dos parâmetros estão disponíveis na página Configure do service Kafka no console EMR. Caso execute o job fora do cluster Kafka, copie os arquivos
truststoreekeystorede qualquer nó do cluster para o ambiente de execução e atualize os caminhos dos arquivos adequadamente.
-
-
Execute o comando a seguir para criar um tópico.
kafka-topics.sh --partitions 10 --replication-factor 2 --bootstrap-server core-1-1:9092 --topic test --create --command-config ssl.properties -
Execute os comandos a seguir para produzir dados usando o arquivo de configuração SSL.
export IP=<your_InnerIP> kafka-producer-perf-test.sh --topic test --num-records 123456 --throughput 10000 --record-size 1024 --producer-props bootstrap.servers=${IP}:9092 --producer.config ssl.propertiesNotaNeste exemplo de código,
<your_InnerIP>representa o endereço IP interno do nó master-1-1. -
Execute os comandos a seguir para consumir dados usando o arquivo de configuração SSL.
export IP=<your_InnerIP> kafka-consumer-perf-test.sh --broker-list ${IP}:9092 --messages 100000000 --topic test --consumer.config ssl.properties
Tópicos relacionados
Para autenticar usuários que se conectam ao service Kafka com SASL, consulte Authenticate to the Kafka service by using SASL.