Papéis e permissões

O Inventário de recursos do Cloud usa o gerenciamento de identidade e acesso (IAM) para controle de acesso. Cada método da API do Cloud Asset Inventory exige que o autor da chamada tenha as permissões necessárias.

Papéis

Para receber as permissões necessárias para trabalhar com metadados de recursos, peça ao administrador para conceder a você os seguintes papéis do IAM na organização, pasta ou projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para trabalhar com metadados de recursos. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para trabalhar com metadados do recurso:

  • Para conferir os metadados do recurso:
    • cloudasset.assets.*
    • recommender.cloudAssetInsights.get
    • recommender.cloudAssetInsights.list
    • serviceusage.services.use
  • Para conferir os metadados de recursos e trabalhar com feeds:
    • cloudasset.*
    • recommender.cloudAssetInsights.*
    • serviceusage.services.use

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Permissões

A tabela a seguir lista as permissões que o autor da chamada precisa ter para chamar cada método de API no Inventário de recursos do Cloud ou para realizar tarefas usando as ferramentas do Google Cloud que usar o Inventário de recursos do Cloud, como o console do Google Cloud ou CLI gcloud.

Os papéis de leitor de recursos do Cloud (roles/cloudasset.viewer) e de proprietário de recursos do Cloud (roles/cloudasset.owner) incluem muitas dessas permissões. Se o autor da chamada tiver recebido um desses papéis e o Consumidor do Service Usage (roles/serviceusage.serviceUsageConsumer), eles já podem ter as permissões necessárias para usar o Inventário de recursos do Cloud.

RPC

Método Permissões necessárias
Todas as APIs
Todas as chamadas do Inventário de recursos do Cloud

Todas as chamadas do Cloud Asset Inventory exigem a permissão serviceusage.services.use.

APIs Analysis

AnalyzeIamPolicy

AnalyzeIamPolicyLongRunning

BatchGetEffectiveIamPolicies

Todas as permissões a seguir:

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

AnalyzeMove

cloudasset.assets.analyzeMove

AnalyzeOrgPolicies

AnalyzeOrgPolicyGovernedContainers

Todas as permissões a seguir:

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

AnalyzeOrgPolicyGovernedAssets

Todas as permissões a seguir:

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

BatchGetAssetsHistory

ExportAssets

Uma das permissões a seguir, dependendo do tipo de conteúdo:

  • cloudasset.assets.exportAccessPolicy

    Ao usar o tipo de conteúdo ACCESS_POLICY.

  • cloudasset.assets.exportIamPolicy

    Ao usar o tipo de conteúdo IAM_POLICY.

  • cloudasset.assets.exportOrgPolicy

    Ao usar o tipo de conteúdo ORG_POLICY.

  • cloudasset.assets.exportOSInventories

    Ao usar o tipo de conteúdo OS_INVENTORY.

  • cloudasset.assets.exportResource

    Ao usar os tipos de conteúdo RELATIONSHIP ou RESOURCE.

Ao exportar metadados de um tipo de conteúdo RESOURCE ou não especificado, em vez de conceder os cloudasset.assets.exportResource permissão a uma conta, poderá usar para cada tipo de recurso.

ListAssets

Uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.listAccessPolicy
  • cloudasset.assets.listIamPolicy
  • cloudasset.assets.listOrgPolicy
  • cloudasset.assets.listOSInventories
  • cloudasset.assets.listResource para os tipos de conteúdo RELATIONSHIP e RESOURCE.

QueryAssets

Uma das permissões a seguir, dependendo do tipo de conteúdo:

  • cloudasset.assets.queryAccessPolicy
  • cloudasset.assets.queryIamPolicy
  • cloudasset.assets.queryOSInventories
  • cloudasset.assets.queryResource para o Tipos de conteúdo RELATIONSHIP e RESOURCE.
APIs de feed

CreateFeed

cloudasset.feeds.create

Você também precisa de uma das seguintes permissões, dependendo do tipo de conteúdo:

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

DeleteFeed

cloudasset.feeds.delete

GetFeed

cloudasset.feeds.get

ListFeed

cloudasset.feeds.list

UpdateFeed

cloudasset.feeds.update

Você também precisa de uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource
APIs da Pesquisa Google

SearchAllIamPolicies

cloudasset.assets.searchAllIamPolicies

SearchAllResources

cloudasset.assets.searchAllResources

Você também precisa de cloudasset.assets.searchEnrichmentResourceOwners se estiver procurando o enriquecimento do proprietário do recurso.

REST

Método Permissões necessárias
Todas as APIs
Todas as chamadas do Inventário de recursos do Cloud

Todas as chamadas do Cloud Asset Inventory exigem a permissão serviceusage.services.use.

APIs Analysis

analyzeIamPolicy

analyzeIamPolicyLongRunning

effectiveIamPolicies.batchGet

Todas as permissões a seguir:

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

analyzeMove

cloudasset.assets.analyzeMove

analyzeOrgPolicies

analyzeOrgPolicyGovernedContainers

Todas as permissões a seguir:

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

analyzeOrgPolicyGovernedAssets

Todas as permissões a seguir:

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

batchGetAssetsHistory

exportAssets

