Esta página mostra como gerir as estatísticas das contas de serviço, que são descobertas sobre as contas de serviço no seu projeto que não foram usadas nos últimos 90 dias.
Os pedidos autenticados por chaves da API associadas a contas de serviço não são registados nas métricas de utilização da conta de serviço. Consequentemente, estas contas de serviço podem ser comunicadas como não utilizadas.
Antes de começar
-
Enable the Recommender API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Opcional: leia acerca das estatísticas do motor de recomendações.
Funções necessárias
Para receber as autorizações de que precisa para gerir as estatísticas da conta de serviço, peça ao seu administrador que lhe conceda as seguintes funções do IAM no projeto para o qual quer gerir estatísticas:
-
Para ver as estatísticas da conta de serviço:
Leitor do Recomendador de IAM (
roles/recommender.iamViewer
) -
Para modificar as estatísticas da conta de serviço:
Administrador do IAM Recommender (
roles/recommender.iamAdmin
)
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.
Estas funções predefinidas contêm as autorizações necessárias para gerir as estatísticas da conta de serviço. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para gerir as estatísticas da conta de serviço:
-
Para ver as estatísticas da conta de serviço:
-
recommender.iamServiceAccountinsights.get
-
recommender.iamServiceAccountinsights.list
-
-
Para modificar as estatísticas da conta de serviço:
recommender.iamServiceAccountinsights.update
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Apresente estatísticas da conta de serviço
Para apresentar uma lista de todas as estatísticas da conta de serviço do seu projeto, use um dos seguintes métodos:gcloud
Use o comando gcloud recommender
insights list
para ver todas as estatísticas da conta de serviço do seu projeto.
Antes de executar o comando, substitua os seguintes valores:
PROJECT_ID
: o ID do projeto para o qual quer listar estatísticas.
gcloud recommender insights list --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
O resultado apresenta todas as estatísticas da conta de serviço para o seu projeto. Por exemplo:
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 446303ba-2a14-49cc-b9fa-e2d2499d4f82 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-1@my-project.iam.gserviceaccount.com was inactive. 4cfd82c3-7320-4dc6-9b67-ca0756bbd54c SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-2@my-project.iam.gserviceaccount.com was inactive. a627bed7-c8f4-4611-89c9-2a9a8618ca1b SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-3@my-project.iam.gserviceaccount.com was inactive. a922dd59-df0a-422d-a2a4-096195e1dae5 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-4@my-project.iam.gserviceaccount.com was inactive.
REST
O método insights.list
da API Recommender apresenta todas as estatísticas da conta de serviço para o seu projeto.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do projeto para o qual quer listar estatísticas.
Método HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights
Para enviar o seu pedido, expanda uma destas opções:
A resposta apresenta todas as estatísticas da conta de serviço para o seu projeto. Por exemplo:
{ "insights": [ { "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-09-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"9d797dd04263c855\"", "severity": "LOW" }, { "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/4cfd82c3-7320-4dc6-9b67-ca0756bbd54c", "description": "Service account sa-2@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "105496400997178042131", "email": "sa-2@my-project.iam.gserviceaccount.com" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "16070400s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"783a32b635d79a4e\"", "severity": "LOW" } ] }
Para saber mais acerca dos componentes de uma estatística, consulte Reveja as estatísticas da conta de serviço nesta página.
Obtenha uma única estatística da conta de serviço
Para obter mais informações sobre uma única estatística, incluindo a descrição, o estado e as recomendações associadas, use um dos seguintes métodos:
gcloud
Use o comando gcloud recommender
insights describe
com o ID da estatística para ver informações sobre uma única estatística.
-
INSIGHT_ID
: o ID da estatística que quer ver. Para encontrar o ID, liste as estatísticas do seu projeto. PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
O resultado mostra a estatística detalhadamente. Por exemplo, a seguinte estatística indica que a conta de serviço
sa-1@my-project.iam.gserviceaccount.com
não foi autenticada desde
11 de outubro de 2020.
category: SECURITY content: email: sa-1@my-project.iam.gserviceaccount.com lastAuthenticatedTime: '2020-10-11T07:00:00Z' serviceAccountId: '103185812403937829397' description: Service account sa-1@my-project.iam.gserviceaccount.com was inactive. etag: '"9d797dd04263c855"' insightSubtype: SERVICE_ACCOUNT_USAGE lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82 observationPeriod: 19008000s severity: LOW stateInfo: state: ACTIVE targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
Para saber mais acerca dos componentes de uma estatística, consulte Reveja as estatísticas da conta de serviço nesta página.
REST
O método insights.get
da API Recommender recebe uma única estatística.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas. -
INSIGHT_ID
: o ID da estatística que quer ver. Se não souber o ID da estatística, pode encontrá-lo listando as estatísticas no seu projeto. O ID de uma estatística é tudo o que se encontra depois deinsights/
no camponame
da estatística.
Método HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém a estatística. Por exemplo, a seguinte estatística indica que a conta de serviço
sa-1@my-project.iam.gserviceaccount.com
não foi autenticada desde
11 de outubro de 2020.
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-09-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"9d797dd04263c855\"", "severity": "LOW" }
Para saber mais acerca dos componentes de uma estatística, consulte Reveja as estatísticas da conta de serviço nesta página.
Reveja as estatísticas da conta de serviço
Depois de receber uma única estatística, pode rever o respetivo conteúdo para compreender o padrão de utilização de recursos que realça.
O conteúdo de uma estatística é determinado pelos respetivos subtipos.
As estatísticas de contas de serviço (google.iam.serviceAccount.Insight
) têm o subtipo SERVICE_ACCOUNT_USAGE
.
As estatísticas SERVICE_ACCOUNT_USAGE
têm os seguintes componentes, não necessariamente
nesta ordem:
-
associatedRecommendations
: Os identificadores de quaisquer recomendações associadas à estatística. Se não existirem recomendações associadas à estatística, este campo está vazio. -
category
: a categoria das estatísticas de IAM é sempreSECURITY
. -
content
: indica a última vez que a conta de serviço foi autenticada. Este campo contém os seguintes componentes:email
: o endereço de email da conta de serviço.lastAuthenticatedTime
: a hora mais recente em que a conta de serviço foi autenticada. Se a conta de serviço não tiver autenticações registadas, este campo não é incluído.serviceAccountId
: o ID numérico exclusivo da conta de serviço.
-
description
: um resumo da estatística legível por humanos. -
etag
: um identificador exclusivo do estado atual de uma estatística. Sempre que a estatística muda, é atribuído um novo valoretag
.Para alterar o estado de uma estatística, tem de fornecer o
etag
da estatística existente. A utilização doetag
ajuda a garantir que as operações só são realizadas se a estatística não tiver sido alterada desde a última vez que a obteve. -
insightSubtype
: o subtipo de estatística. -
lastRefreshTime
: a data da última atualização da estatística, que indica a atualidade dos dados usados para gerar a estatística. -
name
: o nome da estatística, no seguinte formato:projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
Os marcadores de posição têm os seguintes valores:
-
PROJECT_ID
: o ID do projeto onde a estatística foi gerada. INSIGHT_ID
: um ID exclusivo para a estatística.
-
-
observationPeriod
: o período que antecede a estatística. Os dados de origem usados para gerar as estatísticas terminam alastRefreshTime
e começam alastRefreshTime
menosobservationPeriod
. -
stateInfo
: as estatísticas passam por várias transições de estado depois de serem propostas:-
ACTIVE
: a estatística foi gerada, mas não foram tomadas ações ou foi tomada uma ação sem atualizar o estado da estatística. As estatísticas ativas são atualizadas quando os dados subjacentes mudam. -
ACCEPTED
: foi tomada alguma medida com base na estatística. As estatísticas são aceites quando uma recomendação associada foi marcada comoCLAIMED
,SUCCEEDED
ouFAILED
, ou quando a estatística foi aceite diretamente. Quando um insight está no estadoACCEPTED
, o conteúdo do insight não pode ser alterado. As estatísticas aceites são retidas durante 90 dias após serem aceites.
-
-
targetResources
: o nome completo do recurso do projeto ao qual a estatística se refere. Por exemplo,//cloudresourcemanager.googleapis.com/projects/123456789012
.
Marque uma estatística da conta de serviço como ACCEPTED
Se tomar medidas com base numa estatística ativa, pode marcar essa estatística como
ACCEPTED
. O estado ACCEPTED
indica à API Recommender que tomou medidas com base nesta estatística, o que ajuda a refinar as suas recomendações.
As estatísticas aceites são retidas durante 90 dias após
serem marcadas como ACCEPTED
.
gcloud
Use o comando
gcloud recommender insights mark-accepted
com o ID das estatísticas para marcar
uma estatística como ACCEPTED
.
-
INSIGHT_ID
: o ID da estatística que quer ver. Para encontrar o ID, liste as estatísticas do seu projeto. PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas.-
ETAG
: um identificador de uma versão da estatística. Para receber oetag
, faça o seguinte:-
Obtenha as estatísticas através do comando
gcloud recommender insights describe
. -
Localize e copie o valor
etag
do resultado, incluindo as aspas circundantes. Por exemplo,"d3cdec23cc712bd0"
.
-
Obtenha as estatísticas através do comando
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global \ --etag=ETAG
O resultado mostra a estatística, agora com o estado de ACCEPTED
:
category: SECURITY content: email: sa-1@my-project.iam.gserviceaccount.com lastAuthenticatedTime: '2020-10-11T07:00:00Z' serviceAccountId: '103185812403937829397' description: Service account sa-1@my-project.iam.gserviceaccount.com was inactive. etag: '"39c4199dcec92848"' insightSubtype: SERVICE_ACCOUNT_USAGE lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82 observationPeriod: 19008000s severity: LOW stateInfo: state: ACCEPTED targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
Para saber mais sobre as informações de estado de uma estatística, consulte a secção Reveja as estatísticas da conta de serviço nesta página.
REST
O método insights.markAccepted
da API Recommender marca uma estatística como ACCEPTED
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas. -
INSIGHT_ID
: o ID da estatística que quer ver. Se não souber o ID da estatística, pode encontrá-lo listando as estatísticas no seu projeto. O ID de uma estatística é tudo o que se encontra depois deinsights/
no camponame
da estatística. -
ETAG
: um identificador de uma versão da estatística. Para obter oetag
, faça o seguinte:- Obtenha a estatística através do método
insights.get
. - Encontre e copie o valor
etag
da resposta.
- Obtenha a estatística através do método
Método HTTP e URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID:markAccepted
Corpo JSON do pedido:
{ "etag": "ETAG" }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém a estatística, agora com o estado ACCEPTED
:
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-10-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACCEPTED" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"39c4199dcec92848\"", "severity": "LOW" }
Para saber mais sobre as informações de estado de uma estatística, consulte a secção Reveja as estatísticas da conta de serviço nesta página.
O que se segue?
- Reveja as outras ferramentas disponíveis para compreender a utilização da conta de serviço.
- Use o Active Assist para ver e gerir todas as recomendações para o seu projeto, incluindo recomendações da IAM.