3

i want to be able to authenticate/authorize clients to produce/consume messages on certain topics. they would be part of our vpn (incl. aws). as i understand the available documentation the only option to do this is to issue client certificates and setup ACLs based on the clients DNs? Unfortunately i was not able to use my private CA (that i've created on my linux laptop) to create client certs. so the following questions arise:

  1. is it correct that i need to setup an AWS hosted CA (ACM PCA). that would result in almost twice the setup costs incl. the minimum broker configs.
  2. i could proxy the outer world into the msk cluster via something like "kafka rest proxy" from confluent - correct?
  3. am i missing something? is there an easier way built into AWS?

please enlighten me :)

thanks in advance marcel

niesfisch
  • 83
  • 6

3 Answers3

4
  1. Yes, I believe that's correct. To do client authentication over TLS, you need to provide the ARN of your private CA that's set up with AWS PCM at the time the cluster is created - and you have to use the aws command-line tool (aws kafka create-cluster ...) to create the cluster. The UI (last time I looked) didn't have anywhere to specify that ARN.

  2. I don't know - we bit the bullet and set up a private CA with ACM.

  3. Nope. We're hoping that eventually AWS will integrate IAM so you can authenticate as an IAM user instead of a client certificate, but that's not where it stands today. Today, it's client certificate only for authentication.

Alex Zuroff
  • 557
  • 4
  • 16
0

Support for Username and Password Security looks like what you want? I think it's new..

russau
  • 8,229
  • 6
  • 37
  • 48
-2

There's AWS Cognito which you might want to try https://aws.amazon.com/cognito/

javros
  • 825
  • 9
  • 31