本页面介绍了您可以使用的 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.get
和recommender.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 结合使用的限制,请参阅支持的产品和限制。