Joh*_*age 7 google-cloud-platform google-cloud-iam
我有一个属于项目的服务帐户。它在项目级别设置了一些角色/权限,在组织级别设置了一些角色/权限。
我需要获取服务帐户被授予的所有权限/角色的列表。
在搜索时,我发现了“身份和访问管理(IAM)API ”文档,其中的 API 将列出有权访问服务帐户的所有资源以及为资源设置的角色。我需要的是相反的。我想获取服务帐户在其他资源(在我的案例项目和组织中)上拥有的所有角色。
该文档中提到“projects.serviceAccounts.getIamPolicy() 方法不会返回服务帐户有权访问的资源。要查看服务帐户是否有权访问资源,请对目标资源调用 getIamPolicy 方法。例如,要查看项目的拨款,请调用projects.getIamPolicy 方法。” 但要获得组织级别的权限,服务帐户没有执行 API 调用的权限。
是否有其他方法可以获取服务帐户在项目和组织中拥有的所有角色。
您可以使用 search-all-iam-policies 跨服务、资源类型、项目、文件夹或组织中的项目搜索所有 IAM 策略。
要查明服务帐户在组织中具有哪些角色:
gcloud asset search-all-iam-policies --scope=organizations/123 --query="policy:123-compute@developer.gserviceaccount.com"
Run Code Online (Sandbox Code Playgroud)
要了解更多信息,请参阅另一篇文章: 如何在 Google 云平台 (GCP) 中跨服务 (API)、资源类型和项目列出、查找或搜索 iam 策略?
是否有其他方法可以获取服务帐户在项目和组织中拥有的所有角色。
这时候,你就需要手动检查各处的所有资源。
服务帐户是一个身份。可以向身份授予对您的项目/组织中以及其他项目/组织中的资源的权限。这包括 Cloud Storage 对象、KMS 密钥、Cloud Run 等服务等资源。这些权限在资源级别进行跟踪,但不在身份级别进行跟踪。
通常,管理员会在项目级别授予 IAM 成员权限(角色)。但是,也可以在资源级别授予权限,即单个云存储对象或 KMS 密钥。检查项目/组织权限不会显示资源级权限(项目只是另一种资源)。
| 归档时间: |
|
| 查看次数: |
10338 次 |
| 最近记录: |