我想列出各种资源的IAM策略或访问级别。我遵循文档,我可以列出它的项目。有各种各样的资源,我有点困惑。
- 是否所有其他资源都在项目内?(基本上我与链混淆)
- 如果有人有权访问项目(读/写/任何其他),那么他们可以访问项目内的资源吗?
- 如果其他资源是独立的,那么如何列出他们的IAM策略?(个别资源)
我正在使用GCP Oauth2 API,如果有人至少回答上述问题,我将非常感激。
是否所有其他资源都在项目内?
是的,
对于特定的项目,您可以使用search-all-resources来跨服务(或api)和项目搜索所有资源。使用数字123搜索项目中的所有资源:
$ gcloud asset search-all-resources --scope=projects/123
如果有人有权访问项目(读/写/其他任何事情),那么他们可以访问项目内的资源吗?
上述命令的结果是该项目中的资源。如果您的用户在项目中具有所有者角色,则该用户可以管理项目的角色和权限以及项目中的所有资源。如果用户具有查看者角色,则该用户具有只读操作的权限,这些操作不影响状态,例如查看(但不修改)现有资源或数据。
一些资源也有单独的权限,用户可以拥有项目级别以外的权限,即对特定资源的个人权限,通过使用它们,您可以限制用户访问项目,但用户可以访问特定资源。
在这里你可以找到访问控制与IAM项目。
如果其他资源是独立的,那么如何列出它们的IAM策略?(对于每个单独的资源)
Google对项目中的每个资源都有预定义的角色,您可以通过搜索本文档中的资源来过滤出特定的资源,这些是预定义的角色,可以将用户分配给特定的资源。
你可以在这个文档中找到更多的信息。
ORG、Folder和Project是资源。它们有一个API来访问IAM策略绑定。云存储、KMS、计算引擎、云运行、函数等也是资源。它们有一个API来访问IAM Policy绑定。查看每种资源类型的API
在Google Cloud中,许多资源支持IAM Policy Bindings,但不是全部。
是否所有其他资源都在项目内?(基本上我与链混淆)
Google Cloud资源几乎在所有情况下都属于项目。帐单帐户和付款帐户是分开的示例。
如果有人有权访问项目(读/写/其他任何事情),那么可以他们有权使用项目内部的资源吗?
如果像你说的"读/写/其他任何东西",那么是的。如果他们在项目级别拥有正确的IAM角色,他们就可以访问资源。由于一些资源也支持自己的IAM Policy绑定,用户可以在资源级被授予访问资源的权限,而无需在项目级获得权限。
如果其他资源是独立的,那么如何列出它们的IAM政策?(对于每个单独的资源)
必须访问资源的IAM Policy Bindings。每个支持IAM Policy Bindings的资源都有相应的API来读取/修改。
注意:资源不是独立的。正如我前面提到的,在几乎所有情况下,它们都属于一个项目。