Esta página explica como usar o Cloud Monitoring para ver as métricas de utilização das suas contas de serviço e chaves de contas de serviço. Estas métricas permitem-lhe ver e acompanhar os padrões de utilização, o que pode ajudar a identificar anomalias, de forma automática ou manual.
As contas de serviço e as chaves de contas de serviço aparecem nestas métricas se forem usadas para chamar qualquer API Google, incluindo APIs que não fazem parte do Trusted Cloud by S3NS. As métricas incluem chamadas API bem-sucedidas e com falhas. Por exemplo, se uma chamada API falhar porque o autor da chamada não está autorizado a chamar essa API ou porque o pedido se referiu a um recurso que não existe, a conta de serviço ou a chave que foi usada para essa chamada API aparece nas métricas.
As chaves de contas de serviço também aparecem nestas métricas se um sistema listar as chaves ao tentar autenticar um pedido, mesmo que o sistema não use a chave para autenticar o pedido. Este comportamento é mais comum quando usa URLs assinados para o Cloud Storage ou quando faz a autenticação em aplicações de terceiros. Como resultado, é possível ver métricas de utilização para chaves que não foram usadas para autenticação.
O seguinte não aparece nas métricas da conta de serviço nem da chave da conta de serviço:
- Chaves de autenticação HMAC do Cloud Storage
- Pedidos autenticados por chaves de API associadas a contas de serviço
A monitorização retém as métricas da conta de serviço durante 6 semanas. Depois de usar uma conta de serviço ou uma chave de conta de serviço, as métricas de utilização ficam normalmente disponíveis em poucos minutos.
Antes de começar
-
Enable the IAM and Cloud Monitoring APIs.
Funções necessárias
Para receber as autorizações de que
precisa para ver a utilização recente de contas de serviço e chaves,
peça ao seu administrador para lhe conceder a função do IAM
Leitor de monitorização (roles/monitoring.viewer
) no projeto.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Veja as métricas de utilização de todas as contas de serviço ou chaves
Para ver as métricas de utilização das suas contas de serviço ou chaves de contas de serviço, siga estes passos:
Consola
Para ver as métricas de um recurso monitorizado através do Metrics Explorer, faça o seguinte:
-
Na Trusted Cloud consola, aceda à página leaderboard Explorador de métricas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas da Trusted Cloud consola, selecione o seu Trusted Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
- No elemento Métrica, expanda o menu Selecionar uma métrica,
introduza
IAM Service Account
na barra de filtro e, de seguida, use os submenus para selecionar um tipo de recurso e uma métrica específicos:- No menu Recursos ativos, selecione Conta de serviço do IAM.
- No menu Categorias de métricas ativas, selecione Service_account.
- No menu Métricas ativas, selecione uma métrica da conta de serviço.
As seguintes métricas estão disponíveis no intervalo de tempo selecionado:
- Para métricas de utilização da conta de serviço, selecione Eventos de autenticação da conta de serviço.
- Para métricas de utilização 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 cronológicas da apresentação, use o elemento Filtro.
Para combinar séries cronológicas, use os menus no elemento Agregação. Por exemplo, para apresentar a utilização da CPU das suas VMs, com base na respetiva zona, defina o primeiro menu como Média e o segundo menu como zona.
Todas as séries cronológicas são apresentadas quando o primeiro menu do elemento Agregação está definido como Não agregado. As predefinições do elemento Agregação são determinadas pelo tipo de métrica que selecionou.
- Para a quota e outras métricas que comunicam uma amostra por dia, faça o seguinte:
- No painel Apresentaçã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 API permite-lhe aceder às métricas de utilização de forma programática.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Trusted Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.-
METRIC_TYPE
: o tipo de métrica que quer verificar. Use um dos seguintes valores:-
Para métricas de utilização da conta de serviço, use
iam.googleapis.com%2Fservice_account%2Fauthn_events_count
. -
Para métricas de utilização da chave da conta de serviço, use
iam.googleapis.com%2Fservice_account%2Fkey%2Fauthn_events_count
.
-
Para métricas de utilização da conta de serviço, use
END_TIME
: O fim do intervalo de tempo que quer verificar, no formato RFC 3339 com codificação em percentagem. Por exemplo,2020-06-12T00%3A00%3A00.00Z
.START_TIME
: O início do intervalo de tempo que quer verificar, no formato RFC 3339 codificado em percentagem. 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 o seu pedido, expanda uma destas opções:
Para mais informações sobre como ler métricas de utilização por programação, consulte o artigo Ler dados de métricas na documentação de monitorização.
Veja as métricas de utilização de uma única conta de serviço
Para ver as métricas de utilização de uma única conta de serviço, siga estes passos:
Consola
Na Trusted Cloud consola, aceda à página Contas de serviço.
Selecione o projeto que contém a sua conta de serviço.
Clique no endereço de email da sua conta de serviço.
Clique no separador Métricas. O gráfico Tráfego de autenticação mostra as métricas de utilização da conta de serviço.
Opcional: para ver o gráfico na página Explorador de métricas, que oferece opções de filtragem e visualização adicionais, clique em > Ver no Explorador de métricas.
REST
O método timeSeries.list
da API Cloud Monitoring , quando usado com filtros específicos, permite-lhe obter métricas de utilização para uma única conta de serviço. Em seguida, pode usar essas métricas para determinar quando a conta foi usada pela última vez.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Trusted Cloud projeto. Os IDs dos projetos 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 estes passos:-
Na Trusted Cloud consola, aceda à página Contas de serviço.
Aceda à página Contas de serviço - Clique no endereço de email 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 quer verificar, no formato RFC 3339 com codificação em percentagem. Por exemplo,2020-06-12T00%3A00%3A00.00Z
.START_TIME
: O início do intervalo de tempo que quer verificar, no formato RFC 3339 codificado em percentagem. 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 o seu pedido, expanda uma destas opções:
A resposta contém um objeto timeSeries
com todos os eventos de autenticação recentes para a conta de serviço especificada.
Veja as métricas de utilização de uma única chave de conta de serviço
Para ver as métricas de utilização de uma única chave de conta de serviço, siga estes passos:
Consola
Na Trusted Cloud consola, aceda à 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 email da conta de serviço associada à sua chave.
Clique no separador Métricas. O gráfico Tráfego de autenticação por chave mostra as métricas de utilização 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 quer ver as métricas de utilização. O gráfico é atualizado para mostrar métricas apenas para essa chave de conta de serviço.
Opcional: para ver o gráfico na página Explorador de métricas, que oferece opções de filtragem e visualização adicionais, clique em > Ver no Explorador de métricas.
REST
Primeiro, obtenha 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 conta de serviço de uma conta de serviço.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Trusted Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_NAME
: o nome da conta de serviço cujas chaves quer listar.KEY_TYPES
: opcional. Uma lista separada por vírgulas de tipos de chaves que quer incluir na resposta. O tipo de chave indica se uma chave é gerida pelo utilizador (USER_MANAGED
) ou gerida pelo sistema (SYSTEM_MANAGED
). Se ficar em branco, são devolvidas todas as chaves.
Método HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.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.s3ns-system.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.s3ns-system.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 quer acompanhar. Em seguida, copie o ID exclusivo da chave a partir do 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 se encontra após
keys/
.Por exemplo, o ID exclusivo no seguinte nome da chave é
0f561cc41650ff521899de2fd653bd3de08e2da4
:"name": "projects/my-project/serviceAccounts/my-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/0f561cc41650ff521899de2fd653bd3de08e2da4"
Em seguida, use o ID para ver as métricas de utilização da chave da conta de serviço.
O método timeSeries.list
da API Cloud Monitoring , quando usado com filtros específicos, permite-lhe obter métricas de utilização para uma única chave de conta de serviço. Em seguida, pode usar essas métricas para determinar quando a chave foi usada pela última vez.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Trusted Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.KEY_ID
: o ID exclusivo da chave da conta de serviço.END_TIME
: O fim do intervalo de tempo que quer verificar, no formato RFC 3339 com codificação em percentagem. Por exemplo,2020-06-12T00%3A00%3A00.00Z
.START_TIME
: O início do intervalo de tempo que quer verificar, no formato RFC 3339 codificado em percentagem. 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 o seu pedido, expanda uma destas opções:
A resposta contém um objeto timeSeries
com todos os eventos de autenticação recentes para a chave da conta de serviço especificada.
Veja a atividade suspeita da conta de serviço
Pode usar a Deteção de ameaças de eventos para monitorizar a atividade suspeita da conta de serviço. A Deteção de ameaças de eventos comunica quando as contas de serviço inativas acionam ações. As contas de serviço inativas são contas de serviço que estão inativas há mais de 180 dias.
O que se segue?
- Saiba como desativar contas de serviço ou eliminar contas de serviço.
- Saiba como eliminar chaves de contas de serviço.
- Explore as funcionalidades oferecidas pela Monitorização.