Comment puis-je résoudre les erreurs qui s’affichent lorsque j'essaie de me connecter à mon cluster Amazon MSK ?

Lecture de 15 minute(s)
0

Des problèmes surviennent lorsque j’essaie de me connecter à mon cluster Amazon Managed Streaming for Apache Kafka (Amazon MSK).

Résolution

Erreurs non liées à un type d’authentification spécifique

Lorsque vous tentez de vous connecter à votre cluster Amazon MSK, vous pouvez recevoir l'une des erreurs suivantes qui n'est pas liée au type d'authentification utilisé.

java.lang.OutOfMemoryError: Java heap space

L'erreur OutOfMemoryError s'affiche lorsque vous exécutez une commande pour des opérations de cluster sans le fichier de propriétés du client. Pour résoudre cette erreur, veillez à inclure les propriétés appropriées en fonction du type d’authentification dans le fichier client.properties.

Exemple de commande avec uniquement un port d'authentification AWS Identity and Access Management (IAM) :

./kafka-topics.sh --create --bootstrap-server $BOOTSTRAP:9098 --replication-factor 3 --partitions 1 --topic TestTopic

Exemple de commande avec un port d'authentification IAM et le fichier de propriétés du client :

./kafka-topics.sh --create --bootstrap-server $BOOTSTRAP:9098  --command-config client.properties --replication-factor 3 --partitions 1 --topic TestTopic

org.apache.kafka.common.errors.TimeoutException: Le délai d’ attente pour l’attribution d’un nœud a expiré. Call: createTopics

L'erreur TimeoutException peut s'afficher en cas de mauvaise configuration du réseau entre l'application cliente et le cluster Amazon MSK.

Pour résoudre ce problème, exécutez le test de connectivité suivant à partir de l'ordinateur client :

telnet bootstrap-broker port-number

Remarque : Remplacez bootstrap-broker par l’une des adresses d’agent de votre cluster Amazon MSK. Remplacez port-number par la valeur de port appropriée en fonction de l’authentification activée pour votre cluster.

Si l’ordinateur client peut accéder aux agents, il n’y a aucun problème de connexion. Si l’ordinateur client ne peut pas accéder aux agents, vérifiez la connectivité réseau. Vérifiez les règles entrantes et sortantes du groupe de sécurité.

org.apache.kafka.common.errors.TopicAuthorizationException: Not authorized to access topics: [test_topic]

L'erreur TopicAuthorizationException s'affiche lorsque vous utilisez une authentification IAM et que votre politique d'accès bloque les opérations de rubrique, telles que WriteData et ReadData.

Remarque : Les limites d’autorisation et les politiques de contrôle des services (SCP) bloquent également la tentative d’un utilisateur de se connecter au cluster sans l’autorisation requise.

Si vous utilisez une authentification qui n'est pas IAM, vérifiez si vous avez ajouté des listes de contrôle d'accès (ACL) au niveau des rubriques qui bloquent les opérations.

Exécutez la commande suivante pour répertorier les ACL appliquées à une rubrique :

bin/kafka-acls.sh --bootstrap-server $BOOTSTRAP:PORT --command-config adminclient-configs.conf --list --topic testtopic

ZooKeeperClientTimeoutException

L'erreur ZooKeeperClientTimeoutException peut s'afficher lorsque le client tente de se connecter au cluster via la chaîne Apache ZooKeeper et que la connexion ne peut pas être établie. Vous pouvez également recevoir cette erreur lorsque la chaîne Apache ZooKeeper est incorrecte.

Exemple de chaîne Apache Zookeeper incorrecte :

./kafka-topics.sh --zookeeper z-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:2181,z-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:2181,z-3.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:2181 --list[2020-04-10 23:58:47,963] WARN Client session timed out, have not heard from server in 10756ms for sessionid 0x0 (org.apache.zookeeper.ClientCnxn)

Exemple de sortie :

[2020-04-10 23:58:58,581] WARN Client session timed out, have not heard from server in 10508ms for sessionid 0x0 (org.apache.zookeeper.ClientCnxn)
[2020-04-10 23:59:08,689] WARN Client session timed out, have not heard from server in 10004ms for sessionid 0x0 (org.apache.zookeeper.ClientCnxn)
Exception in thread "main" kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING
    at kafka.zookeeper.ZooKeeperClient.$anonfun$waitUntilConnected$3(ZooKeeperClient.scala:259)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:253)
    at kafka.zookeeper.ZooKeeperClient.waitUntilConnected(ZooKeeperClient.scala:255)
    at kafka.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.scala:113)
    at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1858)
    at kafka.admin.TopicCommand$ZookeeperTopicService$.apply(TopicCommand.scala:321)
    at kafka.admin.TopicCommand$.main(TopicCommand.scala:54)
    at kafka.admin.TopicCommand.main(TopicCommand.scala)

