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
- 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 - Instale o SDK do Cloud no cliente local.
api
- Instale o oauth2l na sua máquina local para acessar o sistema do Google OAuth.
- Confirme se você tem acesso ao comando
curl
do Unix. 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
)
- Leitor de recursos do Cloud (
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.
- Verifique se é possível chamar a API Cloud Asset concluindo a configuração em Configurar uma conta.
- 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.
- 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
. - 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
.
- Verifique se é possível chamar a API Cloud Asset concluindo a configuração em Configurar uma conta.
- 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
. - 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. - 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