> but make some functions accessible to specific people

How are those authorized people identified? Authorization requires user 
authentication and it is best done with mTLS.

> and encrypt the traffic for specific RPCs. 

All traffic can be encrypted even when you don't want to enforce user 
authorization for other RPCs. I don't see a requirement for plaintext 
communication for certain RPCs.

On Saturday, July 30, 2022 at 7:16:01 AM UTC-7 Philipp T wrote:

> Hey thanks for your reply.
>
> Off the top of my head I could think of the following use-case. 
>
> I have a service running on a pie which I use to control my lights. The 
> service has 3 functions, IsLightActive(), TunLightOn() and TurnLightOff. I 
> should be the only person who can call TurnLightOn() and TurnLightOff() and 
> the traffic should be encrypted (because lets say I dont want people to 
> know what the proto message looks like). On the other hand, anyone should 
> be able to call IsLightOn() regardless of who they are and there is no need 
> to encrypt the traffic. 
>
> Basically I want to use a single service, but make some functions 
> accessible to specific people and encrypt the traffic for specific RPCs. 
>
> Thanks :)
>
> On Wednesday, 27 July 2022 at 20:21:25 UTC+2 sanjay...@google.com wrote:
>
>> > on how this works in C++ (how do you actually read this file so that 
>> the gRPC service applies the configurations), 
>>
>> Check this out 
>> https://github.com/grpc/proposal/blob/master/A2-service-configs-in-dns.md
>>
>> > *a single service where different PRCs have varying authentication 
>> requirements,*
>>
>> Do you really mean authentication requirements or authorization 
>> requirements? Can you give a concrete use-case? Authentication is at 
>> connection level and then you can use gRPC Authorization API (
>> https://github.com/grpc/proposal/blob/master/A43-grpc-authorization-api.md
>> )
>>
>> On Saturday, July 23, 2022 at 12:59:54 PM UTC+5:30 Philipp T wrote:
>>
>>> Hello, Im pretty new to gRPC but I was wondering if the following is 
>>> possible
>>>
>>> I have a proto file which contains a single service with two RPCs which 
>>> looks as follows:
>>>
>>> *service MyService {*
>>> *    // This function requires credentials*
>>> *    rpc YouNeedCreds(Empty) returns (Empty) {}*
>>>
>>> *    // This function should be callable by anyone without credentials*
>>> *    rpc NoCredentialsNeeded(Empty) returns (Empty) {}*
>>> *}*
>>>
>>> *My question is, is it possible, using C++ to have a single service 
>>> where different PRCs have varying authentication requirements, without 
>>> having to deploy to something like google cloud (I just want to run it 
>>> between 2 computers on the same network)? *
>>>
>>> I have seen references to using .yaml files to configure services (like 
>>> this one 
>>> <https://cloud.google.com/endpoints/docs/grpc/grpc-service-config#rules_and_selectors>),
>>>  
>>> but I have not found any examples on how this works in C++ (how do you 
>>> actually read this file so that the gRPC service applies the 
>>> configurations), and I don't intend on deploying this on google cloud. I 
>>> just want to run this on my local network and use the device IP to connect 
>>> to the service. 
>>>
>>> At the moment I create the server by creating using 
>>> grpc::SslSecureCredentials and passing them to the .AddListeningPort method 
>>> provided by the grpc::ServerBuilder.
>>>
>>> Hopefully this is somewhat helpful, thanks in advanced for.
>>>
>>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/bbce2d78-aa67-4fb1-aa71-7e9dfea6dc05n%40googlegroups.com.

Reply via email to