使用 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 权限和角色。

所需权限

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

权限 API 方法
cloudasset.assets.searchAllResources *.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 与 VPC Service Controls 结合使用的限制,请参阅支持的产品和限制