角色与权限

Cloud Asset Inventory 使用 Identity and Access Management (IAM) 进行访问 控制。每种 Cloud Asset Inventory API 方法都要求调用方具备必要的 权限。

角色

如需获得处理资产元数据所需的权限,请让管理员向您授予组织、文件夹或项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含 拥有使用资产元数据所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需处理资产元数据,您需要具备以下权限:

  • 如需查看资产元数据,请执行以下操作:
    • cloudasset.assets.*
    • recommender.cloudAssetInsights.get
    • recommender.cloudAssetInsights.list
    • serviceusage.services.use
  • 要查看资产元数据和使用 Feed,请执行以下操作:
    • cloudasset.*
    • recommender.cloudAssetInsights.*
    • serviceusage.services.use

您也可以使用自定义角色或其他预定义角色来获取这些权限。

权限

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

Cloud Asset Viewer (roles/cloudasset.viewer) 和 Cloud Asset Owner (roles/cloudasset.owner) 角色包括其中许多 权限。如果调用方已被授予其中一个角色以及“Service Usage Consumer”(roles/serviceusage.serviceUsageConsumer) 角色,则可能已经拥有使用 Cloud Asset Inventory 所需的权限。

RPC

方法 所需权限
所有 API
所有 Cloud Asset Inventory 调用

所有 Cloud Asset Inventory 调用都需要 serviceusage.services.use 权限。

分析 API

AnalyzeIamPolicy

AnalyzeIamPolicyLongRunning

BatchGetEffectiveIamPolicies

以下所有权限:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllIamPolicies
  • cloudasset.assets.searchAllResources

AnalyzeMove

cloudasset.assets.analyzeMove

AnalyzeOrgPolicies

AnalyzeOrgPolicyGovernedContainers

以下所有权限:

  • cloudasset.assets.analyzeOrgPolicy
  • cloudasset.assets.searchAllResources

AnalyzeOrgPolicyGovernedAssets

以下所有权限:

  • cloudasset.assets.analyzeOrgPolicy
  • cloudasset.assets.searchAllIamPolicies
  • cloudasset.assets.searchAllResources
Inventory API

BatchGetAssetsHistory

ExportAssets

下列权限之一,具体取决于 内容类型

  • cloudasset.assets.exportAccessPolicy

    使用 ACCESS_POLICY 内容类型时。

  • cloudasset.assets.exportIamPolicy

    使用 IAM_POLICY 内容类型时。

  • cloudasset.assets.exportOrgPolicy

    使用 ORG_POLICY 内容类型时。

  • cloudasset.assets.exportOSInventories

    使用 OS_INVENTORY 内容类型时。

  • cloudasset.assets.exportResource

    使用 RELATIONSHIPRESOURCE 内容类型时。

改为导出未指定内容类型或 RESOURCE 内容类型的元数据时 授予 cloudasset.assets.exportResource 对某个账号的权限,则可以使用 每种资源类型的权限

ListAssets

以下某项权限(具体取决于内容类型):

  • cloudasset.assets.listAccessPolicy
  • cloudasset.assets.listIamPolicy
  • cloudasset.assets.listOrgPolicy
  • cloudasset.assets.listOSInventories
  • cloudasset.assets.listResource (适用于 RELATIONSHIPRESOURCE 内容类型)。

QueryAssets

以下某项权限(具体取决于内容类型):

  • cloudasset.assets.queryAccessPolicy
  • cloudasset.assets.queryIamPolicy
  • cloudasset.assets.queryOSInventories
  • cloudasset.assets.queryResource RELATIONSHIPRESOURCE 内容类型。
Feed API

CreateFeed

cloudasset.feeds.create

您还需要具备以下某种权限,具体取决于内容类型

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource

DeleteFeed

cloudasset.feeds.delete

GetFeed

cloudasset.feeds.get

ListFeed

cloudasset.feeds.list

UpdateFeed

cloudasset.feeds.update

您还需要具备以下权限之一,具体取决于 内容类型

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource
Search API

SearchAllIamPolicies

cloudasset.assets.searchAllIamPolicies

SearchAllResources

cloudasset.assets.searchAllResources

