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 MSK cluster, vous pouvez définir les paramètres de chiffrement au JSON format. Voici un exemple.
{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }
PourDataVolumeKMSKeyId
, vous pouvez spécifier une clé gérée par le client ou le Clé gérée par AWS for MSK dans votre compte (alias/aws/kafka
). Si vous ne le spécifiez pasEncryptionAtRest
, Amazon chiffre MSK toujours vos données au repos conformément au Clé gérée par AWS. Pour déterminer la clé utilisée par votre cluster, envoyez une GET
demande ou appelez l'DescribeCluster
APIopération.
En EncryptionInTransit
effet, la valeur par défaut InCluster
est true, mais vous pouvez la définir sur false si vous ne souhaitez pas qu'Amazon chiffre vos données lorsqu'elles passent d'un courtier MSK à l'autre.
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
create-cluster
commande et utilisez l'encryption-info
option pour pointer vers le fichier dans lequel vous avez enregistré votre configurationJSON. Voici un exemple. Remplacez{YOUR MSK VERSION}
avec une version qui correspond à la version du client Apache Kafka. Pour plus d'informations sur la façon de trouver la version de votre MSK cluster, consultezTo 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 MSK cluster 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 TLS chiffrement
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 JVM truststore pour communiquer avec le MSK cluster. 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. (Il se peut que votre JVM parcours soit 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 est AWS CLI installé, en remplaçant
clusterARN
avec le 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 remplaçant
BootstrapBrokerStringTls
avec l'un des points de terminaison du courtier 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 a MSK chiffré ce message pendant le transport.
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