Thank you Ken,

That was exactly what I was looking for!  

On Tuesday, November 28, 2017 at 4:50:01 PM UTC-8, Ken Payson wrote:
>
> I think there are other ways to accomplish what you are describing.
>
> Insecure channels still support custom metadata, which can be passed to 
> stubs using the optional "metadata" field.
> Here is an example. 
> <https://github.com/grpc/grpc/blob/master/src/python/grpcio_tests/tests/interop/methods.py#L368>
>
> As Nathaniel mentioned, it is unlikely that credentials will be allowed on 
> insecure channels given that it was a deliberate restriction.
>
>
>  
>
> On Monday, November 27, 2017 at 3:11:01 PM UTC-8, Rafael Chacon wrote:
>>
>> Hi Nathaniel,
>>
>> Wondering if you have a bit of time to think about this. This is an 
>> outgoing issue for a feature we are working on vitess 
>> <http://www.vitess.io>. To give you more context, I'm adding a link to 
>> the Vitess github issue to this thread. 
>>
>> https://github.com/youtube/vitess/pull/3418
>>
>> Best,
>>
>>
>> On Fri, Nov 10, 2017 at 3:55 PM, Rafael Chacon <rch...@slack-corp.com> 
>> wrote:
>>
>>> Hi Nathaniel,
>>>
>>> Thank you for your reply. 
>>>
>>> In our deployment we use GRPC only between components that are part of 
>>> our network, which is secured at a lower layer of the stack. Our general 
>>> approach is _not_ to require all of our applications to implement transport 
>>> level security or encryption, as that service is supplied by the network 
>>> level.
>>>
>>> However, we would like to extend the GRPC communication to support 
>>> user-based authentication / authorization which by definition is an 
>>> application-specific construct.
>>>
>>> Although I understand that it would be possible for a naive user to leak 
>>> credentials if they used an insecure channel but used credentials on it, 
>>> the current implementation stance of  python GRPC prevents us from using 
>>> authorization without an unnecessary (and undesired) level of transport 
>>> encryption.
>>>
>>> One proposal we considered to handle this would be to have a "null" 
>>> channel credentials object -- i.e. make it an obvious decision by the 
>>> application programmer to use call credentials _without_ channel security.
>>>
>>> Specifically, the call site would be something like:
>>>
>>> grpc.composite_channel_credentials(
>>>    grpc_insecure_channel_credentials(),
>>>    my_custom_call_credentials()
>>> )
>>>
>>> On Fri, Nov 10, 2017 at 3:00 PM, Nathaniel Manista <nath...@google.com> 
>>> wrote:
>>>
>>>> On Thu, Nov 9, 2017 at 6:13 PM, <rch...@slack-corp.com> wrote:
>>>>
>>>>> By looking at this thread 
>>>>> <https://www.mail-archive.com/grpc-io@googlegroups.com/msg01161.html>, 
>>>>> it seems that the python client requires a secure channel to send 
>>>>> credentials.
>>>>>
>>>>
>>>> Yes, this was a deliberate decision and I think there's even logic in 
>>>> gRPC Core to prevent the accidental transmission of clients over unsecured 
>>>> channels.
>>>>
>>>> This is not the case in golang (it is an option 
>>>>> <https://github.com/grpc/grpc-go/blob/master/credentials/credentials.go#L42>
>>>>> ).
>>>>>
>>>>> Is there any workaround in python for this?
>>>>>
>>>>
>>>> There is no currently-supported workaround and... I'm not even sure I 
>>>> could come up with an unsupported workaround.
>>>>
>>>> Are there any plans to support it with an interface like the one 
>>>>> defined in go?
>>>>>
>>>>
>>>> There are no such plans at this time.
>>>>
>>>> Can you tell us more about your use case?
>>>> -Nathaniel
>>>>
>>>
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/9bebfdd5-cc44-4f89-8237-f21aa9ad98bc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to