角色和權限

Cloud Asset Inventory 會使用 Identity and Access Management (IAM) 來進行存取權控制。呼叫者必須擁有所需權限,才能存取個別 Cloud Asset Inventory API 方法。

角色

如要取得處理資產中繼資料所需的權限,請要求管理員在機構、資料夾或專案中授予下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義角色具備處理資產中繼資料所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要使用資產中繼資料,必須具備下列權限:

  • 如要查看資產中繼資料,請按照下列步驟操作:
    • cloudasset.assets.*
    • recommender.cloudAssetInsights.get
    • recommender.cloudAssetInsights.list
    • serviceusage.services.use
  • 如要查看資產中繼資料及使用動態饋給:
    • cloudasset.*
    • recommender.cloudAssetInsights.*
    • serviceusage.services.use

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

權限

下表列出呼叫者在 Cloud Asset Inventory 中呼叫每個 API 方法時必須具備的權限,或是透過使用 Cloud Asset Inventory 的工具 (例如 Google Cloud 主控台或 gcloud CLI) 執行工作所需的權限。 Google Cloud

Cloud Asset 檢視者 (roles/cloudasset.viewer) 和 Cloud Asset 擁有者 (roles/cloudasset.owner) 角色包含許多這類權限。如果呼叫端已獲授權其中一個角色和「服務使用情形消費者」(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 為每個資源類型設定權限,不必授予帳戶 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 RESOURCE 內容類型。RELATIONSHIP
動態饋給 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 為每個資源類型設定權限,不必授予帳戶 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 RESOURCE 內容類型。RELATIONSHIP
動態饋給 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 為每個資源類型設定權限,而不必授予帳戶 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 RESOURCE 內容類型。RELATIONSHIP
動態饋給 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 的限制,請參閱支援的產品和限制一文。