误替换GCloud项目IAM策略,如何确认影响及恢复?
问题解答
1. 该脚本是否仅修改了IAM控制台页面中的角色?
是的,这个脚本修改的就是IAM控制台(IAM Admin页面)展示的项目级IAM策略。你调用的projects().setIamPolicy方法会直接替换整个项目的IAM绑定规则——原来所有的角色分配(包括默认Google服务账号的权限)都会被清空,只保留你在bindings数组里定义的那一条规则,这也是你丢失其他权限的原因。
2. 是否可以查看IAM相关的近期操作历史,并恢复此次变更前的策略快照?
完全可以:
- 查看操作历史:
- 进入Cloud Console的「审计日志」,筛选「Admin Activity」类型日志,再搜索
resourcemanager.projects.setIamPolicy操作,就能找到这次变更的详细记录,包括操作时间、执行者,以及变更前后的策略内容(日志默认会保留相关信息)。 - 也可以直接在IAM控制台的「权限」页面找到「变更历史」入口,查看近期所有IAM权限变更操作。
- 进入Cloud Console的「审计日志」,筛选「Admin Activity」类型日志,再搜索
- 恢复策略快照:
- 如果审计日志里保存了变更前的完整IAM策略,你可以提取旧策略内容,通过再次调用
setIamPolicy方法(或在IAM控制台手动配置),就能还原到变更前的状态。 - Google Cloud的IAM策略默认会保留近期版本,你也可以通过
projects().getIamPolicy方法指定版本参数,获取历史策略版本后进行恢复。
- 如果审计日志里保存了变更前的完整IAM策略,你可以提取旧策略内容,通过再次调用
内容的提问来源于stack exchange,提问作者browser-bug
相关产品推荐
相关产品推荐

