【问题标题】:add-iam-poilcy-binding vs set-iam-policyadd-iam-policy-binding vs set-iam-policy
【发布时间】:2021-08-03 22:48:55
【问题描述】:
  1. 我无法理解两者之间的区别。 add-iam-policy-binding 将策略(在角色中定义,包括自定义角色)绑定到项目的 iam 用户(用户、服务帐户、组)。

get-iam-policy/set-iam-policy 也遵循 read-modify-write 模式。

那么,两者之间的基本区别是什么。什么时候使用一个而不是另一个?

我一直在阅读-https://cloud.google.com/iam/docs/overview#permissions

  1. 运行这些命令需要什么权限?我收到 add-iam-policy-binding 的权限错误,但 get/set-iam-policy 使用 serviceaccount 可以正常工作。

  2. 一旦我理解它,目标就是创建一个组,向其中添加用户。要为组分配权限,请创建一个角色并添加与项目的绑定。在这里,我不确定创建角色绑定如何授予对组的访问权限?还有后期怎么实现?

谢谢

【问题讨论】:

  • 我认为您对命令名称感到困惑。有 add-iam-policy-binding 但没有 add-iam-policy。命令 set-iam-policy 不同于 add-iam-policy-binding。编辑您的问题以使用正确的命令名称。
  • @JohnHanley,感谢您的快速回复。我肯定很困惑。所以没有 get-iam-policy-binding 命令。已编辑问题以获得更好的说明。

标签: google-cloud-platform roles policies


【解决方案1】:

add-iam-policy-binding 是在一个用户步骤中简化读取-修改-写入的一些糖。在引入该服务时,它与其他服务在使用这种机制方面不同,并且通过提供一种更传统的方法添加了add

add 一次只能绑定一个身份*角色。但是,如果无法进行更改(如果 etag 已更改),它可能(?)重试。而您可以使用get 然后set 进行多项更改。

在封面下,我假设 (d),add 为您执行 get-modify-write 舞蹈,所以,我很惊讶您不能使用同一帐户来访问 getsetadd。请包括您运行的命令和输出。

组是在 Google 网上论坛中创建的,我假设是 Google 身份。而不是使用user:serviceAccount: 前缀身份,然后使用group:(如果我没记错的话)。

更新您使用的 URL 是一个明确的概述。我刚刚检查了一下,group: 是正确的。

您可以gcloud ... --log-http 让 CLI 向您展示它的工作(底层 REST 调用),这应该显示 add 被分解为 get 后跟 set。如果没有,它正在以其他方式实现这一目标。

【讨论】:

  • @DazWilikin,明白了。因此, add-iam-policy-binding 和 get-iam-policy/set-iam-policy 获得相同的结果,其中 add 仅限于一个绑定。我想我遇到了错误,因为对于添加命令,我使用的是项目名称而不是项目 ID。对于#3 问题,关于如何将角色绑定到项目以访问创建的组(能够实现创建组)以及在组织中创建自定义角色或将其分配给项目需要哪些权限?我创建了一个服务帐户来完成所有这些任务。
  • add ~== get+mutate+set,是的。
  • 对于#3,您将需要等效于gcloud projects add-iam-policy-binding ${PROJECT_ID} --member=group:${GROUP_EMAIL} --roles=projects/${PROJECT_ID}/roles/${ROLE_ID}。其中GROUP_EMAIL 是 Google 群组的电子邮件地址,ROLE_ID 是自定义角色的 ID。 NB 仅在绝对必要时创建自定义角色; (强烈)最好使用一组预定义角色
  • 在我的场景中,我想将所有权限授予成员,但要排除一些高级管理员、组织、安全和类似权限(还不知道所有这些权限)。使用预定义的角色,我怎样才能实现这一目标?我可以想到 1. 创建自定义角色(它具有维护的缺点和其中的权限列表很长,因此我猜必须拆分为多个角色,因为一个角色的限制为 2500)。
  • 或 2. 分配编辑角色并删除我不想提供的权限(可能循环通过每个权限)(我不知道该怎么做)。您还有其他更好的方法可以建议使用预定义角色吗?抱歉,关于所有此类问题,因为我对 GCP 还很陌生。
猜你喜欢
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 2023-02-01
  • 2021-11-28
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 2021-09-05
相关资源
最近更新 更多