O Cloud Asset Inventory é um serviço de inventário de metadados global que lhe permite ver, pesquisar, exportar, monitorizar e analisar os seus Google Cloud metadados de recursos, com um histórico de criação, atualização e eliminação de até 35 dias. Os recursos que não foram alterados nos últimos 35 dias comunicam o respetivo estado mais recente.
Os metadados dos recursos podem ser provenientes dos seguintes locais:
Google Cloud recursos, como instâncias de VM do Compute Engine, contentores do Cloud Storage e instâncias do App Engine.
Políticas definidas em Google Cloud recursos, como políticas IAM, políticas da organização e políticas do Access Context Manager.
Informações de tempo de execução de OS Inventory Management.
Veja como pode trabalhar com os seus recursos:
Liste os seus recursos e as respetivas relações num projeto, numa pasta ou numa organização específicos e aceda ao histórico de recursos até 35 dias atrás.
Pesquise os seus recursos e as respetivas políticas de autorização do IAM através de uma linguagem de consulta personalizada ou consulte os seus recursos com o SQL do BigQuery.
Exporte os metadados dos seus recursos para o BigQuery ou o Cloud Storage.
Analise o que aconteceria se um recurso fosse movido para outro projeto.
Analise as suas políticas de IAM e da organização nos recursos e veja as suas políticas de IAM em vigor nos recursos para ver quem tem acesso a quê.
Monitorize os seus recursos para verificar se existem alterações configurando e subscrevendo um feed.
Gere estatísticas a partir dos seus recursos para ajudar a melhorar a sua postura de segurança.
Tipos de recursos, nomes de recursos e tipos de conteúdo
O Cloud Asset Inventory oferece vários métodos para interagir com os seus recursos. Consoante o método que usar e os detalhes da resposta que quer, pode ter de especificar os tipos de recursos, os nomes dos recursos e os tipos de conteúdo nos seus pedidos.
Tipos de recursos
Alguns métodos do Cloud Asset Inventory devolvem resultados com base nos tipos de recursos. Os tipos de recursos incluem informações de recursos, políticas, tempo de execução do inventário do SO e relações. Google Cloud Os tipos de recursos disponíveis e os métodos do Cloud Asset Inventory que os suportam estão detalhados em Tipos de recursos.
Nomes dos recursos
Alguns métodos do Cloud Asset Inventory devolvem resultados com base nos nomes dos recursos. Quando especificar um nome de recurso, tem de usar o nome do recurso completo. Consulte Nomes de recursos para ver uma lista completa dos nomes dos recursos.
Tipos de conteúdo
Pode pedir metadados adicionais num recurso especificando um tipo de conteúdo de metadados. Se não especificar um tipo de conteúdo, é devolvida apenas uma resposta básica com informações como o nome do recurso, a última vez que foi atualizado e a que projetos, pastas e organizações pertence.
Os nomes dos tipos de conteúdo diferem consoante a forma como interage com o Cloud Asset Inventory. Os nomes das APIs RPC e REST são iguais. No entanto, os nomes dos tipos de conteúdo da CLI gcloud seguem um padrão diferente. Para consistência e facilidade de explicação, o resto desta documentação refere-se aos tipos de conteúdo pelos respetivos nomes RPC e REST.
A tabela seguinte detalha os tipos de conteúdo e as respetivas descrições:
Tipo de conteúdo | Descrição | |
---|---|---|
Nome de RPC e REST | Nome da CLI gcloud | |
ACCESS_POLICY |
access-policy |
A política do Gestor de acesso sensível ao contexto definida num recurso. |
IAM_POLICY |
iam-policy |
A associação de metadados da Política IAM ao recurso. |
ORG_POLICY |
org-policy |
Os metadados da política de organização definidos num recurso. Este tipo de conteúdo
gera a política da organização v1 antiga. Para a política da organização v2, experimente
o tipo de conteúdo resource e um tipo de recurso de
orgpolicy.googleapis.com/Policy .
|
OS_INVENTORY |
os-inventory |
As informações de inventário do SO do tempo de execução. Para ativar o inventário do SO, conclua os passos relevantes em Configure o VM Manager. |
RELATIONSHIP |
relationship |
Requer acesso ao nível Premium ou Enterprise do Security Command Center, ou ao Gemini Cloud Assist. Muitos Google Cloud recursos estão ligados entre si por relações. Por exemplo, um grupo de instâncias de computação pode conter uma instância de computação ou um cluster do GKE pode conter um nó. Os dados de relação estão disponíveis a partir de 30 de maio de 2022. Uma relação pode ter a sua própria data/hora de atualização, porque pode ser inferida num momento diferente do das atualizações do recurso de origem. Consulte os Tipos de relações para ver uma lista das relações suportadas. |
RESOURCE |
resource |
Os metadados do recurso. |
Como as respostas mudam com o tipo de conteúdo
Os exemplos seguintes mostram como as respostas mudam quando lista instâncias de VMs num projeto através do Cloud Asset Inventory com diferentes tipos de conteúdo.
Nenhum tipo de conteúdo
Se não especificar nenhum tipo de conteúdo ao listar instâncias de VMs, recebe apenas os nomes das instâncias, a última vez que foram atualizadas e a que projetos, pastas e organizações pertencem.
Expanda para ver um exemplo de resposta
--- ancestors: - projects/PROJECT_NUMBER - folders/FOLDER_NUMBER - organizations/ORGANIZATION_ID assetType: compute.googleapis.com/Instance name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME updateTime: '2023-11-15T12:28:30.087825Z'
Tipo de conteúdo IAM_POLICY
Se especificar o tipo de conteúdo IAM_POLICY
, também recebe as associações da IAM na VM, se existirem.
Expanda para ver um exemplo de resposta
--- ancestors: - projects/PROJECT_NUMBER - folders/FOLDER_NUMBER - organizations/ORGANIZATION_ID assetType: compute.googleapis.com/Instance iamPolicy: bindings: - members: - user:USER_EMAIL_ADDRESS role: roles/compute.securityAdmin etag: ETAG name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME updateTime: '2023-12-19T23:35:42.673842Z'
Tipo de conteúdo RESOURCE
Se especificar o tipo de conteúdo RESOURCE
, também recebe todos os metadados associados à VM.
Expanda para ver um exemplo de resposta
--- ancestors: - projects/PROJECT_NUMBER - folders/FOLDER_NUMBER - organizations/ORGANIZATION_ID assetType: compute.googleapis.com/Instance name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME resource: data: allocationAffinity: consumeAllocationType: ANY_ALLOCATION canIpForward: false confidentialInstanceConfig: enableConfidentialCompute: true cpuPlatform: AMD Rome creationTimestamp: '2023-11-14T14:35:37.059-08:00' deletionProtection: false description: '' disks: - architecture: X86_64 autoDelete: true boot: true deviceName: INSTANCE_NAME diskSizeGb: '10' guestOsFeatures: - type: VIRTIO_SCSI_MULTIQUEUE - type: SEV_CAPABLE - type: SEV_SNP_CAPABLE - type: SEV_LIVE_MIGRATABLE - type: UEFI_COMPATIBLE - type: GVNIC index: 0 interface: NVME licenses: - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-2004-lts mode: READ_WRITE shieldedInstanceInitialState: dbx: - content: DATA fileType: BIN dbxs: - content: DATA fileType: BIN source: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME type: PERSISTENT displayDevice: enableDisplay: false fingerprint: FINGERPRINT id: 'ID' keyRevocationActionType: NONE_ON_KEY_REVOCATION labelFingerprint: LABEL_FINGERPRINT lastStartTimestamp: '2023-11-15T04:28:30.005-08:00' machineType: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n2d-standard-2 name: INSTANCE_NAME networkInterfaces: - accessConfigs: - name: External NAT natIP: 34.27.105.222 networkTier: PREMIUM type: ONE_TO_ONE_NAT fingerprint: jKU51FdTluk= name: nic0 network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default networkIP: 10.128.15.212 nicType: GVNIC stackType: IPV4_ONLY subnetwork: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/default reservationAffinity: consumeReservationType: ANY_ALLOCATION resourceStatus: {} scheduling: automaticRestart: true onHostMaintenance: TERMINATE preemptible: false provisioningModel: STANDARD selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME serviceAccounts: - email: PROJECT_NUMBER-compute@developer.gserviceaccount.com scopes: - https://www.googleapis.com/auth/devstorage.read_only - https://www.googleapis.com/auth/logging.write - https://www.googleapis.com/auth/monitoring.write - https://www.googleapis.com/auth/servicecontrol - https://www.googleapis.com/auth/service.management.readonly - https://www.googleapis.com/auth/trace.append shieldedInstanceConfig: enableIntegrityMonitoring: true enableSecureBoot: false enableVtpm: true shieldedInstanceIntegrityPolicy: updateAutoLearnPolicy: true startRestricted: false status: RUNNING tags: fingerprint: FINGERPRINT zone: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE discoveryDocumentUri: https://www.googleapis.com/discovery/v1/apis/compute/v1/rest discoveryName: Instance location: ZONE parent: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER version: v1 updateTime: '2023-11-15T12:28:30.087825Z'
Tipo de conteúdo RELATIONSHIP
As relações requerem acesso ao nível Premium ou Enterprise do Security Command Center ou ao Gemini Cloud Assist.
Se especificar o tipo de conteúdo RELATIONSHIP
, também recebe metadados associados aos recursos relacionados da instância de VM.
Expanda para ver um exemplo de resposta
--- ancestors: - projects/PROJECT_NUMBER - folders/FOLDER_NUMBER - organizations/ORGANIZATION_ID assetType: compute.googleapis.com/Instance name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME relatedAsset: ancestors: - projects/PROJECT_NUMBER - folders/FOLDER_NUMBER - organizations/ORGANIZATION_ID asset: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME assetType: compute.googleapis.com/Disk relationshipType: COMPUTE_INSTANCE_USE_DISK updateTime: '2023-12-19T23:35:42.673842Z'
Quando usar o tipo de conteúdo RELATIONSHIP
, em vez de pedir todas as relações, pode pedir tipos de relações específicos.
Atualidade dos dados
O Cloud Asset Inventory oferece consistência eventual nos dados atuais e consistência de melhor esforço nos dados do histórico. Embora seja raro, é possível que o Cloud Asset Inventory não detete algumas atualizações de dados.
Salvo indicação em contrário na tabela de tipos de recursos, quase todas as atualizações de recursos estão disponíveis em minutos.