Set access permissions for a topic or service

asked 2018-12-03 02:02:55 -0500

alsora gravatar image

updated 2018-12-03 13:18:34 -0500


I'm using ROS2 Bouncy.

I would like to set some access permissions for my topics and services. e.g. only node A can publish on this topic; only node B can make requests to this service.

I tried SROS2, which allows to set permissions policies, however i don't know if that's the best solution, since I'm not interested in all the other security mechanisms provided by that tool.

Is it possible to disable encryption and use only the permissions feature of SROS2 ?

Are there any alternatives for setting access permissions ?

EDIT: I found this question about the same issue for ROS1 and some resources mentioning the use of ROS_DOMAIN_ID to isolate ros graphs. However I don't think these are valid solutions either for my use case.

Assume that node A publishes to a topic and provides a service to set some internal variables. Node B could be not allowed to access the service, but should be still allowed to subscribe to that topic.


edit retag flag offensive close merge delete


Are you actually wanting to disable encryption, or simply the requirement of client certificates to authenticate? I'm fairly certain authentication is required before access control is possible, otherwise it would be trivial to pretend your node was named something else and obtain its permissions.

kyrofa gravatar image kyrofa  ( 2019-01-09 16:13:50 -0500 )edit

Mmm you are right!

I would still to know if it's possible to disable encryption and any other tool which is not necessary for access control.

alsora gravatar image alsora  ( 2019-01-21 08:34:12 -0500 )edit