阻止GCP中的IAM升级

时间:2019-08-23 23:03:48

标签: google-cloud-platform google-iam

我想创建一个GCP项目,并向团队授予对特定API的访问权限。

但是我希望他们能够自治:他们应该能够在我允许的范围内创建自己的服务帐户。

问题是,如果我给他们IAM编辑器权限,他们可以在项目中授予其他任何权限。

Kubernetes的RBAC API就是为此和用户who is able to modify the roles can't put more permission than the ones he has设计的。

例如,是否可以让一个具有Cloud SQL管理员角色的用户允许他向服务帐户授予类似的权限,还可以阻止他向Cloud Storage授予权限?

2 个答案:

答案 0 :(得分:0)

遗憾的是。防止“角色/权限提升”是不可能的。如果某人是IAM管理员,则他可以分配她想要的角色,甚至还可以分配给他自己,更高的级别则隐藏了当前权限。

但是,您有一些政策可以限制项目或组织的工作:允许的API,允许的外部帐户,公共IP ...

答案 1 :(得分:0)

  

我想创建一个GCP项目并授予对特定API的访问权限/   团队的权限。

您可以为服务执行此操作,这就是Google IAM存在的原因之一。您不能专门指定API的角色-您可以通过不授予启用服务的权限来阻止任何API的启用。您可以使用“组织策略约束”来阻止为项目而非个人启用某些API。

  

但是我希望他们能够自治:他们应该能够创建自己的   在我允许的范围内拥有自己的服务帐户。

Google Cloud IAM不支持此功能。如果您有权创建服务帐户(roles / iam.serviceAccountAdmin),那么您也有权将角色分配给该服务帐户。这是管理员级别的权限,仅应授予管理员,而不是普通用户。小心管理此角色,因为管理员可以创建具有“项目所有者”角色的服务帐户。

  

例如,可能有一个具有Cloud SQL管理员的用户   角色,以允许他向服务帐户授予类似权限,   还要阻止他授予Cloud Storage权限?

不支持此功能。为了具有将角色分配给服务帐户的权限,您必须是服务帐户管理员。