这是对官方页面代码的参考,我们希望在其中为特定的PUBSUB订阅授予用户访问权限:https://cloud.google.com/pubsub/docs/access-control#setting_a_policy
在以上代码中:
- 角色
roles/pubsub.editor
绑定到成员allUsers
的特定资源,如'pubsub.your-subscription-id';资源政策按相同条款更新。 - 据我所知'roles/pubsub。编辑角色具有对PUBSUB订阅和策略的所有访问权限。
Q)执行上述代码后,我们是否可以得出allUsers
获得角色roles/pubsub.editor
拥有的所有访问权限?还是该绑定仅特定于此资源的策略?由于我是一个新手,如果我的理解有错误,请帮助我。
在Pub/Sub中,可以在项目级别和单个资源级别配置访问控制。
如果您在项目级别分配IAM角色,则授予所有Pub/Sub资源特定权限。
您还可以在每个主题或每个订阅的基础上授予访问权限,而不是在项目级别授予访问权限。
Q)执行上述代码后,我们可以得出结论,allUsers得到所有访问角色roles/pubsub。编辑器?或者这是绑定仅针对此资源的策略?
您提供的文档链接正在为订阅ID授予资源级别的角色并不是针对项目中的所有订阅。成员所有用户正在被授予角色roles/pubsub.viewer而不是角色roles/pubsub.editor. 此角色仅授予订阅ID,而不授予其他订阅ID。
注意:文档略有错误。它使用术语所有用户在这里,它实际上将权限授予所有经过认证的用户在google.com域,这意味着任何人登录到Gmail,谷歌云等
据我所知'roles/pubsub。编辑角色拥有对PUBSUB的所有访问权限订阅和策略。
这是不对的。角色roles/pubsub.editor是权限的集合。然后可以通过IAM绑定将这些权限附加到资源上。如果资源是一个项目,那么是的,项目下的所有Pub/Sub资源。如果资源是订阅ID,则仅为该订阅ID授予权限。