Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
¿Cómo empiezo a utilizar el cifrado?
Al crear un MSK clúster, puede especificar la configuración de cifrado en el JSON formato. A continuación, se muestra un ejemplo.
{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }
ParaDataVolumeKMSKeyId
, puede especificar una clave gestionada Clave administrada de AWS por el cliente o el MSK formulario de su cuenta (alias/aws/kafka
). Si no lo especificasEncryptionAtRest
, Amazon MSK seguirá cifrando tus datos en reposo en. Clave administrada de AWS Para determinar qué clave utiliza su clúster, envíe una GET
solicitud o invoque la DescribeCluster
API operación.
ParaEncryptionInTransit
, el valor predeterminado de InCluster
es verdadero, pero puedes establecerlo en falso si no quieres que Amazon cifre tus datos MSK a medida que pasan de un agente a otro.
Para especificar el modo de cifrado de los datos en tránsito entre clientes y agentes, establezca ClientBroker
a uno de los tres valores: TLS
, TLS_PLAINTEXT
, o PLAINTEXT
.
Especificación de la configuración de cifrado al crear un clúster
Guarde el contenido del ejemplo anterior en un archivo y asígnele el nombre que desee. Por ejemplo, llámalo
encryption-settings.json
.-
Ejecute el
create-cluster
comando y utilice laencryption-info
opción para apuntar al archivo en el que guardó la configuraciónJSON. A continuación, se muestra un ejemplo. Reemplazar{YOUR MSK VERSION}
con una versión que coincida con la versión del cliente Apache Kafka. Para obtener información sobre cómo encontrar la versión de su MSK clúster, consulteTo find the version of your MSK cluster. Tenga en cuenta que el uso de una versión de cliente de Apache Kafka que no sea la misma que la versión de MSK clúster puede provocar la corrupción de los datos de Apache Kafka, su pérdida y su tiempo de inactividad.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 3El siguiente es un ejemplo de una respuesta correcta después de ejecutar este comando.
{ "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e", "ClusterName": "ExampleClusterName", "State": "CREATING" }
Para probar el cifrado TLS
Cree un equipo cliente siguiendo las instrucciones de Paso 3: creación de un equipo cliente.
-
Instale Apache Kafka en el equipo cliente.
-
En este ejemplo, utilizamos el JVM truststore para comunicarnos con el MSK clúster. Para ello, primero cree una carpeta denominada
/tmp
en el equipo cliente. Luego, vaya a la carpetabin
de la instalación de Apache Kafka y ejecute el siguiente comando. (Su JVM ruta puede 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
-
Mientras esté aún en la carpeta
bin
de la instalación de Apache Kafka en el equipo cliente, cree un archivo de texto denominadoclient.properties
con el siguiente contenido.security.protocol=SSL ssl.truststore.location=/tmp/kafka.client.truststore.jks
-
Ejecute el siguiente comando en una máquina que tenga AWS CLI instalada la que sustituya
clusterARN
con el ARN de su clúster.aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
Un resultado correcto sería como el siguiente. Guarde este resultado porque lo necesita para el siguiente paso.
{ "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" }
-
Ejecute el siguiente comando, sustituyendo
BootstrapBrokerStringTls
con uno de los puntos finales del bróker que obtuvo en el paso anterior.<path-to-your-kafka-installation>
/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringTls
--producer.config client.properties --topic TLSTestTopic -
Abra una nueva ventana de comandos y conéctese al mismo equipo cliente. A continuación, ejecute el siguiente comando para crear un consumidor de consola.
<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringTls
--consumer.config client.properties --topic TLSTestTopic -
En la ventana del productor, escriba un mensaje de texto seguido de una devolución y busque el mismo mensaje en la ventana del consumidor. Amazon MSK cifró este mensaje en tránsito.
Para obtener más información acerca de cómo configurar clientes Apache Kafka para que funcionen con datos cifrados, consulte Configuración de clientes Kafka