Cloud Asset Inventory uses Identity and Access Management (IAM) for access control. Every Cloud Asset Inventory API method requires the caller to have the necessary permissions.
Roles
To get the permissions that you need to work with asset metadata, ask your administrator to grant you the following IAM roles on the organization, folder, or project:
- To view asset metadata:
- Cloud Asset Viewer
(
roles/cloudasset.viewer
) - Service Usage Consumer
(
roles/serviceusage.serviceUsageConsumer
)
- Cloud Asset Viewer
(
- To view asset metadata and work with feeds:
- Cloud Asset Owner
(
roles/cloudasset.owner
) - Service Usage Consumer
(
roles/serviceusage.serviceUsageConsumer
)
- Cloud Asset Owner
(
For more information about granting roles, see Manage access to projects, folders, and organizations .
These predefined roles contain the permissions required to work with asset metadata. To see the exact permissions that are required, expand the Required permissionssection:
Required permissions
The following permissions are required to work with asset metadata:
- To view asset metadata:
-
cloudasset.assets.*
-
recommender.cloudAssetInsights.get
-
recommender.cloudAssetInsights.list
-
serviceusage.services.use
-
- To view asset metadata and work with feeds:
-
cloudasset.*
-
recommender.cloudAssetInsights.*
-
serviceusage.services.use
-
You might also be able to get these permissions with custom roles or other predefined roles .
Permissions
The following table lists the permissions that the caller must have to call each API method in Cloud Asset Inventory, or to perform tasks using Google Cloud tools that use Cloud Asset Inventory such as the Google Cloud console or gcloud CLI.
The Cloud Asset Viewer ( roles/cloudasset.viewer
) and Cloud Asset Owner
( roles/cloudasset.owner
) roles
include many of these
permissions. If the caller has been granted one of these roles and the
Service Usage Consumer ( roles/serviceusage.serviceUsageConsumer
) role, they
might already have the permissions they need to use Cloud Asset Inventory.
RPC
All Cloud Asset Inventory calls require the serviceusage.services.use
permission.
AnalyzeIamPolicy
AnalyzeIamPolicyLongRunning
BatchGetEffectiveIamPolicies
All of the following permissions:
-
cloudasset.
assets. analyzeIamPolicy -
cloudasset.
assets. searchAllIamPolicies -
cloudasset.
assets. searchAllResources
AnalyzeMove
cloudasset.
assets.
analyzeMove
AnalyzeOrgPolicies
AnalyzeOrgPolicyGovernedContainers
All of the following permissions:
-
cloudasset.
assets. analyzeOrgPolicy -
cloudasset.
assets. searchAllResources
AnalyzeOrgPolicyGovernedAssets
All of the following permissions:
-
cloudasset.
assets. analyzeOrgPolicy -
cloudasset.
assets. searchAllIamPolicies -
cloudasset.
assets. searchAllResources
BatchGetAssetsHistory
ExportAssets
One of the following permissions, depending on the content type :
-
cloudasset.
assets. exportAccessPolicy When using the
ACCESS_POLICY
content type. -
cloudasset.
assets. exportIamPolicy When using the
IAM_POLICY
content type. -
cloudasset.
assets. exportOrgPolicy When using the
ORG_POLICY
content type. -
cloudasset.
assets. exportOSInventories When using the
OS_INVENTORY
content type. -
cloudasset.
assets. exportResource When using the
RELATIONSHIP
orRESOURCE
content types.
When exporting metadata of an unspecified or RESOURCE
content type, instead
of granting the cloudasset.
permission to an account, you can use permissions for each resource type
.
ListAssets
One of the following permissions, depending on the content type :
-
cloudasset.
assets. listAccessPolicy -
cloudasset.
assets. listIamPolicy -
cloudasset.
assets. listOrgPolicy -
cloudasset.
assets. listOSInventories -
cloudasset.
for theassets. listResource RELATIONSHIP
andRESOURCE
content types.
QueryAssets
One of the following permissions, depending on the content type :
-
cloudasset.
assets. queryAccessPolicy -
cloudasset.
assets. queryIamPolicy -
cloudasset.
assets. queryOSInventories -
cloudasset.
for both theassets. queryResource RELATIONSHIP
andRESOURCE
content types.
CreateFeed
cloudasset.
You also need one of the following permissions, depending on the content type :
-
cloudasset.
assets. exportIamPolicy -
cloudasset.
assets. exportResource
DeleteFeed
cloudasset.
feeds.
delete
GetFeed
cloudasset.
feeds.
get
ListFeed
cloudasset.
feeds.
list
UpdateFeed
cloudasset.
You also need one of the following permissions, depending on the content type :
-
cloudasset.
assets. exportIamPolicy -
cloudasset.
assets. exportResource
SearchAllIamPolicies
cloudasset.
assets.
searchAllIamPolicies
SearchAllResources
cloudasset.
You also need cloudasset.
if
searching for resource owner enrichment.
REST
All Cloud Asset Inventory calls require the serviceusage.services.use
permission.
analyzeIamPolicy
analyzeIamPolicyLongRunning
effectiveIamPolicies.batchGet
All of the following permissions:
-
cloudasset.
assets. analyzeIamPolicy -
cloudasset.
assets. searchAllIamPolicies -
cloudasset.
assets. searchAllResources
analyzeMove
cloudasset.
assets.
analyzeMove
analyzeOrgPolicies
analyzeOrgPolicyGovernedContainers
All of the following permissions:
-
cloudasset.
assets. analyzeOrgPolicy -
cloudasset.
assets. searchAllResources
analyzeOrgPolicyGovernedAssets
All of the following permissions:
-
cloudasset.
assets. analyzeOrgPolicy -
cloudasset.
assets. searchAllIamPolicies -
cloudasset.
assets. searchAllResources
batchGetAssetsHistory
exportAssets
One of the following permissions, depending on the content type :
-
cloudasset.
assets. exportAccessPolicy When using the
ACCESS_POLICY
content type. -
cloudasset.
assets. exportIamPolicy When using the
IAM_POLICY
content type. -
cloudasset.
assets. exportOrgPolicy When using the
ORG_POLICY
content type. -
cloudasset.
assets. exportOSInventories When using the
OS_INVENTORY
content type. -
cloudasset.
assets. exportResource When using the
RELATIONSHIP
orRESOURCE
content types.
When exporting metadata of an unspecified or RESOURCE
content type, instead
of granting the cloudasset.
permission to an account, you can use permissions for each resource type
.
assets.list
One of the following permissions, depending on the content type :
-
cloudasset.
assets. listAccessPolicy -
cloudasset.
assets. listIamPolicy -
cloudasset.
assets. listOrgPolicy -
cloudasset.
assets. listOSInventories -
cloudasset.
for theassets. listResource RELATIONSHIP
andRESOURCE
content types.
queryAssets
One of the following permissions, depending on the content type :
-
cloudasset.
assets. queryAccessPolicy -
cloudasset.
assets. queryIamPolicy -
cloudasset.
assets. queryOSInventories -
cloudasset.
for both theassets. queryResource RELATIONSHIP
andRESOURCE
content types.
feeds.create
cloudasset.
You also need one of the following permissions, depending on the content type :
-
cloudasset.
assets. exportIamPolicy -
cloudasset.
assets. exportResource
feeds.delete
cloudasset.
feeds.
delete
feeds.get
cloudasset.
feeds.
get
feeds.list
cloudasset.
feeds.
list
feeds.patch
cloudasset.
You also need one of the following permissions, depending on the content type :
-
cloudasset.
assets. exportIamPolicy -
cloudasset.
assets. exportResource
searchAllIamPolicies
cloudasset.
assets.
searchAllIamPolicies
searchAllResources
cloudasset.
You also need cloudasset.
if
searching for resource owner enrichment.
gcloud
All Cloud Asset Inventory calls require the serviceusage.services.use
permission.
analyze-iam-policy
analyze-iam-policy-longrunning
get-effective-iam-policy
All of the following permissions:
-
cloudasset.
assets. analyzeIamPolicy -
cloudasset.
assets. searchAllIamPolicies -
cloudasset.
assets. searchAllResources
analyze-move
cloudasset.
assets.
analyzeMove
analyze-org-policies
analyze-org-policy-governed-containers
All of the following permissions:
-
cloudasset.
assets. analyzeOrgPolicy -
cloudasset.
assets. searchAllResources
analyze-org-policy-governed-assets
All of the following permissions:
-
cloudasset.
assets. analyzeOrgPolicy -
cloudasset.
assets. searchAllIamPolicies -
cloudasset.
assets. searchAllResources
get-history
export
One of the following permissions, depending on the content type :
-
cloudasset.
assets. exportAccessPolicy When using the
ACCESS_POLICY
content type. -
cloudasset.
assets. exportIamPolicy When using the
IAM_POLICY
content type. -
cloudasset.
assets. exportOrgPolicy When using the
ORG_POLICY
content type. -
cloudasset.
assets. exportOSInventories When using the
OS_INVENTORY
content type. -
cloudasset.
assets. exportResource When using the
RELATIONSHIP
orRESOURCE
content types.
When exporting metadata of an unspecified or RESOURCE
content type, instead
of granting the cloudasset.
permission to an account, you can use permissions for each resource type
.
list
One of the following permissions, depending on the content type :
-
cloudasset.
assets. listAccessPolicy -
cloudasset.
assets. listIamPolicy -
cloudasset.
assets. listOrgPolicy -
cloudasset.
assets. listOSInventories -
cloudasset.
for theassets. listResource RELATIONSHIP
andRESOURCE
content types.
query
One of the following permissions, depending on the content type :
-
cloudasset.
assets. queryAccessPolicy -
cloudasset.
assets. queryIamPolicy -
cloudasset.
assets. queryOSInventories -
cloudasset.
for both theassets. queryResource RELATIONSHIP
andRESOURCE
content types.
feeds create
cloudasset.
You also need one of the following permissions, depending on the content type :
-
cloudasset.
assets. exportIamPolicy -
cloudasset.
assets. exportResource
feeds delete
cloudasset.
feeds.
delete
feeds describe
cloudasset.
feeds.
get
feeds list
cloudasset.
feeds.
list
feeds update
cloudasset.
You also need one of the following permissions, depending on the content type :
-
cloudasset.
assets. exportIamPolicy -
cloudasset.
assets. exportResource
search-all-iam-policies
cloudasset.
assets.
searchAllIamPolicies
search-all-resources
cloudasset.
You also need cloudasset.
if
searching for resource owner enrichment.
Export permissions for each resource type
Granting the cloudasset.assets.exportResource
permission to a user allows them
to export all resource types. To restrict what resource types a user can export,
you can grant permissions for each resource type instead.
For example, granting a user cloudasset.assets.exportComputeDisks
means they
can't export anything except the resource type compute.googleapis.com/Disk
.
Resource export permissions only apply to RESOURCE
and unspecified content types
.
appengine.
googleapis.
com/
Application
cloudasset.
assets.
exportAppengineApplications
appengine.
googleapis.
com/
Service
cloudasset.
assets.
exportAppengineServices
appengine.
googleapis.
com/
Version
cloudasset.
assets.
exportAppengineVersions
bigquery.
googleapis.
com/
Dataset
cloudasset.
assets.
exportBigqueryDatasets
bigquery.
googleapis.
com/
Table
cloudasset.
assets.
exportBigqueryTables
bigtableadmin.
googleapis.
com/
Cluster
cloudasset.
assets.
exportBigtableCluster
bigtableadmin.
googleapis.
com/
Instance
cloudasset.
assets.
exportBigtableInstance
bigtableadmin.
googleapis.
com/
Table
cloudasset.
assets.
exportBigtableTable
cloudbilling.
googleapis.
com/
BillingAccount
cloudasset.
assets.
exportCloudbillingBillingAccounts
dns.
googleapis.
com/
ManagedZone
cloudasset.
assets.
exportDnsManagedZones
dns.
googleapis.
com/
Policy
cloudasset.
assets.
exportDnsPolicies
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
osconfig.
googleapis.
com/
PatchDeployment
cloudasset.
assets.
exportPatchDeployments
spanner.
googleapis.
com/
Backup
cloudasset.
assets.
exportSpannerBackups
spanner.
googleapis.
com/
Database
cloudasset.
assets.
exportSpannerDatabases
spanner.
googleapis.
com/
Instance
cloudasset.
assets.
exportSpannerInstances
sqladmin.
googleapis.
com/
Instance
cloudasset.
assets.
exportSqladminInstances
storage.
googleapis.
com/
Bucket
cloudasset.
assets.
exportStorageBuckets
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.
googleapis.
com/
Cluster
cloudasset.
assets.
exportDataprocClusters
dataproc.
googleapis.
com/
Job
cloudasset.
assets.
exportDataprocJobs
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.
googleapis.
com/
Role
cloudasset.
assets.
exportIamRoles
iam.
googleapis.
com/
ServiceAccount
cloudasset.
assets.
exportIamServiceAccounts
pubsub.
googleapis.
com/
Subscription
cloudasset.
assets.
exportPubsubSubscriptions
pubsub.
googleapis.
com/
Topic
cloudasset.
assets.
exportPubsubTopics
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 can be used with Cloud Asset Inventory to provide additional security for your assets. To learn more about VPC Service Controls, see the Overview of VPC Service Controls .
To learn about the limitations in using Cloud Asset Inventory with VPC Service Controls, see the supported products and limitations .