GCP拥有Billing Account Administrator角色却无法查看活跃结算账户信息
GCP结算账户权限报错排查方案
对应报错信息:
You don’t have permission to list projects for this billing account.
以下是你可能遗漏的权限配置项:
- 结算账户本身的IAM授权缺失
即使你在组织层级持有Owner、Billing Account Administrator角色,也需要确认对应权限已经被授予到目标结算账户本身。GCP默认支持结算账户IAM权限和组织层级IAM权限独立配置,部分组织会关闭组织权限向下继承到结算账户的规则,需要单独给你的账号在结算账户的IAM页面绑定Billing Account Administrator或Billing Account Viewer角色。 - 组织政策拦截
进入组织政策页面,排查以下两条约束是否有针对你的账号/用户组的限制:constraints/billing.allowedBillingAccountUsers:该约束会直接限制可访问指定结算账户的用户范围,优先级高于普通IAM角色授予constraints/billing.restrictBillingAccountLinking:该约束如果配置为禁止,会触发结算账户关联项目的列表权限报错
- IAM拒绝策略拦截
进入IAM > 拒绝政策页面,排查是否有针对你的账号配置的结算相关拒绝规则,拒绝策略的优先级高于所有授予的角色权限,即使你有组织Owner角色也会被拦截。 - 子结算账户继承限制
如果你访问的是父结算账户下的子结算账户,父结算账户、组织层级的权限都不会自动继承到子结算账户,需要单独在子结算账户的IAM页面给你授予对应权限。 - 结算账户归属校验
确认你访问的结算账户没有被转移出当前组织,归属其他组织的结算账户不会继承当前组织的任何IAM角色配置。
你也可以通过gcloud命令行快速校验权限范围:运行gcloud billing accounts list,如果返回结果中没有你要访问的结算账户,即可确认是该结算账户本身的权限配置问题。
内容的提问来源于stack exchange,提问作者EilonA
相关产品推荐
相关产品推荐

