Skip to content

Unable to connect to AWS MSK with IAM auth  #4708

Open
@bhanucharithp

Description

@bhanucharithp

Description

Using the docker image apicurio/apicurio-registry-kafkasql:2.5.10.Final

I'm trying to connect to the amazon msk with IAM authentication enabled

Docker command

docker run -it -d \
 --env KAFKA_BOOTSTRAP_SERVERS=<server-urls> \
 --env
REGISTRY_KAFKA_COMMON_SASL_CLIENT_CALLBACK_HANDLER_CLASS=software.amazon.msk.auth.iam.IAMClientCallbackHandler \
 --env REGISTRY_KAFKA_COMMON_SASL_MECHANISM=AWS_MSK_IAM \
 --env REGISTRY_KAFKA_COMMON_SECURITY_PROTOCOL=SASL_SSL \
 --env REGISTRY_KAFKA_COMMON_SASL_JAAS_CONFIG="software.amazon.msk.auth.iam.IAMLoginModule required;" \
<imageId>

Error while starting - software.amazon.msk.auth.iam.IAMClientCallbackHandler Not found

2024-05-28 09:55:48 INFO <> [io.apicurio.registry.storage.impl.sql.AbstractSqlRegistryStorage] (main) Build's DB version is 15
2024-05-28 09:55:48 INFO <> [io.apicurio.registry.storage.impl.kafkasql.KafkaSqlRegistryStorage] (main) Using Kafka-SQL artifactStore.
2024-05-28 09:55:48 ERROR <> [io.quarkus.runtime.ApplicationLifecycleManager] (main) **Failed to start application (with profile [prod]): java.lang.RuntimeException: Failed to start quarkus**
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
	at io.quarkus.runtime.Application.start(Application.java:101)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
**Caused by: org.apache.kafka.common.config.ConfigException: Invalid value software.amazon.msk.auth.iam.IAMClientCallbackHandler for configuration sasl.client.callback.handler.class: Class software.amazon.msk.auth.iam.IAMClientCallbackHandler could not be found.**
	at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744)
	at org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:490)
	at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483)
	at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:112)
	at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:145)
	at org.apache.kafka.clients.admin.AdminClientConfig.<init>(AdminClientConfig.java:245)
	at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
	at io.apicurio.registry.utils.kafka.KafkaUtil.createTopics(KafkaUtil.java:68)
	at io.apicurio.registry.storage.impl.kafkasql.KafkaSqlRegistryStorage.autoCreateTopics(KafkaSqlRegistryStorage.java:198)
	at io.apicurio.registry.storage.impl.kafkasql.KafkaSqlRegistryStorage.onConstruct(KafkaSqlRegistryStorage.java:136)
	at io.apicurio.registry.storage.impl.kafkasql.KafkaSqlRegistryStorage_Bean.doCreate(Unknown Source)
	at io.apicurio.registry.storage.impl.kafkasql.KafkaSqlRegistryStorage_Bean.create(Unknown Source)
	at io.apicurio.registry.storage.impl.kafkasql.KafkaSqlRegistryStorage_Bean.create(Unknown Source)
	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
	at io.apicurio.registry.storage.impl.kafkasql.KafkaSqlRegistryStorage_Observer_handleSqlStorageEvent_8b2fe7c64125ae193fac080691d191934613bfce.notify(Unknown Source)
	at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:346)
	at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:324)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    • Status

      Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions