Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Comment démarrer avec le chiffrement ?
Lors de la création d'un cluster MSK, vous pouvez spécifier les paramètres de chiffrement au format JSON. Voici un exemple.
{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }
Pour DataVolumeKMSKeyId
, vous pouvez spécifier une clé gérée par le client ou la Clé gérée par AWS pour MSK dans votre compte (alias/aws/kafka
). Si vous ne le spécifiez pasEncryptionAtRest
, Amazon MSK chiffre toujours vos données au repos sous le. Clé gérée par AWS Pour déterminer la clé utilisée par votre cluster, envoyez une requête GET
ou invoquez l'opération d'API DescribeCluster
.
Pour EncryptionInTransit
, la valeur par défaut de InCluster
est true, mais vous pouvez la définir sur false si vous ne voulez pas qu'Amazon MSK chiffre vos données au fur et à mesure qu'elles passent entre les agents.
Pour spécifier le mode de chiffrement des données en transit entre les clients et les brokers, définissez ClientBroker
sur l'une des trois valeurs suivantes : TLS
, TLS_PLAINTEXT
ou PLAINTEXT
.
Pour spécifier des paramètres de chiffrement lors de la création d'un cluster
Enregistrez le contenu de l'exemple précédent dans un fichier et donnez au fichier le nom souhaité. Par exemple, appelez-le
encryption-settings.json
.-
Exécutez la commande
create-cluster
et utilisez l'optionencryption-info
pour pointer vers le fichier dans lequel vous avez enregistré votre JSON de configuration. Voici un exemple. Remplacez{VOTRE VERSION MSK}
par une version qui correspond à la version du client Apache Kafka. Pour de plus amples informations sur la recherche de la version de votre cluster MSK, consultez To find the version of your MSK cluster. Sachez que l'utilisation d'une version du client Apache Kafka différente de la version de votre cluster MSK peut entraîner la corruption, la perte et l'arrêt des données d'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 3Voici un exemple de réponse réussie après l'exécution de cette commande.
{ "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e", "ClusterName": "ExampleClusterName", "State": "CREATING" }
Pour tester le chiffrement TLS
Créez une machine client en suivant les instructions de Étape 3 : Créer un ordinateur client.
-
Installez Apache Kafka sur l'ordinateur client.
-
Dans cet exemple, nous utilisons le magasin fiable JVM pour parler au cluster MSK. Pour ce faire, créez d'abord un dossier nommé
/tmp
sur l'ordinateur client. Ensuite, accédez au dossierbin
de l'installation d'Apache Kafka et exécutez la commande suivante. (Votre chemin JVM peut être différent.)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
-
Dans le dossier
bin
de l'installation d'Apache Kafka sur l'ordinateur client, créez un fichier texte nomméclient.properties
avec le contenu suivant.security.protocol=SSL ssl.truststore.location=/tmp/kafka.client.truststore.jks
-
Exécutez la commande suivante sur une machine sur laquelle le
ClusterArn est AWS CLI installé, en remplaçant ClusterArn
par l'ARN de votre cluster.aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
Un résultat réussi ressemble à ce qui suit. Enregistrez ce résultat car vous en avez besoin pour l'étape suivante.
{ "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" }
-
Exécutez la commande suivante, en la
BootstrapBrokerStringTls
remplaçant par l'un des points de terminaison du broker que vous avez obtenus à l'étape précédente.<path-to-your-kafka-installation>
/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringTls
--producer.config client.properties --topic TLSTestTopic -
Ouvrez une nouvelle fenêtre de commande et connectez-vous au même ordinateur client. Exécutez ensuite la commande suivante pour créer un consommateur de console.
<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringTls
--consumer.config client.properties --topic TLSTestTopic -
Dans la fenêtre du producteur, tapez un message texte suivi d'un retour et recherchez le même message dans la fenêtre du consommateur. Amazon MSK a chiffré ce message en transit.
Pour de plus amples informations sur la configuration des clients Apache Kafka pour qu'ils fonctionnent avec des données chiffrées, veuillez consulter Configuration des clients Kafka