角色与权限

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

角色

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

  • 如需查看资产元数据,请执行以下操作: Cloud Asset Viewer (roles/cloudasset.viewer)
  • 如需查看资产元数据和使用 Feed,请使用以下角色:Cloud Asset Owner (roles/cloudasset.owner)

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

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

所需权限

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

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

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

权限

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

Cloud Asset Viewer (roles/cloudasset.viewer) 和 Cloud Asset Owner (roles/cloudasset.owner) 角色包含许多此类权限。如果调用方已被授予其中一个角色,则可能已经拥有使用 Cloud Asset Inventory 所需的权限。

RPC

方法 所需权限
分析 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

您还需要具备以下权限之一,具体取决于 <ph type="x-smartling-placeholder"></ph> 内容类型

  • 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

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

下列权限之一,具体取决于 <ph type="x-smartling-placeholder"></ph> 内容类型

  • 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

下列权限之一,具体取决于 <ph type="x-smartling-placeholder"></ph> 内容类型

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

queryAssets

下列权限之一,具体取决于 <ph type="x-smartling-placeholder"></ph> 内容类型

  • 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

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

下列权限之一,具体取决于 <ph type="x-smartling-placeholder"></ph> 内容类型

  • 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

您还需要具备以下权限之一,具体取决于 <ph type="x-smartling-placeholder"></ph> 内容类型

  • 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

您还需要具备以下权限之一,具体取决于 <ph type="x-smartling-placeholder"></ph> 内容类型

  • 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 结合使用的限制,请参阅支持的产品和限制