Configure other authentication methods for Openflow Connector for Kafka¶
Note
The connector is subject to the Connector Terms.
This topic describes how to configure other authentication methods for the Openflow Connector for Kafka. The connector supports multiple authentication mechanisms beyond basic SASL authentication.
Note
Basic SASL authentication is configured through parameter contexts as described in Set up the Openflow Connector for Kafka. This page covers other authentication methods that require additional service configuration.
Supported Authentication Methods¶
The Openflow Connector for Kafka supports the following authentication mechanisms:
SASL with the following SASL mechanisms (configured via parameter contexts):
PLAIN
SCRAM-SHA-256
SCRAM-SHA-512
SASL with AWS MSK IAM (extra configuration required via services)
mTLS (extra configuration required via services)
Configuring mTLS Authentication¶
mTLS (mutual Transport Layer Security) authentication requires both the client and server to present certificates for mutual authentication.
Prerequisites¶
Before configuring mTLS authentication, ensure you have:
Generated and configured the necessary certificates for both the connector and the Kafka broker
Created a keystore containing the connector’s private key and certificate
(Optional) Created a truststore containing the Kafka broker certificate or a certificate in the certification chain. This step is only required if the broker certificate is not signed by a trusted Certificate Authority (CA).
The supported keystore/truststore formats are PKCS12, JKS, and BCFKS
Step 1: Configure SSL Context Service¶
From the NiFi canvas, access the Controller Services configuration:
Double click on the connector’s processing group
Right-click on the canvas and select Controller Services
Add a new StandardSSLContextService.
Click the + to add a new controller service.
Select StandardSSLContextService from the list.
Click Add.
Configure the SSL Context Service properties:
Property
Value
Keystore Filename
Full path to your keystore file (e.g.,
/path/to/client-keystore.p12
), or Asset referenceKeystore Password
Password for the keystore
Keystore Type
Keystore format (
PKCS12
,JKS
, orBCFKS
)Key Password
Password for the private key (if the key is encrypted)
Truststore Filename
Full path to your truststore file (e.g.,
/path/to/client-truststore.p12
), or Asset referenceTruststore Password
Password for the truststore
Truststore Type
Truststore format (
PKCS12
,JKS
, orBCFKS
)Enable the SSL Context Service:
Click Enable for the service.
Confirm that the service status shows as Enabled.
Step 2: Configure Kafka3Connection Service¶
In the same Controller Services tab, locate the Kafka3Connection service.
Configure the following properties:
Property
Value
Security Protocol
SSL
SSL Context Service
Select the SSL Context Service you created in Step 1
Keep all other Kafka3Connection service settings unchanged
Verify the Kafka3Connection service:
Click Verify for the service.
Confirm that the service status shows as Verified.
Configuring AWS MSK IAM Authentication¶
AWS MSK IAM authentication allows you to use AWS Identity and Access Management (IAM) to authenticate to Amazon Managed Streaming for Apache Kafka (MSK).
Prerequisites¶
Your Kafka cluster must be Amazon MSK with IAM authentication enabled.
You need to provide IAM credentials in Openflow with BYOC (bring your own cloud) configurations, deployed in your cloud.
The IAM role or user must have the necessary MSK permissions.
Step 1: Create AmazonMSKConnectionService¶
From the NiFi canvas, access the Controller Services configuration:
Double click on the connector’s processing group
Right-click on the canvas and select Controller Services
Add a new AmazonMSKConnectionService.
Click + to add a new controller service.
Select AmazonMSKConnectionService from the list.
Click Add
Configure the AmazonMSKConnectionService properties:
Property
Value
SASL Mechanism
AWS_MSK_IAM
Security Protocol
#{Kafka Security Protocol}
Bootstrap Servers
#{Kafka Bootstrap Servers}
Verify the AmazonMSKConnectionService:
Click Verify for the service
Confirm that the service status shows as Verified
Step 2: Configure ConsumeKafka Processor¶
In your Kafka connector flow, locate the ConsumeKafka processor
Configure the processor to use the new connection service:
Set the Kafka Connection Service property to the AmazonMSKConnectionService you created in Step 1: Create AmazonMSKConnectionService.
Step 3: Remove Old Kafka Connection Service¶
In the Controller Services tab, locate the old Kafka3Connection service.
Disable and remove the old service:
Click Disable for the old service.
Once disabled, click Delete to remove the old service.