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á.
Como começo a usar a criptografia?
Ao criar um cluster do MSK, você pode especificar configurações de criptografia no formato JSON. Veja um exemplo a seguir.
{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }
Para DataVolumeKMSKeyId
, é possível especificar uma chave gerenciada pelo cliente ou a Chave gerenciada pela AWS para o MSK na sua conta (alias/aws/kafka
). Se você não especificarEncryptionAtRest
, o Amazon MSK ainda criptografa seus dados em repouso sob o. Chave gerenciada pela AWS Para determinar qual chave o cluster está usando, envie uma solicitação GET
ou invoque a operação de API DescribeCluster
.
Para EncryptionInTransit
, o valor padrão de InCluster
é verdadeiro, mas será possível defini-lo como falso se não quiser que o Amazon MSK criptografe seus dados conforme eles passam pelos agentes.
Para especificar o modo de criptografia para dados em trânsito entre clientes e agentes, defina ClientBroker
como um dos três valores: TLS
, TLS_PLAINTEXT
ou PLAINTEXT
.
Como especificar configurações de criptografia ao criar um cluster
Salve o conteúdo do exemplo anterior em um arquivo e dê ao arquivo qualquer nome que desejar. Por exemplo, nomeie-o como
encryption-settings.json
.-
Execute o comando
create-cluster
e use a opçãoencryption-info
para apontar para o arquivo onde você salvou a configuração JSON. Veja um exemplo a seguir. Substitua{YOUR MSK VERSION}
por uma versão que corresponda à versão do cliente Apache Kafka. Para obter informações sobre como encontrar a versão de cluster do MSK, consulte To find the version of your MSK cluster. Esteja ciente de que usar uma versão do cliente Apache Kafka que não seja igual à sua versão de cluster do MSK pode resultar em corrupção, perda e tempo de inatividade dos dados do Apache Kafka.aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file://encryptioninfo.json --kafka-version "
{YOUR MSK VERSION}
" --number-of-broker-nodes 3Veja a seguir um exemplo de uma resposta bem-sucedida após a execução desse comando.
{ "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e", "ClusterName": "ExampleClusterName", "State": "CREATING" }
Como testar a criptografia por TLS
Crie uma máquina de cliente seguindo as orientações em Etapa 3: criar uma máquina cliente.
-
Instale o Apache Kafka na máquina de cliente.
-
Neste exemplo, o armazenamento confiável da JVM para se comunicar com o cluster do MSK. Para fazer isso, crie primeiramente uma pasta chamada
/tmp
na máquina cliente. Depois, acesse a pastabin
da instalação do Apache Kafka e execute o comando a seguir. (Seu caminho da JVM pode ser diferente.)cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64/jre/lib/security/cacerts /tmp/kafka.client.truststore.jks
-
Enquanto ainda estiver na pasta
bin
da instalação do Apache Kafka na máquina cliente, crie um arquivo de texto chamadoclient.properties
com o conteúdo a seguir.security.protocol=SSL ssl.truststore.location=/tmp/kafka.client.truststore.jks
-
Execute o comando a seguir em uma máquina que tenha o AWS CLI instalado, substituindo
clusterARN
pelo ARN do seu cluster.aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
Um resultado bem-sucedido tem a aparência a seguir. Salve este resultado porque você precisará dele na próxima etapa.
{ "BootstrapBrokerStringTls": "a-1.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-3.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-2.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123" }
-
Execute o comando a seguir,
BootstrapBrokerStringTls
substituindo-o por um dos endpoints do broker que você obteve na etapa anterior.<path-to-your-kafka-installation>
/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringTls
--producer.config client.properties --topic TLSTestTopic -
Abra uma nova janela de comando e conecte-se à mesma máquina cliente. Depois, execute o comando a seguir para criar um consumidor de console.
<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringTls
--consumer.config client.properties --topic TLSTestTopic -
Na janela do produtor, digite uma mensagem de texto seguida de um retorno e procure a mesma mensagem na janela do consumidor. O Amazon MSK criptografou essa mensagem em trânsito.
Para obter mais informações sobre como configurar clientes do Apache Kafka para trabalhar com dados criptografados, consulte Configurar clientes do Kafka