FastStream Kafka Security#
This chapter discusses the security options available in FastStream and how to use them.
Security Objects#
FastStream allows you to enhance the security of applications by using security objects when creating brokers. These security objects encapsulate security-related configurations and mechanisms. Security objects supported in FastStream are:
1. BaseSecurity Object#
Purpose: The BaseSecurity object wraps ssl.SSLContext object and is used to enable SSL/TLS encryption for secure communication between FastStream services and external components such as message brokers.
Usage:
1 2 3 4 5 6 | |
2. SASLPlaintext Object with SSL/TLS#
Purpose: The SASLPlaintext object is used for authentication in SASL (Simple Authentication and Security Layer) plaintext mode. It allows you to provide a username and password for authentication.
Usage:
1 2 3 4 5 6 7 8 9 10 | |
3. SASLScram256/512 Object with SSL/TLS#
Purpose: The SASLScram256 and SASLScram512 objects are used for authentication using the Salted Challenge Response Authentication Mechanism (SCRAM).
Usage:
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 | |
4. SASLOAuthBearer Object with SSL/TLS#
Purpose: The SASLOAuthBearer is used for authentication using the OAUTHBEARER sasl.mechanism. While using it you additionally need to provide the necessary sasl.oauthbearer.* values in the config passed to KafkaBroker, e.g. sasl.oauthbearer.client.id, sasl.oauthbearer.client.secret. The full list is available in the confluent doc
Usage:
1 2 3 4 5 6 7 8 | |
5. SASLGSSAPI Object with SSL/TLS#
Purpose: The SASLGSSAPI object is used for authentication using Kerberos.
Usage:
1 2 3 4 5 6 7 8 | |
6. Other security-related use cases#
Purpose: If you want to pass additional values to confluent-kafka-python, you can pass a dictionary called config to KafkaBroker. For example, to pass your own certificate file:
Usage:
1 2 3 4 5 6 7 8 9 10 11 | |