Contrôle de l'accès à Apache ZooKeeper - Amazon Managed Streaming for Apache Kafka

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.

Contrôle de l'accès à Apache ZooKeeper

Pour des raisons de sécurité, vous pouvez limiter l'accès aux ZooKeeper nœuds Apache qui font partie de votre cluster Amazon MSK. Pour limiter l'accès aux nœuds, vous pouvez leur attribuer un groupe de sécurité distinct. Vous pouvez ensuite décider qui a accès à ce groupe de sécurité.

Important

Cette section ne s'applique pas aux clusters exécutés en mode KraFT. veuillez consulter Mode Kraft.

Pour placer vos ZooKeeper nœuds Apache dans un groupe de sécurité distinct

  1. Obtenez la chaîne de ZooKeeper connexion Apache pour votre cluster. Pour savoir comment procéder, veuillez consulter la section ZooKeeper mode. La chaîne de connexion contient les noms DNS de vos ZooKeeper nœuds Apache.

  2. Utilisez un outil comme host ou ping pour convertir les noms DNS que vous avez obtenus à l'étape précédente en adresses IP. Enregistrez ces adresses IP car vous en aurez besoin plus tard dans cette procédure.

  3. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/.

  4. Dans le panneau de navigation, sous Network & Security (Réseau et sécurité), choisissez Network Interfaces (Interfaces réseau).

  5. Dans le champ de recherche au-dessus de la table des interfaces réseau, tapez le nom de votre cluster, puis appuyer sur retour. Cela limite le nombre d'interfaces réseau qui apparaissent dans la table aux interfaces associées à votre cluster.

  6. Activez la case à cocher au début de la ligne qui correspond à la première interface réseau de la liste.

  7. Dans le volet d'informations en bas de la page, recherchez l'IP IPv4 privée principale. Si cette adresse IP correspond à l'une des adresses IP que vous avez obtenues lors de la première étape de cette procédure, cela signifie que cette interface réseau est attribuée à un ZooKeeper nœud Apache qui fait partie de votre cluster. Sinon, désactivez la case à cocher en regard de cette interface réseau et sélectionnez l'interface réseau suivante dans la liste. L'ordre dans lequel vous sélectionnez les interfaces réseau n'a pas d'importance. Dans les étapes suivantes, vous allez effectuer les mêmes opérations sur toutes les interfaces réseau assignées aux ZooKeeper nœuds Apache, une par une.

  8. Lorsque vous sélectionnez une interface réseau correspondant à un ZooKeeper nœud Apache, choisissez le menu Actions en haut de la page, puis choisissez Modifier les groupes de sécurité. Attribuez un nouveau groupe de sécurité à cette interface réseau. Pour de plus amples informations sur la création des groupes de sécurité, consultez Création d'un groupe de sécurité dans la documentation Amazon VPC.

  9. Répétez l'étape précédente pour attribuer le même nouveau groupe de sécurité à toutes les interfaces réseau associées aux ZooKeeper nœuds Apache de votre cluster.

  10. Vous pouvez désormais choisir qui a accès à ce nouveau groupe de sécurité. Pour de plus amples informations sur la définition de règles de groupe de sécurité, consultez Ajout, Suppression et Mise à jour de règles dans la documentation Amazon VPC.

Utilisation de la sécurité TLS avec Apache ZooKeeper

Vous pouvez utiliser la sécurité TLS pour le chiffrement en transit entre vos clients et vos ZooKeeper nœuds Apache. Pour implémenter la sécurité TLS avec vos ZooKeeper nœuds Apache, procédez comme suit :

  • Les clusters doivent utiliser Apache Kafka version 2.5.1 ou ultérieure pour utiliser la sécurité TLS avec Apache. ZooKeeper

  • Activez la sécurité TLS lorsque vous créez ou configurez votre cluster. Les clusters créés avec Apache Kafka version 2.5.1 ou ultérieure avec TLS activé utilisent automatiquement la sécurité TLS avec les points de terminaison Apache. ZooKeeper Pour plus d'informations sur la configuration de la sécurité TLS, consultez Comment démarrer avec le chiffrement ?.

  • Récupérez les ZooKeeper points de terminaison TLS Apache à l'aide de l'opération DescribeCluster .

  • Créez un fichier ZooKeeper de configuration Apache à utiliser avec les kafka-acls.shoutils kafka-configs.sh et ou avec le ZooKeeper shell. Avec chaque outil, vous utilisez le --zk-tls-config-file paramètre pour spécifier votre ZooKeeper configuration Apache.

    L'exemple suivant montre un fichier de ZooKeeper configuration Apache typique :

    zookeeper.ssl.client.enable=true zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty zookeeper.ssl.keystore.location=kafka.jks zookeeper.ssl.keystore.password=test1234 zookeeper.ssl.truststore.location=truststore.jks zookeeper.ssl.truststore.password=test1234
  • Pour les autres commandes (telles quekafka-topics), vous devez utiliser la variable d'KAFKA_OPTSenvironnement pour configurer les ZooKeeper paramètres Apache. L'exemple suivant montre comment configurer la variable d'KAFKA_OPTSenvironnement pour transmettre les ZooKeeper paramètres Apache à d'autres commandes :

    export KAFKA_OPTS=" -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.trustStore.location=/home/ec2-user/kafka.client.truststore.jks -Dzookeeper.ssl.trustStore.password=changeit"

    Après avoir configuré la variable d'environnement KAFKA_OPTS, vous pouvez utiliser les commandes de l'interface de ligne de commande normalement. L'exemple suivant crée un sujet Apache Kafka en utilisant la ZooKeeper configuration Apache à partir de la variable d'KAFKA_OPTSenvironnement :

    <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --zookeeper ZooKeeperTLSConnectString --replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
Note

Les noms des paramètres que vous utilisez dans votre fichier de ZooKeeper configuration Apache et ceux que vous utilisez dans votre variable d'KAFKA_OPTSenvironnement ne sont pas cohérents. Faites attention aux noms que vous utilisez et aux paramètres de votre fichier de configuration et de votre variable d'environnement KAFKA_OPTS.

Pour plus d'informations sur l'accès à vos ZooKeeper nœuds Apache avec TLS, voir KIP-515 : Permettre au client ZK d'utiliser la nouvelle authentification prise en charge par TLS.