Hey, I need to connect AWS MSK with pinot(AWS EKS...
# general
r
Hey, I need to connect AWS MSK with pinot(AWS EKS) using IAM Auth. Are there steps documented for this? This seems to be a common use-case.
k
Hi, yes let me share the docs with you
thanks 1
r
Can you please share the doc?
We should probably consolidate IAM support @Kartik Khare
r
Thanks for the doc Mayank! I need the doc for setting up pinot connection with AWS MSK using IAM as auth mechanism. In the above docs only plaintext communication has been enabled.
I am getting 404 for this URL.
k
My bad, try this
Copy code
Add the following to table config
        "security.protocol": "SASL_SSL",
        "sasl.mechanism": "AWS_MSK_IAM",
        "sasl.jaas.config": "software.amazon.msk.auth.iam.IAMLoginModule required awsRoleArn=\"YOUR_ROLE_HERE\";",
        "sasl.client.callback.handler.class": "software.amazon.msk.auth.iam.IAMClientCallbackHandler"
Replace YOUR_ROLE_HERE with the attached AWS role to your pods

Ensure that EC2 role should have AmazonMSKFullAccess and AWSMSKReplicatorExecutionRole permissions (in some cases sts-full-access might also be needed).

The Role's trust relationship in AWS should also allow the following principle
"AWS": "arn:aws:sts::{ACCOUNT_ID}:assumed-role/{ROLE_NAME}/{ROLE_SESSION_NAME}"

Generally the ROLE_SESSION_NAME corresponds to the instance id. In that case, you will need to put all the instanceIDs in the principle
OR
you can simply do "AWS": "*"
r
Thanks for sharing this. Are there any steps to add support for aws-msk-iam-auth lib in Pinot? Or is it supported by default?
a
Hi @Kartik Khare - I tried the suggestion you posted but getting error, failed to construct kafka consumer
errorCode=500