Pour résoudre ce problème, prenez les mesures suivantes :

  • Vérifiez que vous utilisez la chaîne Apache ZooKeeper appropriée.
  • Assurez-vous que le groupe de sécurité de votre cluster Amazon MSK autorise le trafic entrant issu du groupe de sécurité du client sur les ports Apache ZooKeeper.

L’agent n'est peut-être pas disponible

« Topic 'topicName' not present in metadata after 60000 ms. or Connection to node -<node-id> (<broker-host>/<broker-ip>:<port>) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient) »

L'erreur précédente peut s'afficher lorsque l'une des conditions suivantes est vraie :

  • Le producteur ou le consommateur ne parvient pas à se connecter à l’hôte et au port de l’agent.
  • La chaîne de l’agent est incorrecte.

Si vous recevez cette erreur alors que la connectivité du client ou de l’agent fonctionnait initialement, il est possible que l’agent ne soit pas disponible.

Cette erreur peut également s'afficher lorsque vous utilisez la chaîne de l’agent pour produire des données permettant d'accéder au cluster depuis l'extérieur du cloud privé virtuel (VPC).

Exemple de chaîne d’agent de producteur :

./kafka-console-producer.sh --broker-list b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092 --topic test

Exemple de sortie :

[2020-04-10 23:51:57,668] ERROR Error when sending message to topic test with key: null, value: 1 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Topic test not present in metadata after 60000 ms.

Exemple de chaîne d’agent de consommateur :

./kafka-console-consumer.sh --bootstrap-server b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9092 --topic test

Exemple de sortie :

[2020-04-11 00:03:21,157] WARN [Consumer clientId=consumer-console-consumer-88994-1, groupId=console-consumer-88994] Connection to node -1 (b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com/172.31.6.19:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2020-04-11 00:04:36,818] WARN [Consumer clientId=consumer-console-consumer-88994-1, groupId=console-consumer-88994] Connection to node -2 (b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com/172.31.44.252:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2020-04-11 00:05:53,228] WARN [Consumer clientId=consumer-console-consumer-88994-1, groupId=console-consumer-88994] Connection to node -1 (b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com/172.31.6.19:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

Pour résoudre ce problème, procédez comme suit :

Rubrique non présente dans les métadonnées

« org.apache.kafka.common.errors.TimeoutException: Topic test not present in metadata after 60000 ms »

L'erreur précédente s'affiche lorsque la rubrique sur laquelle vous tentez d'écrire n'existe pas dans Amazon MSK. Vérifiez si la rubrique existe dans votre cluster Amazon MSK. Vérifiez que vous avez utilisé la chaîne et le port d’agent appropriés dans la configuration de votre client. Si la rubrique n'existe pas, créez-la dans Amazon MSK ou définissez auto.create.enable sur vrai dans la configuration de votre cluster. Lorsque auto.create.enable est défini sur vrai, les rubriques sont automatiquement créées.

Cette erreur peut également s'afficher lorsque la rubrique existe mais pas la partition. Par exemple, vous disposez d’une partition[0] unique et votre producteur tente un envoi vers la partition[1].

Assurez-vous que le groupe de sécurité de votre cluster Amazon MSK autorise le trafic entrant depuis le groupe de sécurité de l'application client sur les ports appropriés.

Si l'erreur survient soudainement alors que le système fonctionnait auparavant, prenez les mesures suivantes pour vérifier le statut de vos agents Amazon MSK :

  • Vérifiez la métrique ActiveControllerCount. La valeur doit être 1. Lorsque la métrique présente une autre valeur, l'un des agents du cluster n'est pas disponible.
  • Vérifiez la métrique ZooKeeprSessionState pour confirmer que les agents sont en communication continue avec les nœuds ZooKeeper.
  • Surveillez la métrique KafkaDataLogsDiskUsed pour vous assurer que l’agent n’a pas manqué d'espace de stockage.

Vérifiez que vous n'avez pas tenté d'accéder au cluster depuis l'extérieur du VPC sans la configuration appropriée. Par défaut, les ressources Amazon MSK sont provisionnées au sein du VPC. Vous devez vous connecter via un réseau privé dans le même VPC.

Si vous tentez d'accéder au cluster depuis l'extérieur du VPC, assurez-vous de configurer les configurations réseau nécessaires, telles qu'AWS Client VPN ou AWS Direct Connect.

Configuration incorrecte du producteur ou du consommateur du client Kafka

Pour résoudre la configuration incorrecte du producteur ou du consommateur d’un client Kafka, vérifiez que la configuration de votre client inclut les serveurs bootstrap appropriés. Vérifiez également que la configuration inclut les paramètres de sécurité nécessaires et les versions de compatibilité du client Kafka et Spring Boot.

Erreurs spécifiques à l’authentification du client TLS

L’agent bootstrap est déconnecté

« Bootstrap broker <broker-host>:9094 (id: -<broker-id> rack: null) disconnected »

L'erreur précédente peut s'afficher lorsque vous tentez de vous connecter à un cluster sur lequel l'authentification client SSL/TLS est activée.

Cette erreur peut également s'afficher lorsque le producteur ou le consommateur tente de se connecter à un cluster chiffré SSL/TLS via le port TLS 9094 et ne transmet pas la configuration SSL/TLS. Pour résoudre ce problème, configurez la configuration SSL/TLS.

Dans l'exemple suivant, une erreur se produit lorsque le producteur tente de se connecter au cluster :

./kafka-console-producer.sh --broker-list b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 --topic test[2020-04-10 18:57:58,019] WARN [Producer clientId=console-producer] Bootstrap broker b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -2 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)

Exemple de sortie :

[2020-04-10 18:57:58,342] WARN [Producer clientId=console-producer] Bootstrap broker b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -2 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
[2020-04-10 18:57:58,666] WARN [Producer clientId=console-producer] Bootstrap broker b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)

Dans l'exemple suivant, une erreur se produit lorsque le consommateur tente de se connecter au cluster :

./kafka-console-consumer.sh --bootstrap-server b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 --topic test[2020-04-10 19:09:03,277] WARN [Consumer clientId=consumer-console-consumer-79102-1, groupId=console-consumer-79102] Bootstrap broker b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)

Exemple de sortie :

[2020-04-10 19:09:03,596] WARN [Consumer clientId=consumer-console-consumer-79102-1, groupId=console-consumer-79102] Bootstrap broker b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
[2020-04-10 19:09:03,918] WARN [Consumer clientId=consumer-console-consumer-79102-1, groupId=console-consumer-79102] Bootstrap broker b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 (id: -2 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)

Si l'authentification client est activée pour votre cluster, vous devez inclure des paramètres supplémentaires pour votre autorité de certification privée AWS. Pour plus d'informations, consultez la section Authentification mutuelle du client TLS pour Amazon MSK.

Erreur d'accès au keystore

« ERROR Modification time of key store could not be obtained: <configure-path-to-truststore> »

-ou-

« Failed to load keystore »

Les erreurs précédentes peuvent s'afficher lorsque vous configurez le truststore de manière incorrecte et que vous chargez les fichiers du truststore pour le producteur et le consommateur. Pour résoudre ce problème, indiquez le chemin correct pour le fichier truststore dans la configuration SSL/TLS.

Exemple de chaîne d’agent de consommateur incorrecte :

./kafka-console-consumer --bootstrap-server b-2.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094,b-1.encryption.3a3zuy.c7.kafka.us-east-1.amazonaws.com:9094 --topic test --consumer.config /home/ec2-user/ssl.config

Exemple de sortie :

[2020-04-11 10:39:12,194] ERROR Modification time of key store could not be obtained: /home/ec2-ser/certs/kafka.client.truststore.jks (org.apache.kafka.common.security.ssl.SslEngineBuilder)
java.nio.file.NoSuchFileException: /home/ec2-ser/certs/kafka.client.truststore.jks
[2020-04-11 10:39:12,253] ERROR Unknown error when running consumer: (kafka.tools.ConsoleConsumer$)  
Caused by: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: Failed to load SSL keystore /home/ec2-ser/certs/kafka.client.truststore.jks of type JKS

Cette erreur peut également se produire lorsque votre fichier truststore ou votre fichier de stockage de clés est endommagé ou si le mot de passe du fichier truststore est incorrect.

Échec du handshake SSL/TLS

« Error when sending message to topic test with key: null, value: 0 bytes with error (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback) org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed »

-ou-

« Connection to node -<broker-id> (<broker-hostname>/<broker-hostname>:9094) failed authentication due to: SSL handshake failed (org.apache.kafka.clients.NetworkClient) »

