Esta página explica como usar o Cloud Monitoring para visualizar métricas de uso das suas contas de serviço e chaves da conta de serviço. Essas métricas permitem visualizar e rastrear padrões de uso, o que pode ajudar você a identificar anomalias de forma automática ou manual.
As contas de serviço e as chaves de conta de serviço aparecerão nessas métricas se forem usadas para chamar qualquer API do Google, incluindo APIs que não fazem parte do Google Cloud. As métricas incluem chamadas de API bem-sucedidas e com falha. Por exemplo, se uma chamada de API falhar porque o autor da chamada não está autorizado a chamar essa API ou porque a solicitação faz referência a um recurso inexistente, a conta de serviço ou chave usada para essa chamada de API aparecerá nas métricas.
As chaves da conta de serviço também aparecerão nessas métricas se um sistema listar as chaves ao tentar autenticar uma solicitação, mesmo que ele não a use para autenticar a solicitação. Esse comportamento é mais comum ao usar URLs assinados para o Cloud Storage ou ao autenticar aplicativos de terceiros. Como resultado, é possível ver métricas de uso para chaves que não foram usadas para autenticação.
O Monitoring retém as métricas da conta de serviço por seis semanas. Se você precisar acessar os dados por um período maior, poderá exportar periodicamente os resultados para o BigQuery. Para saber mais, consulte Como monitorar a exportação de métricas na documentação do Solutions.
As métricas de uso geralmente ficam disponíveis em alguns minutos depois que você usa uma conta de serviço ou uma chave de conta de serviço.
Antes de começar
-
Enable the IAM and Cloud Monitoring APIs.
Funções exigidas
Para receber as permissões necessárias para visualizar o uso recente de contas de serviço e chaves,
peça ao administrador que conceda a você o
papel de IAM de Leitor do Monitoring (roles/monitoring.viewer
) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Ver métricas de uso de todas as contas de serviço ou chaves
Para visualizar as métricas de uso das suas contas de serviço ou chaves da contas de serviço, siga as seguintes etapas:
Console
Para visualizar as métricas de um recurso monitorado usando o Metrics Explorer, faça o seguinte:
-
No console do Google Cloud, acesse a página do leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.
- No elemento Metric, expanda o menu Selecionar uma métrica,
digite
IAM Service Account
na barra de filtro e use os submenus para selecionar um tipo de recurso e métrica específicos:- No menu Recursos ativos, selecione Conta de serviço do IAM.
- No menu Categorias de métrica ativa, selecione Service_account.
- No menu Métricas ativas, selecione uma métrica de conta de serviço.
As métricas a seguir estão disponíveis no intervalo de tempo selecionado:
- Para métricas de uso da conta de serviço, selecione Eventos de autenticação da conta de serviço.
- Para métricas de uso de chaves de contas de serviço, selecione Eventos de autenticação de chaves de contas de serviço.
- Clique em Aplicar.
Para remover séries temporais da exibição, use o elemento Filtro.
Para combinar séries temporais, use os menus no elemento Agregação. Por exemplo, para exibir a utilização da CPU para suas VMs, com base na zona, defina o primeiro menu como Média e o segundo como zona.
Todas as séries temporais são exibidas quando o primeiro menu do elemento Agregação está definido como Não agregado. As configurações padrão do elemento Agregação são determinadas pelo tipo de métrica selecionada.
- Para cotas e outras métricas que informam uma amostra por dia, faça as seguintes ações:
- No painel Exibição, defina o Tipo de widget como Gráfico de barras empilhadas.
- Defina o período como pelo menos uma semana.
REST
O método timeSeries.list
da API Cloud Monitoring permite que você acesse as métricas de uso de maneira programática.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud. Os IDs do projeto são strings alfanuméricas, comomy-project
.-
METRIC_TYPE
: o tipo de métrica que você quer verificar. Use um dos seguintes valores:- Para as métricas de uso da conta de serviço, use
iam.googleapis.com%2Fservice_account%2Fauthn_events_count
. - Para as métricas de uso de chave da conta de serviço, use
iam.googleapis.com%2Fservice_account%2Fkey%2Fauthn_events_count
.
- Para as métricas de uso da conta de serviço, use
END_TIME
: o fim do intervalo de tempo que você quer verificar, no formato RFC 3339 codificado por porcentagem. Por exemplo,2020-06-12T00%3A00%3A00.00Z
.START_TIME
: o início do intervalo de tempo que você quer verificar, no formato RFC 3339 codificado por porcentagem. Por exemplo,2020-04-12T00%3A00%3A00.00Z
.
Método HTTP e URL:
GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%3D%22METRIC_TYPE%22&interval.endTime=END_TIME&interval.startTime=START_TIME
Para enviar a solicitação, expanda uma destas opções:
Para mais informações sobre como ler programaticamente as métricas de uso, consulte Como ler dados de métrica na documentação do Monitoring.
Visualizar métricas de uso de uma única conta de serviço
Para visualizar as métricas de uso de uma única conta de serviço, siga estas etapas:
Console
No Console do Google Cloud, acesse a página Contas de serviço.
Selecione o projeto que contém a conta de serviço.
Clique no endereço de e-mail da sua conta de serviço.
Clique na guia Métricas. O gráfico Tráfego de autenticação mostra as métricas de uso da conta de serviço.
Opcional: para visualizar o gráfico noMetrics Explorer página, que oferece opções adicionais de filtragem e visualização, clique em> Ver no Metrics Explorer de dados.
REST
O método timeSeries.list
da API Cloud Monitoring , quando usado com filtros específicos, permite que você receba métricas de uso para uma única conta de serviço. Você pode usar essas métricas para determinar quando a conta foi usada pela última vez.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud. Os IDs do projeto são strings alfanuméricas, comomy-project
.-
SERVICE_ACCOUNT_ID
: o ID numérico exclusivo da sua conta de serviço. Para encontrar o ID numérico exclusivo da sua conta de serviço, siga estas etapas:-
No Console do Google Cloud, acesse a página Contas de serviço.
Acessar a página "Contas de serviço" - Clique no endereço de e-mail da sua conta de serviço. O ID numérico exclusivo da sua conta de serviço é o valor no campo ID exclusivo.
-
END_TIME
: o fim do intervalo de tempo que você quer verificar, no formato RFC 3339 codificado por porcentagem. Por exemplo,2020-06-12T00%3A00%3A00.00Z
.START_TIME
: o início do intervalo de tempo que você quer verificar, no formato RFC 3339 codificado por porcentagem. Por exemplo,2020-04-12T00%3A00%3A00.00Z
.
Método HTTP e URL:
GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%3D%22iam.googleapis.com%2Fservice_account%2Fauthn_events_count%22%20AND%20resource.labels.unique_id%3D%22SERVICE_ACCOUNT_ID%22&interval.endTime=END_TIME&interval.startTime=START_TIME
Para enviar a solicitação, expanda uma destas opções:
A resposta contém um objeto timeSeries
com todos os eventos de autenticação recentes da conta de serviço especificada.
Visualizar métricas de uso de uma única chave de conta de serviço
Para visualizar as métricas de uso de uma única chave de conta de serviço, siga estas etapas:
Console
No Console do Google Cloud, acesse a página Contas de serviço.
Selecione o projeto que contém a conta de serviço associada à sua chave.
Clique no endereço de e-mail da conta de serviço associada à sua chave.
Clique na guia Métricas. O gráfico Tráfego de autenticação por chave mostra as métricas de uso de todas as chaves associadas à conta de serviço.
Na legenda do gráfico, clique no ID da chave da conta de serviço para a qual você quer visualizar as métricas de uso. O gráfico é atualizado para mostrar métricas apenas para essa chave da conta de serviço.
Opcional: para visualizar o gráfico noMetrics Explorer página, que oferece opções adicionais de filtragem e visualização, clique em> Ver no Metrics Explorer de dados.
REST
Primeiro, receba o ID da chave da conta de serviço.
Liste as chaves da conta de serviço:
O método
projects.serviceAccounts.keys.list
lista todas as chaves de uma conta de serviço.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud. Os IDs do projeto são strings alfanuméricas, comomy-project
.SA_NAME
: o nome da conta de serviço cujas chaves você quer listar.KEY_TYPES
: opcional. Uma lista separada por vírgulas dos tipos de chave que você quer incluir na resposta. O tipo de chave indica se uma chave é gerenciada pelo usuário (USER_MANAGED
) ou pelo sistema (SYSTEM_MANAGED
). Se deixado em branco, todas as chaves são retornadas.
Método HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }
Use os metadados na resposta para identificar a chave que você quer rastrear. Em seguida, copie o ID exclusivo da chave no final do campo
name
.O campo
name
tem o seguinte formato:"name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID"
O ID exclusivo da chave é tudo o que vem depois de
keys/
.Por exemplo, o ID exclusivo no seguinte nome de chave é
0f561cc41650ff521899de2fd653bd3de08e2da4
:"name": "projects/my-project/serviceAccounts/my-account@my-project.iam.gserviceaccount.com/keys/0f561cc41650ff521899de2fd653bd3de08e2da4"
Em seguida, use o ID para visualizar as métricas de uso da chave da conta de serviço.
O método timeSeries.list
da API Cloud Monitoring , quando usado com filtros específicos, permite que você receba métricas de uso para uma única chave de conta de serviço. Você pode usar essas métricas para determinar quando a chave foi usada pela última vez.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud. Os IDs do projeto são strings alfanuméricas, comomy-project
.KEY_ID
: o ID exclusivo da chave da sua conta de serviço.END_TIME
: o fim do intervalo de tempo que você quer verificar, no formato RFC 3339 codificado por porcentagem. Por exemplo,2020-06-12T00%3A00%3A00.00Z
.START_TIME
: o início do intervalo de tempo que você quer verificar, no formato RFC 3339 codificado por porcentagem. Por exemplo,2020-04-12T00%3A00%3A00.00Z
.
Método HTTP e URL:
GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%3D%22iam.googleapis.com%2Fservice_account%2Fkey%2Fauthn_events_count%22%20AND%20metric.labels.key_id%3D%22KEY_ID%22&interval.endTime=END_TIME&interval.startTime=START_TIME
Para enviar a solicitação, expanda uma destas opções:
A resposta contém um objeto timeSeries
com todos os eventos de autenticação recentes da conta de serviço especificada.
Exportar métricas
Use o Monitoring para exportar suas métricas para o BigQuery. A exportação de métricas é útil para realizar análises de longo prazo porque o Monitoring retém apenas métricas por um tempo limitado.
Para instruções, consulte Exportação de métricas do Monitoring na documentação do Solutions.
A seguir
- Descubra como exportar dados de métricas para o BigQuery.
- Use o Activity Analyzer para visualizar apenas os eventos de autenticação mais recentes das suas contas de serviço e chaves.
- Use insights de conta de serviço para identificar as contas que não foram usadas nos últimos 90 dias.
- Aprenda como desativar contas de serviço ou excluir contas de serviço.
- Aprenda como excluir chaves de contas de serviço.
- Explore os recursos oferecidos pelo Monitoring.