Listar dependências de serviço

A ativação hierárquica de serviços permite gerenciar a ativação de serviços que é herdada pela Google Cloud hierarquia de recursos. Para mais informações, consulte a visão geral.

Muitos Google Cloud serviços precisam de outros para funcionar. Quando você ativa um serviço usando a ativação hierárquica, as dependências necessárias são adicionadas automaticamente à ConsumerPolicy. Um grupo de dependência 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 para projetos, pastas e organizações.

Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você é novo no Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. Instale a 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 CLI gcloud, execute o seguinte comando:

    gcloud init
  5. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

    • Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
    • Criar um projeto: para criar um projeto, é necessário ter o papel de criador de projetos (roles/resourcemanager.projectCreator), que contém a resourcemanager.projects.create permissão. Saiba como conceder papéis.
    • Criar um Google Cloud projeto:

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o Google Cloud projeto que você está criando.

    • Selecione o Google Cloud projeto que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do seu Google Cloud projeto.

  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. Verifique se o faturamento está ativado para o Google Cloud projeto.

  8. Ative a API Service Usage:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (roles/serviceusage.serviceUsageAdmin), que contém a serviceusage.services.enable permissão. Saiba como conceder papéis.

    gcloud services enable serviceusage.googleapis.com
  9. Instale a 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 CLI gcloud, execute o seguinte comando:

    gcloud init
  12. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

    • Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
    • Criar um projeto: para criar um projeto, é necessário ter o papel de criador de projetos (roles/resourcemanager.projectCreator), que contém a resourcemanager.projects.create permissão. Saiba como conceder papéis.
    • Criar um Google Cloud projeto:

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o Google Cloud projeto que você está criando.

    • Selecione o Google Cloud projeto que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do seu Google Cloud projeto.

  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. Verifique se o faturamento está ativado para o Google Cloud projeto.

  15. Ative a API Service Usage:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (roles/serviceusage.serviceUsageAdmin), que contém a serviceusage.services.enable permissão. Saiba como conceder papéis.

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

    É possível recuperar o ID do projeto atual:

    gcloud config list --format='text(core.project)'

Funções exigidas

Para receber as permissões necessárias para listar dependências de serviço, peça ao administrador que conceda a você o papel do IAM de Service Usage Viewer (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 que são necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

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

  • Listar membros do grupo de dependência: serviceusage.groups.listMembers
  • Listar membros expandidos do grupo de dependência: 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ência

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

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 os membros.
  • GROUP: o nome do grupo de dependência de serviço para o qual você quer listar os membros. O grupo principal com suporte é dependencies.
  • PROJECT_ID: o Google Cloud ID do projeto. 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 os membros.
  • GROUP: o nome do grupo de dependência de serviço para o qual você quer listar os membros. O grupo principal com suporte é dependencies.
  • FOLDER_ID: o ID da pasta Google 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 os membros.
  • GROUP: o nome do grupo de dependência de serviço para o qual você quer listar os membros. O grupo principal com suporte é dependencies.
  • ORGANIZATION_ID: o ID do recurso da organização Google Cloud .

É possível usar outras flags para filtrar e limitar os membros listados.

Listar membros expandidos do grupo de dependência

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

Esse comando retorna uma lista simples de todas as dependências, incluindo aquelas em 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 os membros.
  • GROUP: o nome do grupo de dependência de serviço para o qual você quer listar os membros. O grupo principal com suporte é dependencies.
  • PROJECT_ID: o Google Cloud ID do projeto. 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 os membros.
  • GROUP: o nome do grupo de dependência de serviço para o qual você quer listar os membros. O grupo principal com suporte é dependencies.
  • FOLDER_ID: o ID da pasta Google 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 os membros.
  • GROUP: o nome do grupo de dependência de serviço para o qual você quer listar os membros. O grupo principal com suporte é dependencies.
  • ORGANIZATION_ID: o ID do recurso da organização Google Cloud .

É possível usar outras flags para filtrar e limitar os membros listados.

Exemplos

Listar membros diretos do grupo de dependência

  • Listar 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ência de serviço correspondente:
    gcloud beta services groups list-members apikeys.googleapis.com dependencies --project=test-project

    Saída:

    Listed 0 items.

Listar membros expandidos do grupo de dependência

  • Listar 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