Vous pouvez recevoir l'une des erreurs précédentes lorsque vous avez configuré de manière incorrecte le keystore du producteur ou du consommateur et qu'un échec d'authentification se produit. Assurez-vous de configurer correctement le keystore.

Exemple de chaîne d’agent incorrecte pour le keystore du producteur :

./kafka-console-producer --broker-list b-2.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-1.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-4.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094 --topic example --producer.config/home/ec2-user/ssl.config

Exemple de sortie :

[2020-04-11 11:13:19,286] ERROR [Producer clientId=console-producer] Connection to node -3 (b-4.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com/172.31.6.195:9094) failed authentication due to: SSL handshake failed (org.apache.kafka.clients.NetworkClient)

Exemple de chaîne d’agent incorrecte pour le keystore du consommateur :

./kafka-console-consumer --bootstrap-server b-2.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-1.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094,b-4.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com:9094 --topic example --consumer.config/home/ec2-user/ssl.config

Exemple de sortie :

[2020-04-11 11:14:46,958] ERROR [Consumer clientId=consumer-1, groupId=console-consumer-46876] Connection to node -1 (b-2.tlscluster.5818ll.c7.kafka.us-east-1.amazonaws.com/172.31.15.140:9094) failed authentication due to: SSL handshake failed (org.apache.kafka.clients.NetworkClient)
[2020-04-11 11:14:46,961] ERROR Error processing message, terminating consumer process: (kafka.tools.ConsoleConsumer$)
org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed

le mot de passe du keystore est incorrect

 « java.io.IOException: keystore password was incorrect »

L'erreur précédente peut s'afficher lorsque le mot de passe du keystore ou du truststore est incorrect.

Pour résoudre ce problème, exécutez la commande suivante pour vérifier si le mot de passe du keystore ou du truststore est correct :

keytool -list -keystore kafka.client.keystore.jksEnter keystore password:
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 1 entry
schema-reg, Jan 15, 2020, PrivateKeyEntry,
Certificate fingerprint (SHA1): 4A:F3:2C:6A:5D:50:87:3A:37:6C:94:5E:05:22:5A:1A:D5:8B:95:ED

Si le mot de passe du keystore ou du truststore est incorrect, l’erreur suivante peut s’afficher :

« keytool error: java.io.IOException: keystore password was incorrect »

Pour afficher la sortie détaillée de la commande précédente, ajoutez l'identification -v :

keytool -list -v -keystore kafka.client.keystore.jks

Vous pouvez également exécuter les commandes précédentes pour vérifier si le keystore est endommagé.

Cette erreur peut également s'afficher lorsque vous configurez de manière incorrecte la clé secrète associée à l'alias dans la configuration SSL/TLS du producteur et du consommateur. Pour vérifier si tel est le problème, exécutez la commande suivante :

keytool -keypasswd -alias schema-reg -keystore kafka.client.keystore.jks

Si votre mot de passe pour la clé secrète de l'alias est correct, vous êtes invité à saisir un nouveau mot de passe pour la clé secrète :

Enter keystore password:
Enter key password for <schema-reg>
New key password for <schema-reg>:
Re-enter new key password for <schema-reg>:

Dans le cas contraire, la commande échoue avec le message suivant :

« keytool error: java.security.UnrecoverableKeyException: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. »

Pour vérifier si un alias fait partie du keystore, exécutez la commande suivante :

keytool -list -keystore kafka.client.keystore.jks -alias schema-reg

Exemple de sortie :

Enter keystore password:
schema-reg, Jan 15, 2020, PrivateKeyEntry,
Certificate fingerprint (SHA1): 4A:F3:2C:6A:5D:50:87:3A:37:6C:94:5E:05:22:5A:1A:D5:8B:95:ED

Erreurs spécifiques à l’authentification d’un client IAM

Échec de l'authentification, accès refusé

« Connection to node -1 (b-1.testcluster.abc123.c2.kafka.us-east-1.amazonaws.com/10.11.111.123:9098) failed authentication due to: Access denied »

-ou-

« org.apache.kafka.common.errors.SaslAuthenticationException: Access denied »

Vous recevez l'une des erreurs précédentes lorsque les politiques d'accès, les limites d'autorisation et les SCP bloquent les utilisateurs qui ne transmettent pas l'autorisation requise.

Pour résoudre ce problème, utilisez le contrôle d'accès IAM pour vous assurer que le rôle IAM peut effectuer des opérations de cluster.

