Listar dependências de serviço

Com a ativação hierárquica de serviços, é possível gerenciar a ativação de serviços que são herdados pela hierarquia de recursos Google Cloud . Para mais informações, consulte a visão geral.

Muitos serviços do Google Cloud precisam de outros serviços para funcionar. Quando você ativa um serviço usando a ativação hierárquica, as dependências necessárias são adicionadas automaticamente ao ConsumerPolicy. Um grupo de dependências de serviço contém esses serviços confiáveis, que podem ser listados para melhor compreensão e gerenciamento.

Este documento mostra como usar a Google Cloud CLI para listar dependências de serviço de projetos, pastas e organizações.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

  4. Para inicializar a gcloud CLI, execute o seguinte comando:

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Service Usage API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable serviceusage.googleapis.com
  9. Install the Google Cloud CLI.

  10. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

  11. Para inicializar a gcloud CLI, execute o seguinte comando:

    gcloud init
  12. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  13. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

  14. Verify that billing is enabled for your Google Cloud project.

  15. Enable the Service Usage API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable serviceusage.googleapis.com
  16. Se você não indicar o recurso Google Cloud que quer gerenciar, os comandos neste documento vão usar o projeto atual por padrão. Por exemplo, gcloud beta services groups list-members bigquery.googleapis.com dependencies lista os membros do projeto atual.

    Para recuperar o ID do projeto atual:

    gcloud config list --format='text(core.project)'
  17. Funções exigidas

    Para receber as permissões necessárias para listar dependências de serviço, peça ao administrador para conceder a você o papel do IAM de Leitor do Service Usage (roles/serviceusage.serviceUsageViewer) no recurso de destino. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Esse papel predefinido contém as permissões necessárias para listar dependências de serviço. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

    Permissões necessárias

    As seguintes permissões são necessárias para listar dependências de serviço:

    • Listar membros do grupo de dependências: serviceusage.groups.listMembers
    • Listar membros do grupo de dependência expandido: serviceusage.groups.listExpandedMembers

    Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

    Listar membros do grupo de dependências

    É possível listar os membros diretos de um grupo de dependência de serviço para um projeto, pasta ou organização usando o comando gcloud beta services groups list-members.

    Projeto

    gcloud beta services groups list-members  SERVICE GROUP \
        --project=PROJECT_ID
    

    Substitua:

    • SERVICE: o nome do serviço para o qual você quer listar membros.
    • GROUP: o nome do grupo de dependências de serviço para o qual você quer listar membros. O principal grupo compatível é dependencies.
    • PROJECT_ID: o ID do projetoGoogle Cloud . Ou omita a flag para usar o projeto atual como padrão.

    Pasta

    gcloud beta services groups list-members  SERVICE  GROUP \
        --folder=FOLDER_ID
    

    Substitua:

    • SERVICE: o nome do serviço para o qual você quer listar membros.
    • GROUP: o nome do grupo de dependências de serviço para o qual você quer listar membros. O principal grupo compatível é dependencies.
    • FOLDER_ID: o ID da pastaGoogle Cloud .

    Organização

    gcloud beta services groups list-members  SERVICE  GROUP \
        --organization=ORGANIZATION_ID
    

    Substitua:

    • SERVICE: o nome do serviço para o qual você quer listar membros.
    • GROUP: o nome do grupo de dependências de serviço para o qual você quer listar membros. O principal grupo compatível é dependencies.
    • ORGANIZATION_ID: o ID do recurso da organizaçãoGoogle Cloud .

    Você pode usar outras flags para filtrar e limitar os membros listados.

    Listar participantes do grupo de dependências expandido

    É possível listar os membros expandidos de um grupo de dependência de serviço para um projeto, pasta ou organização usando o comando gcloud beta services groups list-expanded-members.

    Esse comando retorna uma lista simplificada de todas as dependências, incluindo as de grupos aninhados, para fornecer uma lista completa e combinada de todas as dependências de serviço.

    Projeto

    gcloud beta services groups list-expanded-members SERVICE GROUP \
        --project=PROJECT_ID
    

    Substitua:

    • SERVICE: o nome do serviço para o qual você quer listar membros.
    • GROUP: o nome do grupo de dependências de serviço para o qual você quer listar membros. O principal grupo compatível é dependencies.
    • PROJECT_ID: o ID do projetoGoogle Cloud . Ou omita a flag para usar o projeto atual como padrão.

    Pasta

    gcloud beta services groups list-expanded-members SERVICE  GROUP \
        --folder=FOLDER_ID
    

    Substitua:

    • SERVICE: o nome do serviço para o qual você quer listar membros.
    • GROUP: o nome do grupo de dependências de serviço cujos membros você quer listar. O principal grupo compatível é dependencies.
    • FOLDER_ID: o ID da pastaGoogle Cloud .

    Organização

    gcloud beta services groups list-expanded-members SERVICE  GROUP \
        --organization=ORGANIZATION_ID
    

    Substitua:

    • SERVICE: o nome do serviço para o qual você quer listar membros.
    • GROUP: o nome do grupo de dependências de serviço para o qual você quer listar membros. O principal grupo compatível é dependencies.
    • ORGANIZATION_ID: o ID do recurso da organizaçãoGoogle Cloud .

    Você pode usar outras flags para filtrar e limitar os membros listados.

    Exemplos

    Como listar membros diretos do grupo de dependências

    • Listando as dependências diretas do serviço do BigQuery para o projeto atual:
      gcloud beta services groups list-members bigquery.googleapis.com dependencies

      Saída:

      NAME: services/analyticshub.googleapis.com
      REASON: BigQuery depends on this group to allow users to exchange data and analytics assets.
      
      NAME: services/bigquery.googleapis.com
      REASON: The service representing BigQuery which owns this dependency group and depends on the other members of this group.
      
      NAME: services/bigqueryconnection.googleapis.com
      REASON: BigQuery depends on this group to allow users to manage connections to external data sources.
      
      NAME: services/bigquerydatapolicy.googleapis.com
      REASON: BigQuery depends on this group to allow users to manage their data policies.
      
      ...
    • Tentativa de listar dependências do serviço de chaves de API sem um grupo de dependências de serviço correspondente:
      gcloud beta services groups list-members apikeys.googleapis.com dependencies --project=test-project

      Saída:

      Listed 0 items.

    Como listar membros do grupo de dependências expandido

    • Listando as dependências expandidas do serviço do BigQuery para o projeto atual:
      gcloud beta services groups list-expanded-members bigquery.googleapis.com dependencies

      Saída:

      services/analyticshub.googleapis.com
      services/bigquery.googleapis.com
      services/bigqueryconnection.googleapis.com
      services/bigquerydatapolicy.googleapis.com
      services/bigquerydatatransfer.googleapis.com
      services/bigquerymigration.googleapis.com
      services/bigqueryreservation.googleapis.com
      services/bigquerystorage.googleapis.com
      services/cloudresourcemanager.googleapis.com
      services/dataform.googleapis.com
      services/dataplex.googleapis.com

    A seguir