使用 IAM 进行访问权限控制

本页面介绍了适用于 Cloud Asset API。

概览

Cloud Asset Inventory 使用 Identity and Access Management (IAM) 进行访问权限控制。

在 Cloud Asset API 中,可以在项目级别配置访问权限控制 或组织级别。例如,您可以向一组开发者授予对某项目中的所有 Cloud Asset Inventory 资源的访问权限。

如需详细了解 IAM 及其功能,请参阅 IAM 文档。具体而言,请参阅其管理对项目、文件夹和组织的访问权限部分。

权限和角色

Cloud Asset Inventory API 的每种方法都要求调用者拥有必要的权限。本部分汇总了 IAM 支持的 Cloud Asset API 权限和角色。

所需权限

下表列出了调用方在调用每个 API 时必须具备的权限。 API 方法,或使用 Google Cloud 工具执行任务, 使用 API,例如 Google Cloud 控制台或 Google Cloud CLI。

权限 API 方法
cloudasset.assets.searchAllResources 和:
  • cloudasset.assets.searchEnrichmentResourceOwners(如果搜索资源所有者丰富)
*.searchAllResources
cloudasset.assets.searchAllIamPolicies *.searchAllIamPolicies
cloudasset.assets.analyzeIamPolicy
cloudasset.assets.searchAllResources
cloudasset.assets.searchAllIamPolicies
*.analyzeIamPolicy
*.analyzeIamPolicyLongrunning
*.batchGetEffectiveIamPolicies
cloudasset.assets.analyzeOrgPolicy
cloudasset.assets.searchAllResources
*.analyzeOrgPolicies
*.analyzeOrgPolicyGovernedContainers
cloudasset.assets.analyzeOrgPolicy
cloudasset.assets.searchAllResources
cloudasset.assets.searchAllIamPolicies
*.analyzeOrgPolicyGovernedAssets
cloudasset.feeds.get *.getFeed
cloudasset.feeds.list *.listFeeds
cloudasset.feeds.delete *.deleteFeed
cloudasset.feeds.create
cloudasset.assets.exportResource
cloudasset.assets.exportIamPolicy
(基于 content_type
*.createFeed
cloudasset.feeds.update
cloudasset.assets.exportResource
cloudasset.assets.exportIamPolicy
(基于 content_type
*.updateFeed
cloudasset.assets.exportResource
cloudasset.assets.exportIamPolicy
cloudasset.assets.exportOrgPolicy,、
cloudasset.assets.exportOSInventories
cloudasset.assets.exportAccessPolicy
(基于 content_type
*.batchGetAssetsHistory
*.exportAssets
*.operations.get
cloudasset.assets.listResource
cloudasset.assets.listIamPolicy
cloudasset.assets.listOrgPolicy,、
cloudasset.assets.listAccessPolicy
cloudasset.assets.listOSInventories
(基于 content_type
*.listAssets
cloudasset.assets.analyzeMove *.analyzeMove
cloudasset.savedqueries.create *.createSavedQuery
cloudasset.savedqueries.get *.getSavedQuery
cloudasset.savedqueries.list *.listSavedQueries
cloudasset.savedqueries.update *.updateSavedQuery
cloudasset.savedqueries.delete *.deleteSavedQuery

请注意,使用 *.exportAssets 导出指定资产类型为 RESOURCE 或未指定内容类型的资源元数据时,如果调用者未被授予 cloudasset.assets.exportResource 权限,则另一个替代要求是调用者具有请求中指定的适当的 per-resource-type 权限

角色

Cloud Asset Inventory 有两个 IAM 角色:

  • Cloud Asset Owner (roles/cloudasset.owner),授予云资产元数据的完整访问权限。它会授予所有 cloudasset.* 权限和 recommender.cloudAssetInsights.* 权限。

  • Cloud Asset Viewer (roles/cloudasset.viewer),授予云资产元数据的只读权限。它会授予所有 cloudasset.assets.*(不会授予 cloudasset.feeds.*cloudasset.savedqueries.* 权限)、recommender.cloudAssetInsights.getrecommender.cloudAssetInsights.list 权限。

选择包含您所需权限的适当角色。通常情况下,只有 Cloud Asset Owner 角色可以授予调用 Cloud Asset API 的所有所需权限,并允许完整使用所有方法。

基本角色包含以下权限:

  • Owner 角色 (roles/owner) 授予所有 cloudasset.* 权限。

  • Editor 角色 (roles/editor) 授予 cloudasset.assets.search*cloudasset.assets.analyzeIamPolicy 权限。

  • Viewer 角色 (roles/viewer) 授予 cloudasset.assets.search*cloudasset.assets.analyzeIamPolicy 权限。

我们建议授予其中一个 Cloud Asset 角色,而不是基本角色,因为基本角色包含其他 Google Cloud 服务的许多权限,可能会导致授予比预期更大的访问权限范围。

您可以在组织、文件夹或项目级层向用户授予角色。请参阅 管理对项目、文件夹和组织的访问权限

VPC Service Controls

VPC Service Controls 可与 Cloud Asset Inventory 搭配使用,为您的资产提供额外的安全保障。如需详细了解 VPC Service Controls,请参阅 VPC Service Controls 概览

如需了解使用 Cloud Asset Inventory 时存在的限制, 请参阅支持的产品和限制