robinhood / faust

Python Stream Processing
Other
6.75k stars 534 forks source link

sasl scram support #601

Closed smedegaard closed 4 years ago

smedegaard commented 4 years ago

Both aiokafka and Confluent kafka supports scram authentication. Faust should too

forsberg commented 4 years ago

I got this working with some effort, including a merge of aio-libs/aiokafka into robinhood/aiokafka. The result is available as a branch in my fork of faust: 1.10-scram-sha-sasl-mechanism. Not tested in production yet, your mileage may vary.

popadi commented 3 years ago

Hey! What is the status for this? Any plans on having all the other mechanisms available like they do in faust-streaming/faust? See here https://github.com/faust-streaming/faust/blob/master/faust/types/auth.py#L23-L27.

smeana commented 2 years ago

How do you specify mechanism=SASLMechanism.SCRAM_SHA_512? Using version 1.10.4 I can only see PLAIN and GSSAPI

class SASLMechanism(Enum):
    PLAIN = 'PLAIN'
    GSSAPI = 'GSSAPI'

How can I make this work for SASL_SSL with SCRAM_SHA_512?

 ssl_context = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile='../certs.pem')

 app = faust.App('cod_error_count_sap',
                autodiscover=True,
                broker=[
                    URL("kafka://....:9093"),
                    URL("kafka://.....:9093"),
                    URL("kafka://......:9093"),
                    URL("kafka://.....:9093"),
                    URL("kafka://.....:9093"),
                ],
                broker_credentials=faust.SASLCredentials(username='......', password='......',
                                                         ssl_context=ssl_context, mechanism=SASLMechanism.SCRAM_SHA_512),
                store='rocksdb://'
                ) 
patkivikram commented 2 years ago

This project is not maintained anymore. Please refer to the faust-streaming as that repo is maintained