The link to the ApiServiceDescriptor is
https://github.com/apache/beam/blob/476e17ed6badd4d5c06c4caf8a824805f40a8e7a/model/pipeline/src/main/proto/endpoints.proto#L31

On Fri, Apr 26, 2019 at 4:32 PM Lukasz Cwik <lc...@google.com> wrote:

> I had originally taken a look at this a while ago but not much has
> progressed since then. The original idea was that the ApiServiceDescriptor
> would be extended to support secure ways of authentication/communication. I
> was prototyping with an OAuth2 client credentials grant at the time but
> dropped it as other things were more important. The only currently
> supported mode across all SDKs is an implicit authenticated/secure mode
> where all communication is assumed to already be encrypted/private (e.g.
> over VPN that is managed externally with trusted services) and hence the
> gRPC channel itself is insecure and there is no authentication being
> performed.
>
> Even though sdk_worker.py seems like it supports credentials, no one
> invokes the constructor with credentials enabled as can be seen by this
> comment by Robert[1].
>
> For SSL/TLS support it seems like we need some way to configure a runner
> to be told to use SSL/TLS (potentially with a custom private key and trust
> chain). Do you have some suggestions on how we add support for passing
> around channel/call[2] credentials?
>
> 1:
> https://github.com/apache/beam/blob/476e17ed6badd4d5c06c4caf8a824805f40a8e7a/sdks/python/apache_beam/runners/worker/sdk_worker_main.py#L139
> 2: https://grpc.io/docs/guides/auth/
>
> On Tue, Apr 23, 2019 at 5:06 PM Hai Lu <lhai...@apache.org> wrote:
>
>> Hi,
>>
>> This is Hai from LinkedIn. Daniel and I have been working on
>> productionizing Samza portable runner. BTW, Daniel didn't mention in his
>> previous email that he has enabled and validated Python 3 for Samza runner
>> and it worked smoothly. Kudos to the team!
>>
>> Here I have a few security related questions about portability. At
>> LinkedIn, we enable SSL/TLS and ACLs for Kafka data and any data exchange.
>> In the case of portable runner, we're required to secure the data channels
>> between Java and Python processes as well because our Samza jobs are
>> running in a multi-tenant environment. While I'm currently working on this
>> on our internal branch, I do want to keep it clean and consistent with the
>> master branch.
>>
>> My questions are: were there any plans/thoughts around security for
>> portability? I see that sdk_worker.py does have some codes to create
>> secured gRPC channels; is anyone actually leveraging those codes? I don't
>> see on the Java side any work is done, though.
>>
>> Thanks,
>> Hai Lu
>>
>

Reply via email to