2

为了减少由于工程错误导致数据丢失的可能性,特定的扳手数据库如何授予单个服务帐户的独占权限?还是有更好的方法来做到这一点?防止意外删除扳手数据库

通常有几个人在谷歌云计划项目中被授予广泛的权利。这样他们就可以部署生产服务,处理pagerduty事件等。据我所知,不可能减去已经授予的权限。理想情况下,IAM将允许删除单个扳手数据库的所有权限,除非指定要访问它的指定服务帐户。

即使开发人员已被授予对项目的广泛(即所有者)访问权限,是否有办法防止删除谷歌扳手数据库?

+0

我想我可以完成这项工作,如果创建一个没有人真正拥有任何权限的新项目并在该新项目中创建谷歌扳手数据库。然后,我可以将权限授予服务帐户并在其他项目中使用凭据? – onionjake

回答

1

当前不是。

但是,将来可能会在IAM中创建自定义角色,您可以在其中提供除云端Spanner上要限制的权限以外的所有权限。然后,您可以将此自定义角色分配给需要广泛但不是完整项目权限的人员。有关更多详细信息,请参阅creating and managing custom roles的Alpha文档。

Cloud IAM还提供了创建自定义Cloud IAM 角色的功能。您可以创建具有一个或多个 权限的自定义Cloud IAM角色,然后将该自定义角色授予属于贵组织的一部分的用户。 Cloud IAM提供用于创建和管理自定义角色的UI和API。

与此同时,在单独的项目中隔离Spanner实例的解决方法似乎是合理的。

+0

看起来你可以从一个普通的角色创建一个角色,这意味着我可以从所有者创建一个角色,然后移除权限,这是很整洁的!目前尚不清楚基于常规角色的自定义角色是否会继承其创建的角色的更改。我会看着它离开阿尔法。 – onionjake

0

据我可以告诉它是不可能减去已经授予的权限。

在此期间,你可以尝试revoke access的广泛访问的角色帐户,并限制他们Cloud Spanner DatabaseReader访问|浏览器| DatabaseUser角色。然后可为特殊角色帐户授予Cloud Spanner Admin | DatabaseAdmin角色(受限制的开发人员成员资格)的权限。