Como visualizar relacionamentos de recursos

Neste tópico, você verá como visualizar os relacionamentos de recursos da organização, pasta ou projeto para a tabela bucket do Cloud Storage ou BigQuery.

Relacionamentos de recursos

Muitos recursos em nuvem estão conectados por relacionamentos. Por exemplo, uma instanceGroup contém uma Instance. Os relacionamentos são exibidos como recursos relacionados aos recursos de origem. Por exemplo, se você exportar relacionamentos INSTANCE_TO_INSTANCEGROUP para o tipo de recurso compute.googleapis.com/Instance, ele gerará os recursos Instance, com related_assets representando grupos de instâncias a que pertencem.

Antes de começar

Antes de começar, conclua as etapas a seguir.

  1. Ative a API Cloud Asset Inventory no projeto em que você executará os comandos da API.
    Ativar a API Cloud Asset Inventory

  2. Configure as permissões necessárias para chamar a API Cloud Asset Inventory usando a ferramenta gcloud ou a API.

  3. Conclua as etapas a seguir para configurar seu ambiente.

    gcloud

    Para configurar seu ambiente para usar a ferramenta gcloud para chamar a API Cloud Asset Inventory, instale o SDK do Cloud no cliente local.

    API

    Para configurar seu ambiente para chamar a API Cloud Asset Inventory com o comando curl do Unix, conclua as etapas a seguir.

    1. Instale o oauth2l na sua máquina local para interagir com o sistema do Google OAuth.
    2. Confirme se você tem acesso ao comando curl do Unix.
    3. Certifique-se de conceder à conta um dos papéis a seguir no projeto, na pasta ou na organização.

      • Papel Leitor de recursos do Cloud (roles/cloudasset.viewer)
      • Papel básico do proprietário (roles/owner)
  4. Você precisa da permissão cloudasset.assets.exportResource para visualizar os relacionamentos de recursos.

  5. Prepare o destino da exportação. Use um bucket do Cloud Storage ou uma tabela do BigQuery.

Como exportar um snapshot do relacionamento de recursos

Esses comandos podem armazenar o relacionamento exportado em um bucket do Cloud Storage em gs://<var>YOUR_BUCKET/NEW_FILE</var> ou em uma tabela do BigQuery de acordo com a configuração de saída nas solicitações. Os exemplos a seguir mostram como exportar relacionamentos em um projeto para um bucket do Cloud Storage. Para exportar os relacionamentos de uma organização ou pasta, substitua a sinalização --project por --organization ou --folder. Para exportar as relações para [BigQuery], especifique uma tabela [BigQuery] para --output-path.

Como exportar todos os relacionamentos compatíveis

Para exportar um snapshot de relacionamento de um recurso por um determinado carimbo de data/hora para todos os relacionamentos compatíveis, execute o seguinte comando.

gcloud

gcloud beta asset export \
   --content-type relationship \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

Como exportar relacionamentos especificados

Para exportar relacionamentos especificados em um projeto com tipos de recursos anexados, execute o comando a seguir.

gcloud

gcloud beta asset export \
 --content-type relationship \
 --project PROJECT_ID \
 --relationship-types INSTANCE_TO_INSTANCEGROUP \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "relationshipTypes": "INSTANCE_TO_INSTANCEGROUP", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

Como exportar todas as relações em tipos de recursos específicos

Para exportar todos os relacionamentos compatíveis em um projeto que tenha um tipo de recurso que comece com compute.googleapis.com, execute o seguinte comando.

gcloud

gcloud beta asset export \
 --content-type relationship \
 --project PROJECT_ID \
 --asset-types compute.googleapis.com.* \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "assetTypes": "compute.googleapis.com.*", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

Como exportar relacionamentos especificados com tipos de recursos especificados

Para exportar relacionamentos especificados em um projeto com tipo de recurso compute.googleapis.com/Instance, execute o comando a seguir.

gcloud

gcloud beta asset export \
 --content-type relationship \
 --project PROJECT_ID \
 --asset-types compute.googleapis.com/Instance
 --relationship-types INSTANCE_TO_INSTANCEGROUP \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RELATIONSHIP", "assetTypes": "compute.googleapis.com/Instance", "relationshipTypes": "INSTANCE_TO_INSTANCEGROUP", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1p7beta1/projects/PROJECT_NUMBER:exportAssets

Como verificar o status de uma exportação

Para verificar o status de uma exportação, execute os comandos a seguir.

gcloud

Para verificar o status da exportação, execute o comando a seguir. Ele é exibido na ferramenta gcloud depois de executar o comando de exportação.

gcloud asset operations describe OPERATION_ID

API

Para ver o status da exportação, execute o comando a seguir com o ID da operação retornado na resposta à exportação.

  1. Encontre o OPERATION_ID no campo name da resposta à exportação, que tem a seguinte formatação:

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID"
    
  2. Para verificar o status da exportação, execute o seguinte comando com OPERATION_ID:

    gcurl https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID
    

Como visualizar um snapshot do relacionamento

Se você exportou os resultados para um bucket do Cloud Storage, conclua estas etapas para visualizá-los.

Se você exportou os resultados para uma tabela do BigQuery, conclua estas etapas para visualizá-las.