Uma das permissões a seguir, dependendo do tipo de conteúdo:

  • cloudasset.assets.exportAccessPolicy

    Ao usar o tipo de conteúdo ACCESS_POLICY.

  • cloudasset.assets.exportIamPolicy

    Ao usar o tipo de conteúdo IAM_POLICY.

  • cloudasset.assets.exportOrgPolicy

    Ao usar o tipo de conteúdo ORG_POLICY.

  • cloudasset.assets.exportOSInventories

    Ao usar o tipo de conteúdo OS_INVENTORY.

  • cloudasset.assets.exportResource

    Ao usar os tipos de conteúdo RELATIONSHIP ou RESOURCE.

Ao exportar metadados de um tipo de conteúdo RESOURCE ou não especificado, em vez de conceder os cloudasset.assets.exportResource permissão a uma conta, poderá usar para cada tipo de recurso.

assets.list

Uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.listAccessPolicy
  • cloudasset.assets.listIamPolicy
  • cloudasset.assets.listOrgPolicy
  • cloudasset.assets.listOSInventories
  • cloudasset.assets.listResource para os tipos de conteúdo RELATIONSHIP e RESOURCE.

queryAssets

Uma das permissões a seguir, dependendo do tipo de conteúdo:

  • cloudasset.assets.queryAccessPolicy
  • cloudasset.assets.queryIamPolicy
  • cloudasset.assets.queryOSInventories
  • cloudasset.assets.queryResource para os tipos de conteúdo RELATIONSHIP e RESOURCE.
APIs de feed

feeds.create

cloudasset.feeds.create

Você também precisa de uma das seguintes permissões, dependendo do tipo de conteúdo:

  • 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

Você também precisa de uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource
APIs da Pesquisa Google

searchAllIamPolicies

cloudasset.assets.searchAllIamPolicies

searchAllResources

cloudasset.assets.searchAllResources

Você também precisa cloudasset.assets.searchEnrichmentResourceOwners se buscando aprimoramento do proprietário do recurso.

gcloud

Declaração posicional Permissões necessárias
Todas as APIs
Todas as chamadas do Inventário de recursos do Cloud

Todas as chamadas do Cloud Asset Inventory exigem a permissão serviceusage.services.use.

APIs Analysis

analyze-iam-policy

analyze-iam-policy-longrunning

get-effective-iam-policy

Todas as permissões a seguir:

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

analyze-move

cloudasset.assets.analyzeMove

analyze-org-policies

analyze-org-policy-governed-containers

Todas as permissões a seguir:

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

analyze-org-policy-governed-assets

Todas as permissões a seguir:

  • cloudasset.assets.analyzeOrgPolicy
  • cloudasset.assets.searchAllIamPolicies
  • cloudasset.assets.searchAllResources
APIs de inventário

get-history

export

Uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.exportAccessPolicy

    Ao usar o tipo de conteúdo ACCESS_POLICY.

  • cloudasset.assets.exportIamPolicy

    Ao usar o tipo de conteúdo IAM_POLICY.

  • cloudasset.assets.exportOrgPolicy

    Ao usar o tipo de conteúdo ORG_POLICY.

  • cloudasset.assets.exportOSInventories

    Ao usar o tipo de conteúdo OS_INVENTORY.

  • cloudasset.assets.exportResource

    Ao usar os tipos de conteúdo RELATIONSHIP ou RESOURCE.

Ao exportar metadados de um tipo de conteúdo não especificado ou RESOURCE, em vez de conceder a permissão cloudasset.assets.exportResource a uma conta, você pode usar permissões para cada tipo de recurso.

list

Uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.listAccessPolicy
  • cloudasset.assets.listIamPolicy
  • cloudasset.assets.listOrgPolicy
  • cloudasset.assets.listOSInventories
  • cloudasset.assets.listResource para o Tipos de conteúdo RELATIONSHIP e RESOURCE.

query

Uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.queryAccessPolicy
  • cloudasset.assets.queryIamPolicy
  • cloudasset.assets.queryOSInventories
  • cloudasset.assets.queryResource para o Tipos de conteúdo RELATIONSHIP e RESOURCE.
APIs de feed

feeds create

cloudasset.feeds.create

Você também precisa de uma das seguintes permissões, dependendo do tipo de conteúdo:

  • 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

Você também precisa de uma das seguintes permissões, dependendo do tipo de conteúdo:

  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportResource
APIs da Pesquisa Google

search-all-iam-policies

cloudasset.assets.searchAllIamPolicies

search-all-resources

cloudasset.assets.searchAllResources

Você também precisa de cloudasset.assets.searchEnrichmentResourceOwners se estiver procurando o enriquecimento do proprietário do recurso.

Permissões de exportação para cada tipo de recurso

Conceder a permissão cloudasset.assets.exportResource a um usuário para exportar todos os tipos de recursos. Para restringir os tipos de recursos que um usuário pode exportar, é possível conceder permissões para cada tipo de recurso.

Por exemplo, conceder a um usuário cloudasset.assets.exportComputeDisks significa que ele não pode exportar nada, exceto o tipo de recurso compute.googleapis.com/Disk.

As permissões de exportação de recursos só se aplicam a RESOURCE e não especificadas tipos de conteúdo.

Serviço Tipo de recurso Permissão de exportação de recursos
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

O VPC Service Controls pode ser usado com o Inventário de recursos do Cloud para aumentar a segurança dos recursos. Para saber mais sobre o VPC Service Controls, consulte a Visão geral do VPC Service Controls.

Para saber mais sobre as limitações do uso do Inventário de recursos do Cloud com o VPC Service Controls, consulte os produtos e limitações com suporte.