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. Isso garante que informações sensíveis não sejam interceptadas ou adulteradas durante a transmissão pela rede. Este tópico descreve como ativar o SSL e conectar-se ao Kafka via SSL.
Pré-requisitos
Crie um cluster Dataflow (cluster Kafka) com o serviço Kafka selecionado no console EMR. Para mais informações, consulte Criar um cluster Dataflow Kafka.
Procedimento
Etapa 1: Ativar o SSL
O E-MapReduce oferece dois métodos para configurar o SSL em um cluster Kafka:
Ative o SSL com certificado padrão: utilize o certificado e o método de configuração padrão do E-MapReduce para ativar o SSL rapidamente.
Ative 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 de configuração server.properties gerencia as políticas 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 serviço.
Faça login no console 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 serviço 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 serviço Kafka.
Na página Configure do serviço 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 serviço.
Faça login no console 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 serviço 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.
Conforme seus requisitos de negócio, configure os parâmetros relacionados ao SSL, exceto
listeners. Exemplos:ssl.keystore.location,ssl.keystore.password,ssl.truststore.location,ssl.truststore.password,ssl.key.password,ssl.keystore.typeessl.truststore.type. -
Reinicie o serviço Kafka.
Na página Configure do serviço 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 conectar-se 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 nativos do Kafka em um cluster com SSL ativado, siga estas etapas:
Conecte-se ao nó mestre do cluster via SSH. Para mais informações, consulte Fazer login em um cluster.
-
Crie um arquivo de configuração.
-
Execute o comando abaixo 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 desses parâmetros estão disponíveis na página Configure do serviço Kafka no console EMR. Se você executar o job em um ambiente externo ao cluster Kafka, copie os arquivos
truststoreekeystoredo diretório correspondente em qualquer nó do cluster para o seu ambiente de execução e configure os caminhos 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 abaixo 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 utilizando 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 serviço Kafka com SASL, consulte Autenticar no serviço Kafka usando SASL.