添加 iam 策略绑定与设置 iam 策略

add-iam-poilcy-binding vs set-iam-policy

  1. 我无法理解两者之间的区别。 add-iam-policy-binding 正在将策略(在角色中定义,包括自定义角色)绑定到项目的 iam 用户(用户、服务帐户、组)。

get-iam-policy/set-iam-policy 也按照读取-修改-写入模式执行相同操作。

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

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

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

  2. 明白了,objective就是创建一个组,添加用户。要为组分配权限,请创建一个角色并添加与项目的绑定。在这里,我不确定如何创建角色绑定才能访问组?还有后面的部分是怎么实现的?

谢谢

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.如果没有,它会以其他方式实现。