SaslAuthenticationException

« org.apache.kafka.common.errors.SaslAuthenticationException: Too many connects »

-ou-

« org.apache.kafka.common.errors.SaslAuthenticationException: Internal error »

Les erreurs précédentes s'affichent lorsque vous exécutez votre cluster sur le type d’agent kafka.t3.small avec contrôle d'accès IAM et que vous dépassez le quota de connexion. Le type d’instance kafka.t3.small n’accepte qu’une seule connexion TCP par agent et par seconde. Lorsque vous dépassez le quota de connexion, votre test de création échoue. Pour en savoir plus, consultez la section Fonctionnement d’Amazon MSK avec IAM.

Pour résoudre ces erreurs, procédez comme suit :

Erreurs spécifiques à l’authentification du client SASL/SCRAM

Le mécanisme SASL du client est désactivé

« Connection to node -1 (b-1-testcluster.abc123.c7.kafka.us-east-1.amazonaws.com/3.11.111.123:9098) failed authentication due to: Client SASL mechanism 'SCRAM-SHA-512' not enabled in the server, enabled mechanisms are [AWS_MSK_IAM] »

-ou-

« Connection to node -1 (b-1-testcluster.abc123.c7.kafka.us-east-1.amazonaws.com/3.11.111.123:9096) failed authentication due to: Client SASL mechanism 'AWS_MSK_IAM' not enabled in the server, enabled mechanisms are [SCRAM-SHA-512] »

Les erreurs précédentes s'affichent lorsque le numéro de port ne correspond pas au mécanisme SASL (Simple Authentication and Security Layer) du fichier de propriétés du client. Il s’agit du fichier de propriétés que vous utilisez dans la commande pour exécuter les opérations de cluster.

Pour communiquer avec les agents d'un cluster qui utilise le mécanisme d'authentification SASL/SCRAM (Simple Authentication and Security Layer/Salted Challenge Response Authentication Mechanism), utilisez les ports suivants :

  • Port 9096 pour l'accès depuis AWS
  • Port 9196 pour accès public

Pour communiquer avec les agents d'un cluster qui utilise le contrôle d'accès IAM, utilisez les ports 9098 pour l'accès depuis AWS et le port 9198 pour l'accès public.

Erreur d'authentification des informations d'identification SASL

« Connection to node -1 (b-3.testcluster.abc123.c2.kafka.us-east-1.amazonaws.com/10.11.111.123:9096) failed authentication due to: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-512 »

Assurez-vous d’avoir enregistré les informations d’identification de l’utilisateur dans AWS Secrets Manager et de les avoir associées au cluster Amazon MSK.

Lorsque vous accédez au cluster via le port 9096, l'utilisateur et le mot de passe dans AWS Secrets Manager doivent être identiques aux propriétés du client.

Lorsque vous exécutez la commande get-secret-value pour récupérer les clés secrètes, assurez-vous que le mot de passe utilisé dans AWS Secrets Manager ne contient aucun caractère spécial.

ClusterAuthorizationException

« org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(processor=11, connectionId=INTERNAL_IP-INTERNAL_IP-0, session=Session(User:ANONYMOUS,/INTERNAL_IP), listenerName=ListenerName(REPLICATION_SECURE), securityProtocol=SSL, buffer=null) is not authorized »

L'erreur précédente s'affiche lorsque les deux conditions suivantes sont remplies :

  • L’authentification SASL/SCRAM est activée pour votre cluster Amazon MSK.
  • resourceType est défini sur CLUSTER et operation est défini sur CLUSTER_ACTION dans les ACL de votre cluster.

Le cluster Amazon MSK ne prend pas en charge les paramètres précédents car ceux-ci empêchent la réplication interne d'Apache Kafka. L'identité des agents apparaît comme ANONYME pour la communication entre les agents. Si votre cluster doit prendre en charge les ACL et utiliser l'authentification SASL/SCRAM, autorisez l'utilisateur ANONYME à utiliser l’opération TOUT.

Exécutez la commande suivante pour concéder à l’utilisateur ANONYME l’opération TOUT :

./kafka-acls.sh --authorizer-propertieszookeeper.connect=example-ZookeeperConnectString --add --allow-principal User:ANONYMOUS --operation ALL --cluster

Informations connexes

Se connecter à un cluster provisionné Amazon MSK

Comment puis-je résoudre les problèmes courants liés à l’utilisation de mon cluster Amazon MSK avec l’authentification SASL/SCRAM ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 mois