Guia de início rápido do Cloud Asset Inventory

Neste guia, você aprende a exportar um instantâneo e receber o histórico de recursos em um projeto usando uma instância de máquina virtual (VM, na sigla em inglês) do Compute Engine e a API Cloud Asset. Também é possível chamar essa API para exportar uma pasta ou organização ou para receber o histórico de recursos em uma organização.

Consulte a visão geral do Cloud Asset Inventory para mais informações.

Antes de começar

  1. Ative a API Cloud Asset no projeto.

  2. Crie uma nova conta de serviço se ainda não tiver uma no projeto.

  3. Conceda à conta de serviço o papel owner ou cloudasset.viewer no projeto para ativar a API Cloud Asset.

    Os papéis que abrangem uma dessas funções também concedem acesso. Para mais informações sobre papéis e permissões, consulte Noções básicas sobre papéis.

Como configurar a instância

  1. Crie um novo intervalo se o projeto não tiver um do Cloud Storage disponível para armazenar dados exportados.
  2. Acesse a página Criar uma instância e selecione sua conta de serviço para configurar uma nova instância de VM do Compute Engine.

    Acessar a página Criar instância

  3. Em Escopos de acesso, selecione Permitir acesso total a todas as APIs do Cloud:
  4. Inicie a instância clicando em Criar.

Como exportar um instantâneo de recurso

Para exportar todos os metadados do recurso do projeto usando a API Cloud Asset, siga o processo abaixo.

Para exportar metadados do recurso de uma organização, use o método REST https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets no comando curl.

Para exportar metadados do recurso de uma pasta, use o método REST https://cloudasset.googleapis.com/v1/folders/FOLDER_NUMBER:exportAssets.

  1. Acesse a página Instâncias de VMs.

    Acessar a página "Instâncias de VMs"

  2. Abra um cliente SSH Web conectado à instância clicando no botão SSH ao lado da listagem de instâncias.
  3. No cliente SSH Web, gere um token de autenticação para sua conta de serviço com a chamada a seguir.

    TOKEN=$(gcloud auth application-default print-access-token)
    
  4. Exporte todos os metadados do recurso do seu projeto usando o seguinte comando curl:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
         -d '{"contentType":"RESOURCE", "outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
            https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets
    

É possível exportar metadados de recursos em um nível mais granular usando os seguintes comandos:

Exportar políticas do Cloud IAM em um projeto

curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"contentType":"IAM_POLICY", "outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
        https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Exportar todos os nomes de recursos sem metadados em um projeto

curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
        https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Como visualizar um instantâneo de um recurso

Para ver os recursos exportados, acesse a página Navegador do Cloud Storage e abra o novo arquivo. A exportação lista recursos e os respectivos nomes.

Como verificar o status de uma exportação

A exportação de recursos é um processo demorado que, para a maioria dos projetos, pastas e organizações, leva segundos. Esse processo pode demorar mais para pastas grandes e organizações com muitos projetos e recursos. O número da operação de uma exportação é usado para verificar o status de uma solicitação de exportação.

Para verificar o status de uma exportação, faça o seguinte:

  1. Encontre o número da operação no campo name da resposta.

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER"
    
  2. Abra o cliente SSH Web para sua instância e insira o comando curl a seguir.

    curl -H "Authorization: Bearer $TOKEN" \
         -H "Content-Type: application/json" \
            https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER
    

Será retornada uma resposta semelhante a esta. O campo done é definido como true se o processo de exportação tiver sido concluído.

{
  "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsRequest",
    "parent": "projects/PROJECT_NUMBER",
    "outputConfig": {
      "gcsDestination": {
        "uri": "gs://YOUR_BUCKET/NEW_FILE"
      }
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsResponse",
    "readTime": [timestamp],
    "outputConfig": {
      "gcsDestination": {
        "uri": "gs://YOUR_BUCKET/NEW_FILE"
      }
    }
  }
}

Como encontrar o histórico de recursos

Para acessar o histórico de criação, exclusão e atualização de recursos especificados em um projeto em um determinado período usando a API Cloud Asset, siga o processo abaixo.

Para acessar o histórico de recursos em uma organização, use o método REST https://cloudasset.googleapis.com/v1/projects/ORGANIZATION_NUMBER:batchGetAssetsHistory no comando curl.

  1. Acesse a página Instâncias de VMs.

    Acessar a página "Instâncias de VMs"

  2. Abra um cliente SSH Web conectado à sua instância clicando no botão SSH ao lado da listagem de instâncias.
  3. No cliente SSH Web, gere um token de autenticação para a conta de serviço com a chamada a seguir.

    TOKEN=$(gcloud auth application-default print-access-token)
    
  4. Determine o nome completo do recurso para buscar o histórico. O exemplo a seguir usa //compute.googleapis.com/projects/PROJECT_ID/global/firewalls/default-firewall.

  5. Determine um horário de início e de término do período que estejam no formato RFC 3339 UTC. É necessária apenas a hora de início. Para mais informações, consulte TimeWindow.

  6. Encontre o histórico dos recursos especificados em um projeto, incluindo todos os metadados de recursos:

    curl -X POST -H "X-HTTP-Method-Override: GET" \
                 -H "Authorization: Bearer $TOKEN" \
                 -H "Content-Type: application/json" \
                 -d '{"contentType":"RESOURCE", \
                      "assetNames": \
                        "//compute.googleapis.com/projects/PROJECT_ID/global/firewalls/default-firewall", \
                      "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
                 https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

O histórico será retornado no seguinte formato:

{
  "assets": [
    {
      "window": {
        "startTime": 

É possível exportar o histórico de metadados de recursos em um nível mais granular usando os seguintes comandos:

Encontrar o histórico dos recursos especificados em um projeto, sem metadados de recursos:

curl -X POST -H "X-HTTP-Method-Override: GET" \
             -H "Authorization: Bearer $TOKEN" \
             -H "Content-Type: application/json" \
             -d '{"assetNames": \
                    "//compute.googleapis.com/projects/my_project_id/global/firewalls/default-firewall", \
                "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
             https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

Encontrar o histórico de todas as políticas do Cloud IAM dos recursos especificados em um projeto:

curl -X POST -H "X-HTTP-Method-Override: GET" \
             -H "Authorization: Bearer $TOKEN" \
             -H "Content-Type: application/json" \
             -d '{"contentType":"IAM_POLICY", \
                  "assetNames": \
                    "//compute.googleapis.com/projects/my_project_id/global/firewalls/default-firewall", \
                  "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
             https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Resource Manager