您还需要 cloudasset.assets.searchEnrichmentResourceOwners (如果 搜索资源所有者扩充信息。

REST

方法 所需权限
所有 API
所有 Cloud Asset Inventory 调用

所有 Cloud Asset Inventory 调用都需要 serviceusage.services.use 权限。

分析 API

analyzeIamPolicy

analyzeIamPolicyLongRunning

effectiveIamPolicies.batchGet

以下所有权限:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllIamPolicies
  • cloudasset.assets.searchAllResources

analyzeMove

cloudasset.assets.analyzeMove

analyzeOrgPolicies

analyzeOrgPolicyGovernedContainers

以下所有权限:

  • cloudasset.assets.analyzeOrgPolicy
  • cloudasset.assets.searchAllResources

analyzeOrgPolicyGovernedAssets

以下所有权限:

  • cloudasset.assets.analyzeOrgPolicy
  • cloudasset.assets.searchAllIamPolicies
  • cloudasset.assets.searchAllResources
Inventory API

batchGetAssetsHistory

exportAssets

以下某项权限(具体取决于内容类型):

  • cloudasset.assets.exportAccessPolicy

    使用 ACCESS_POLICY 内容类型时。

  • cloudasset.assets.exportIamPolicy

    使用 IAM_POLICY 内容类型时。

  • cloudasset.assets.exportOrgPolicy

    使用 ORG_POLICY 内容类型时。

  • cloudasset.assets.exportOSInventories

    使用 OS_INVENTORY 内容类型时。

  • cloudasset.assets.exportResource

    使用 RELATIONSHIPRESOURCE 内容类型时。

改为导出未指定内容类型或 RESOURCE 内容类型的元数据时 授予 cloudasset.assets.exportResource 对某个账号的权限,则可以使用 每种资源类型的权限

assets.list

以下某项权限(具体取决于内容类型):

  • cloudasset.assets.listAccessPolicy
  • cloudasset.assets.listIamPolicy
  • cloudasset.assets.listOrgPolicy
  • cloudasset.assets.listOSInventories
  • cloudasset.assets.listResource RELATIONSHIPRESOURCE 内容类型。

queryAssets

下列权限之一,具体取决于 内容类型

  • cloudasset.assets.queryAccessPolicy
  • cloudasset.assets.queryIamPolicy
  • cloudasset.assets.queryOSInventories
  • cloudasset.assets.queryResource (适用于 RELATIONSHIPRESOURCE 内容类型)。
Feed API

feeds.create

cloudasset.feeds.create

您还需要具备以下某种权限,具体取决于内容类型

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource

feeds.delete

cloudasset.feeds.delete

feeds.get

cloudasset.feeds.get

feeds.list

cloudasset.feeds.list

feeds.patch

cloudasset.feeds.update

您还需要具备以下某种权限,具体取决于内容类型

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource
Search API

searchAllIamPolicies

cloudasset.assets.searchAllIamPolicies

searchAllResources

cloudasset.assets.searchAllResources

如果搜索资源所有者丰富功能,您还需要 cloudasset.assets.searchEnrichmentResourceOwners

gcloud

位置语句 所需权限
所有 API
所有 Cloud Asset Inventory 调用

所有 Cloud Asset Inventory 调用都需要 serviceusage.services.use 权限。

分析 API

analyze-iam-policy

analyze-iam-policy-longrunning

get-effective-iam-policy

以下所有权限:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllIamPolicies
  • cloudasset.assets.searchAllResources

analyze-move

cloudasset.assets.analyzeMove

analyze-org-policies

analyze-org-policy-governed-containers

以下所有权限:

  • cloudasset.assets.analyzeOrgPolicy
  • cloudasset.assets.searchAllResources

analyze-org-policy-governed-assets

以下所有权限:

  • cloudasset.assets.analyzeOrgPolicy
  • cloudasset.assets.searchAllIamPolicies
  • cloudasset.assets.searchAllResources
Inventory API

get-history

export

以下某项权限(具体取决于内容类型):

  • cloudasset.assets.exportAccessPolicy

    使用 ACCESS_POLICY 内容类型时。

  • cloudasset.assets.exportIamPolicy

    使用 IAM_POLICY 内容类型时。

  • cloudasset.assets.exportOrgPolicy

    使用 ORG_POLICY 内容类型时。

  • cloudasset.assets.exportOSInventories

    使用 OS_INVENTORY 内容类型时。

  • cloudasset.assets.exportResource

    使用 RELATIONSHIPRESOURCE 内容类型时。

导出未指定或 RESOURCE 内容类型的元数据时,您可以使用针对每种资源类型的权限,而不是向账号授予 cloudasset.assets.exportResource 权限。

list

以下某项权限(具体取决于内容类型):

  • cloudasset.assets.listAccessPolicy
  • cloudasset.assets.listIamPolicy
  • cloudasset.assets.listOrgPolicy
  • cloudasset.assets.listOSInventories
  • cloudasset.assets.listResource RELATIONSHIPRESOURCE 内容类型。

query

以下某项权限(具体取决于内容类型):

  • cloudasset.assets.queryAccessPolicy
  • cloudasset.assets.queryIamPolicy
  • cloudasset.assets.queryOSInventories
  • cloudasset.assets.queryResource RELATIONSHIPRESOURCE 内容类型。
Feed API

feeds create

cloudasset.feeds.create

您还需要具备以下权限之一,具体取决于 内容类型

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource

feeds delete

cloudasset.feeds.delete

feeds describe

cloudasset.feeds.get

feeds list

cloudasset.feeds.list

feeds update

cloudasset.feeds.update

您还需要具备以下权限之一,具体取决于 内容类型

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource
Search API

search-all-iam-policies

cloudasset.assets.searchAllIamPolicies

search-all-resources

cloudasset.assets.searchAllResources

如果搜索资源所有者丰富功能,您还需要 cloudasset.assets.searchEnrichmentResourceOwners

每种资源类型的导出权限

向用户授予 cloudasset.assets.exportResource 权限后,他们可以导出所有资源类型。如需限制用户可以导出的资源类型,您可以改为为每种资源类型授予权限。

例如,向用户授予 cloudasset.assets.exportComputeDisks 意味着他们除了资源类型 compute.googleapis.com/Disk 之外无法导出任何内容。

资源导出权限仅适用于 RESOURCE 和未指定的内容类型

服务 资源类型 资源导出权限
App Engine appengine.googleapis.com/Application cloudasset.assets.exportAppengineApplications
appengine.googleapis.com/Service cloudasset.assets.exportAppengineServices
appengine.googleapis.com/Version cloudasset.assets.exportAppengineVersions
BigQuery bigquery.googleapis.com/Dataset cloudasset.assets.exportBigqueryDatasets
bigquery.googleapis.com/Table cloudasset.assets.exportBigqueryTables
Bigtable bigtableadmin.googleapis.com/Cluster cloudasset.assets.exportBigtableCluster
bigtableadmin.googleapis.com/Instance cloudasset.assets.exportBigtableInstance
bigtableadmin.googleapis.com/Table cloudasset.assets.exportBigtableTable
Cloud Billing cloudbilling.googleapis.com/BillingAccount cloudasset.assets.exportCloudbillingBillingAccounts
Cloud DNS dns.googleapis.com/ManagedZone cloudasset.assets.exportDnsManagedZones
dns.googleapis.com/Policy cloudasset.assets.exportDnsPolicies
Cloud Key Management Service cloudkms.googleapis.com/CryptoKey cloudasset.assets.exportCloudkmsCryptoKeys
cloudkms.googleapis.com/CryptoKeyVersion cloudasset.assets.exportCloudkmsCryptoKeyVersions
cloudkms.googleapis.com/ImportJob cloudasset.assets.exportCloudkmsImportJobs
cloudkms.googleapis.com/KeyRing cloudasset.assets.exportCloudkmsKeyRings
Cloud OS Config osconfig.googleapis.com/PatchDeployment cloudasset.assets.exportPatchDeployments
Spanner spanner.googleapis.com/Backup cloudasset.assets.exportSpannerBackups
spanner.googleapis.com/Database cloudasset.assets.exportSpannerDatabases
spanner.googleapis.com/Instance cloudasset.assets.exportSpannerInstances
Cloud SQL sqladmin.googleapis.com/Instance cloudasset.assets.exportSqladminInstances
Cloud Storage storage.googleapis.com/Bucket cloudasset.assets.exportStorageBuckets
Compute Engine compute.googleapis.com/Address cloudasset.assets.exportComputeAddress
compute.googleapis.com/Autoscaler cloudasset.assets.exportComputeAutoscalers
compute.googleapis.com/BackendBucket cloudasset.assets.exportComputeBackendBuckets
compute.googleapis.com/BackendService cloudasset.assets.exportComputeBackendServices
compute.googleapis.com/Disk cloudasset.assets.exportComputeDisks
compute.googleapis.com/Firewall cloudasset.assets.exportComputeFirewalls
compute.googleapis.com/ForwardingRule cloudasset.assets.exportComputeForwardingRules
compute.googleapis.com/GlobalAddress cloudasset.assets.exportComputeGlobalAddress
compute.googleapis.com/HealthCheck cloudasset.assets.exportComputeHealthChecks
compute.googleapis.com/HttpHealthCheck cloudasset.assets.exportComputeHttpHealthChecks
compute.googleapis.com/HttpsHealthCheck cloudasset.assets.exportComputeHttpsHealthChecks
compute.googleapis.com/Image cloudasset.assets.exportComputeImages
compute.googleapis.com/Instance cloudasset.assets.exportComputeInstances
compute.googleapis.com/InstanceGroup cloudasset.assets.exportComputeInstanceGroups
compute.googleapis.com/InstanceGroupManager cloudasset.assets.exportComputeInstanceGroupManagers
compute.googleapis.com/InstanceTemplate cloudasset.assets.exportComputeInstanceTemplates
compute.googleapis.com/Interconnect cloudasset.assets.exportComputeInterconnect
compute.googleapis.com/InterconnectAttachment cloudasset.assets.exportComputeInterconnectAttachment
compute.googleapis.com/License cloudasset.assets.exportComputeLicenses
compute.googleapis.com/Network cloudasset.assets.exportComputeNetworks
compute.googleapis.com/Project cloudasset.assets.exportComputeProjects
compute.googleapis.com/RegionDisk cloudasset.assets.exportComputeRegionDisk
compute.googleapis.com/Route cloudasset.assets.exportComputeRoutes
compute.googleapis.com/Router cloudasset.assets.exportComputeRouters
compute.googleapis.com/Snapshot cloudasset.assets.exportComputeSnapshots
compute.googleapis.com/SslCertificate cloudasset.assets.exportComputeSslCertificates
compute.googleapis.com/Subnetwork cloudasset.assets.exportComputeSubnetworks
compute.googleapis.com/TargetHttpProxy cloudasset.assets.exportComputeTargetHttpProxies
compute.googleapis.com/TargetHttpsProxy cloudasset.assets.exportComputeTargetHttpsProxies
compute.googleapis.com/TargetInstance cloudasset.assets.exportComputeTargetInstances
compute.googleapis.com/TargetPool cloudasset.assets.exportComputeTargetPools
compute.googleapis.com/TargetTcpProxy cloudasset.assets.exportComputeTargetTcpProxies
compute.googleapis.com/TargetSslProxy cloudasset.assets.exportComputeTargetSslProxies
compute.googleapis.com/TargetVpnGateway cloudasset.assets.exportComputeTargetVpnGateways
compute.googleapis.com/UrlMap cloudasset.assets.exportComputeUrlMaps
compute.googleapis.com/VpnTunnel cloudasset.assets.exportComputeVpnTunnels
Dataproc dataproc.googleapis.com/Cluster cloudasset.assets.exportDataprocClusters
dataproc.googleapis.com/Job cloudasset.assets.exportDataprocJobs
Google Kubernetes Engine container.googleapis.com/Cluster cloudasset.assets.exportContainerClusters
container.googleapis.com/NodePool cloudasset.assets.exportContainerNodepool
k8s.io/Namespace cloudasset.assets.exportContainerNamespace
k8s.io/Node cloudasset.assets.exportContainerNode
k8s.io/Pod cloudasset.assets.exportContainerPod
rbac.authorization.k8s.io/ClusterRole cloudasset.assets.exportContainerClusterrole
rbac.authorization.k8s.io/ClusterRoleBinding cloudasset.assets.exportContainerClusterrolebinding
rbac.authorization.k8s.io/Role cloudasset.assets.exportContainerRole
rbac.authorization.k8s.io/RoleBinding cloudasset.assets.exportContainerRolebinding
IAM iam.googleapis.com/Role cloudasset.assets.exportIamRoles
iam.googleapis.com/ServiceAccount cloudasset.assets.exportIamServiceAccounts
Pub/Sub pubsub.googleapis.com/Subscription cloudasset.assets.exportPubsubSubscriptions
pubsub.googleapis.com/Topic cloudasset.assets.exportPubsubTopics
Resource Manager cloudresourcemanager.googleapis.com/Folder cloudasset.assets.exportCloudresourcemanagerFolders
cloudresourcemanager.googleapis.com/Organization cloudasset.assets.exportCloudresourcemanagerOrganizations
cloudresourcemanager.googleapis.com/Project cloudasset.assets.exportCloudresourcemanagerProjects

VPC Service Controls

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

如需详细了解将 Cloud Asset Inventory 与 VPC Service Controls 结合使用的限制,请参阅支持的产品和限制