Add support for MSK IAM authentication in rdkafka2
output type
#522
Labels
enhancement
Feature request
rdkafka2
output type
#522
Is your feature request related to a problem? Please describe.
One of the supported authentication & authorization methods for AWS MSK is IAM based authentication with OAUTHBEARER sending in a signed token. This is currently not supported by the plugin so there is no way to authenticate FluentD to send messages to an MSK cluster that only allows that method of authn/z.
Previously, a similar suggestion was made but in the context of the
ruby-kafka
library which is deprecated. This feature could, however, be supported using therdkafka2
output type.Describe the solution you'd like
I created a fork that adds basic support for MSK IAM authentication with the help of the aws-msk-iam-sasl-signer-ruby library. I essentially adapted the example code from the signer library for the token generation when using rdkafka as the underlying Kafka library.
However, I'm not sure if this approach is solid enough, so I was wondering if someone could rework the code (or suggest improvements) so that it could be merged into the official plugin. For instance, my solution requires using the shared producer (config
share_producer true
) which is not the default. I wasn't able to use the multi-threaded producer feature as it led to aThreadError
due to recursive locking.Describe alternatives you've considered
Since I need this feature for use in our production environment, I'm planning on using my own fork for the time being. However, I would be more comfortable if this feature was officially supported and did not require using a modified fork of this plugin.
Additional context
No response
The text was updated successfully, but these errors were encountered: