GCP中授予BillingAccountUser角色时如何规避私接项目账单风险
GCP BillingAccountUser 权限安全规避方案
你要求的权限控制逻辑完全可以通过自定义角色+GCP组织策略组合实现,具体配置如下:
核心风险根因
默认roles/billing.accountUser角色权限过于宽泛,只要持有该角色的用户可以将任意归属的项目(含个人私有项目)绑定到对应计费账户,不受项目所属组织限制,是该场景风险的核心来源。
具体配置步骤
1. 替换默认宽权限角色,创建自定义计费关联角色
先收回所有normal_user持有的默认BillingAccountUser角色,创建最小权限自定义角色,仅保留绑定项目必需的权限:
billing.accounts.get billing.accounts.associateProjects
将该自定义角色仅授予需要绑定项目的normal_user即可。
2. 配置组织策略限制计费账户可关联的项目范围
在你的组织层级配置强制组织策略constraints/billing.restrictProjectSelection,设置规则为仅允许归属当前组织的项目绑定该计费账户,该规则生效后,normal_user的个人私有项目(不属于你的组织)将无法关联到你的企业计费账户。
3. 配置组织策略禁止普通用户在组织内创建项目
在组织/对应业务文件夹层级配置组织策略constraints/resourcemanager.restrictProjectCreation,仅向指定的项目管理团队开放创建权限,排除所有normal_user,实现普通用户无法在组织内创建私有项目的需求。
4. 不影响用户个人测试的逻辑说明
normal_user自行创建个人测试项目属于其个人账号下的资源,不受你的企业组织策略限制,用户可自行绑定个人计费账户使用,完全不会被上述规则影响。
额外安全加固建议
- 为计费账户配置多阈值预算告警,触发阈值时自动发送通知给计费管理员,提前感知异常费用
- 定期审计计费账户关联项目列表,核对所有关联项目均在组织资源清单内,有明确的业务负责人
- 为组织内所有项目配置强制权限继承,确保管理员组默认持有所有组织内项目的查看/管理权限,避免出现项目权限失联的情况
内容的提问来源于stack exchange,提问作者Astronet-K2
相关产品推荐
相关产品推荐

