Nesta página, você vê como exportar metadados do recurso e conseguir o histórico de recursos usando comandos gcloud asset
do SDK do Cloud.
O SDK do Cloud fornece a ferramenta de linha de comando gcloud
para interagir com o Cloud Asset Inventory e outros serviços do Google Cloud Platform.
Antes de começar
- A ferramenta
gcloud
usa a API do Cloud Asset para acessar o Google Cloud Platform. Ative a API antes de usar a ferramentagcloud
para acessar o Cloud Asset Inventory. Observe que a API só precisa estar ativada no projeto do qual você executará os comandos da API do Cloud Asset.
Ativar a API do Cloud Asset Inventory - Instale o SDK do Cloud no cliente local.
Primeiros passos com a ferramenta de linha de comando gcloud
Para começar a usar a ferramenta gcloud
, veja a documentação do SDK do Cloud. Use a sinalização --help
para receber ajuda relacionada à ferramenta, recursos e comandos:
gcloud asset --help
A ajuda exibida com a sinalização --help
também está disponível na referência do SDK do Cloud do gcloud asset
.
Como configurar uma conta
Para chamar a API Cloud Asset, você precisa configurar uma conta de usuário ou de serviço.
Como configurar uma conta de usuário
Use o seguinte comando para fazer login com a conta de usuário.
gcloud auth login USER_ACCOUNT_EMAIL
Opcional. Se o projeto de destino em que você quer chamar a API Cloud Asset não for o mesmo que o ativado no Cloud Asset Inventory, especifique seu projeto com o comando a seguir.
gcloud config set billing/quota_project PROJECT_ID
Conceda à conta de usuário o papel do Cloud IAM
cloudasset.viewer
no projeto com os metadados que você quer exportar. Esse projeto pode ser o mesmo que o ativado pela API Cloud Asset.gcloud projects add-iam-policy-binding EXPORT_TARGET_PROJECT_ID \ --member user:USER_ACCOUNT_EMAIL \ --role roles/cloudasset.viewer
Como configurar uma conta de serviço
A conta de serviço precisa ser criada no projeto em que você está executando os comandos da API Cloud Asset.
Se você ainda não tiver uma conta de serviço, no projeto em que a API do Cloud Asset estiver ativada, crie uma nova conta de serviço com o comando a seguir.
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
Crie uma chave particular para a conta de serviço.
gcloud iam service-accounts keys create YOUR_FILE_PATH/key.json \ --iam-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ative sua conta de serviço para uso com a ferramenta
gcloud
com o comando a seguir.gcloud auth activate-service-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --key-file=YOUR_FILE_PATH/key.json
Conceda à sua nova conta de serviço o papel
cloudasset.viewer
do Cloud IAM em um projeto cujos metadados você quer exportar. Esse projeto pode ser o mesmo que o ativado pela API Cloud Asset.gcloud projects add-iam-policy-binding EXPORT_TARGET_PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/cloudasset.viewer
Como chamar o recurso gcloud
Veja a seguir alguns exemplos de chamadas da API Cloud Asset do gcloud
em projetos. As chamadas de API do Cloud Asset também funcionam em pastas e organizações.
ExportAssets
Exporte todos os metadados do recurso em um determinado carimbo de data/hora para um arquivo do Cloud Storage. O intervalo do Cloud Storage usado para armazenar metadados exportados precisa estar no projeto ativado pela API Cloud Asset em que você está executando a exportação. Também é possível usar esse método para exportar recursos de uma organização ou pasta.
No exemplo a seguir, são exportados os metadados do recurso em um projeto.
gcloud asset export \ --content-type resource \ --project PROJECT_ID \ --output-path "gs://YOUR_BUCKET/NEW_FILE"
PROJECT_ID é o código do projeto que está tendo os metadados exportados. Esse projeto pode ser o projeto ativado pela API do Cloud Asset do qual você está executando a exportação ou um projeto diferente.
GetOperation
Verifique o status de uma exportação.
O comando a seguir e OPERATION_NUMBER são exibidos na ferramenta gcloud
logo após a execução de um comando de exportação.
gcloud asset operations describe projects/PROJECT_ID/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER
BatchGetAssetsHistory
Receba o histórico de vários recursos para um determinado período. Isso mostra todos os eventos de criação, exclusão e atualização dos recursos especificados ao longo do tempo. É possível usar esse método para conseguir o histórico de recursos em um projeto ou organização.
No exemplo a seguir, você consegue o histórico de recursos em um projeto.
gcloud asset get-history --asset-names="//storage.googleapis.com/BUCKET_NAME","otherAssetNames" \ --content-type resource \ --start-time '2018-10-03T00:00:00Z' \ --project PROJECT_ID
O start-time
mais recente possível de um período é 2018-10-03T00:00:00Z
.