Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como ver o histórico de recursos

Nesta página, explicamos como visualizar o histórico de recursos. A API Cloud Asset permite que você visualize o histórico de alterações de eventos de vários recursos durante um determinado período nas últimas cinco semanas. O histórico de alterações de eventos mostra todos os eventos de criação, exclusão e atualização dos recursos especificados ao longo do tempo.

Antes de começar

gcloud

  1. Ative a API Cloud Asset antes de usar a ferramenta gcloud para acessar o Inventário de recursos do Cloud. Observe que a API só precisa estar ativada no projeto do qual você executará os comandos da API do Cloud Asset.
    Ativar a API Cloud Asset Inventory
  2. Instale o SDK do Cloud no cliente local.

api

  1. Instale o oauth2l na sua máquina local para acessar o sistema do Google OAuth.
  2. Confirme se você tem acesso ao comando curl do Unix.
  3. Verifique se a conta recebeu um dos seguintes papéis no projeto, pasta ou organização:

    • Leitor de recursos do Cloud (roles/cloudasset.viewer)
    • Papel básico do proprietário (roles/owner)

Configurar uma conta

Dependendo do parâmetro contentType da solicitação de API, para poder chamar a API Cloud Asset, sua conta precisa receber um papel que contenha as seguintes permissões no recurso raiz/pai (projeto ou organização) que contém os recursos para os quais você quer receber o histórico:

  • cloudasset.assets.exportResource
  • cloudasset.assets.exportIamPolicy
  • cloudasset.assets.exportOrgPolicy
  • cloudasset.assets.exportAccessPolicy

Se sua conta tiver recebido o papel de Visualizador do Cloud Asset (roles/cloudasset.viewer ), o papel de Proprietário do Cloud Asset (roles/cloudasset.owner ) ou o papel básico de Proprietário (roles/owner ) na raiz do recurso, ela já terá permissões suficientes para chamar a API Cloud Asset. Caso contrário, siga as etapas na página Como configurar permissões.

Como receber 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.

gcloud

Para começar a usar a ferramenta gcloud, consulte a Documentação do SDK do Cloud. Você pode receber ajuda com a ferramenta, ver os recursos e os comandos usando a sinalização --help:

gcloud asset --help

O texto de ajuda exibido com a sinalização --help também está disponível na referência do SDK do Cloud para gcloud asset.

O gcloud asset get-history mostrado nesta seção mostra o histórico de um projeto. Para receber o histórico de uma organização, use a sinalização --organization=ORGANIZATION_ID no seu comando.

No exemplo a seguir, você consegue o histórico de recursos em um projeto.

A start-time precisa ser posterior à atual, menos de 35 dias.

  1. Verifique se é possível chamar a API Cloud Asset concluindo a configuração em Configurar uma conta.
  2. Determine o nome completo do recurso para buscar o histórico. Veja uma lista de nomes formatados da API Cloud Asset aqui. Esta é a variável asset-names nos exemplos a seguir.
  3. Determine os horários de início e de término do seu período de tempo que esteja no formato RFC 3339 UTC. É necessária apenas a hora de início. Veja mais informações em TimeWindow.
  4. Determine em qual nível você quer ter o histórico dos recursos. Os comandos de exemplo a seguir demonstram como acessar o histórico de vários tipos de recursos.

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

YESTERDAY=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ" -d "yesterday")
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ")
gcloud asset get-history --project='PROJECT_ID' \
  --asset-names='//compute.googleapis.com/projects/test-project/zo\
nes/us-central1-f/instances/instance1' \
  --start-time=$YESTERDAY \
  --end-time=$NOW --content-type='resource'

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

YESTERDAY=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ" -d "yesterday")
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ")
gcloud asset get-history --project='PROJECT_ID' \
  --asset-names='//cloudresourcemanager.googleapis.com/projects/10\
179387634' --start-time=$YESTERDAY \
  --end-time=$NOW \
  --content-type='iam-policy'
 

api

Os comandos mostrados nesta seção recebem o histórico de um projeto. Para receber o histórico de uma organização, use o método REST https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:batchGetAssetsHistory no comando gcurl.

  1. Verifique se é possível chamar a API Cloud Asset concluindo a configuração em Configurar uma conta.
  2. Determine o nome completo do recurso para buscar o histórico. Veja uma lista de nomes formatados da API Cloud Asset aqui. O exemplo a seguir usa //compute.googleapis.com/projects/my_project_id/global/firewalls/default-firewall.
  3. Determine os horários de início e de término do seu período de tempo que esteja no formato RFC 3339 UTC. É necessária apenas a hora de início. Consulte TimeWindow para mais informações.
  4. Determine em qual nível você quer ter o histórico dos recursos. Os comandos de exemplo a seguir demonstram como acessar o histórico de vários tipos de recursos.

Definir TOKEN Var

Para conseguir o token de acesso, execute o seguinte comando com o arquivo ~/credentials.json.

oauth2l header --json ~/credentials.json cloud-platform

Você verá uma saída semelhante à seguinte, com y29.xxxxxx como token de acesso:

Authorization: Bearer y29.xxxxxxx

Defina a variável TOKEN como o token de acesso:

TOKEN=y29.xxxxxxx

Encontrar o histórico dos recursos especificados em um projeto, incluindo todos os metadados de recursos

YESTERDAY=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ" -d "yesterday")
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/my_project_id/global/firewalls/default-firewall", \
          "readTimeWindow": {"startTime": "'$YESTERDAY'"}}' \
     https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

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

YESTERDAY=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ" -d "yesterday")
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": "'$YESTERDAY'"}}' \
     https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

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

YESTERDAY=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ" -d "yesterday")
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": "'$YESTERDAY'"}}' \
     https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory