Questa pagina mostra come gestire gli approfondimenti sugli account di servizio, ovvero i risultati relativi ai service account del tuo progetto che non sono stati utilizzati negli ultimi 90 giorni.
Le richieste autenticate da chiavi API associate a service account non vengono registrate nelle metriche di utilizzo dei service account. Di conseguenza, questi service account potrebbero essere segnalati come inutilizzati.
Prima di iniziare
-
Enable the Recommender API.
- (Facoltativo) Scopri di più sugli approfondimenti del motore per suggerimenti.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli approfondimenti sugli account di servizio, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto per cui vuoi gestire gli approfondimenti:
-
Per visualizzare gli approfondimenti sugli account di servizio:
Visualizzatore motore per suggerimenti IAM (
roles/recommender.iamViewer
) -
Per modificare gli approfondimenti sugli account di servizio:
Amministratore motore per suggerimenti IAM (
roles/recommender.iamAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire gli approfondimenti sui account di servizio. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire gli approfondimenti sui account di servizio sono necessarie le seguenti autorizzazioni:
-
Per visualizzare gli insight sugli account di servizio:
-
recommender.iamServiceAccountinsights.get
-
recommender.iamServiceAccountinsights.list
-
-
Per modificare gli approfondimenti sull'account di servizio:
recommender.iamServiceAccountinsights.update
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Elenca gli insight sugli account di servizio
Per elencare tutti gli approfondimenti del account di servizio per il tuo progetto, utilizza uno dei seguenti metodi:gcloud
Utilizza il comando gcloud recommender
insights list
per visualizzare tutti gli approfondimenti sugli account di servizio per il tuo
progetto.
Prima di eseguire il comando, sostituisci i seguenti valori:
PROJECT_ID
: l'ID del progetto per cui vuoi elencare gli approfondimenti.
gcloud recommender insights list --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
L'output elenca tutti gli approfondimenti sul account di servizio per il tuo progetto. Ad esempio:
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
Il metodo
insights.list
dell'API Recommender elenca tutti gli approfondimenti sugli account di servizio per il tuo progetto.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del progetto per cui vuoi elencare gli approfondimenti.
Metodo HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights
Per inviare la richiesta, espandi una di queste opzioni:
La risposta elenca tutti gli approfondimenti sul account di servizio per il tuo progetto. Ad esempio:
{ "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" } ] }
Per scoprire di più sui componenti di un approfondimento, consulta la sezione Esamina gli approfondimenti sull'account di servizio in questa pagina.
Ottenere un singolo insight sul account di servizio
Per ottenere maggiori informazioni su un singolo approfondimento, inclusi descrizione, stato e eventuali consigli associati, utilizza uno dei seguenti metodi:
gcloud
Utilizza il comando gcloud recommender
insights describe
con l'ID insight per visualizzare informazioni su un singolo insight.
-
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti per il tuo progetto. PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli approfondimenti.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
L'output mostra in dettaglio l'approfondimento. Ad esempio, il seguente approfondimento indica che il account di servizio
sa-1@my-project.iam.gserviceaccount.com
non è stato autenticato dal
11 ottobre 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
Per scoprire di più sui componenti di un approfondimento, consulta la sezione Esamina gli approfondimenti sull'account di servizio in questa pagina.
REST
Il metodo
insights.get
dell'API Recommender recupera un singolo approfondimento.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli approfondimenti. -
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID approfondimento, puoi trovarlo elencando gli approfondimenti nel tuo progetto. L'ID di un insight è tutto ciò che segueinsights/
nel camponame
dell'insight.
Metodo HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'approfondimento. Ad esempio, il seguente approfondimento indica che il account di servizio
sa-1@my-project.iam.gserviceaccount.com
non è stato autenticato dal
11 ottobre 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" }
Per scoprire di più sui componenti di un approfondimento, consulta la sezione Esamina gli approfondimenti sull'account di servizio in questa pagina.
Esaminare gli insight sugli account di servizio
Dopo aver ottenuto un singolo approfondimento, puoi esaminarne i contenuti per comprendere il pattern di utilizzo delle risorse che mette in evidenza.
I contenuti di un approfondimento sono determinati dai relativi sottotipi.
Gli insight sugli account di servizio (google.iam.serviceAccount.Insight
) hanno il sottotipo SERVICE_ACCOUNT_USAGE
.
Gli approfondimenti di SERVICE_ACCOUNT_USAGE
sono composti dai seguenti elementi, non necessariamente
in questo ordine:
-
associatedRecommendations
: Gli identificatori di eventuali consigli associati all'insight. Se non sono presenti suggerimenti associati all'insight, questo campo è vuoto. -
category
: la categoria per gli approfondimenti IAM è sempreSECURITY
. -
content
: indica l'ultima volta che l'account di servizio è stato autenticato. Questo campo contiene i seguenti componenti:email
: l'indirizzo email del account di servizio.lastAuthenticatedTime
: l'ultima volta che l'account di servizio è stato autenticato. Se l'account di servizio non ha autenticazioni registrate, questo campo non è incluso.serviceAccountId
: l'ID numerico univoco dell'account di servizio.
-
description
: un riepilogo dell'insight leggibile. -
etag
: un identificatore univoco per lo stato attuale di un insight. Ogni volta che l'insight cambia, viene assegnato un nuovo valoreetag
.Per modificare lo stato di un approfondimento, devi fornire
etag
dell'approfondimento esistente. L'utilizzo dietag
consente di garantire che le operazioni vengano eseguite solo se l'insight non è cambiato dall'ultima volta che l'hai recuperato. -
insightSubtype
: Il sottotipo di insight. -
lastRefreshTime
: la data dell'ultimo aggiornamento dell'approfondimento, che indica l'aggiornamento dei dati utilizzati per generare l'approfondimento. -
name
: il nome dell'insight, nel seguente formato:projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
I segnaposto hanno i seguenti valori:
-
PROJECT_ID
: l'ID del progetto in cui è stato generato l'approfondimento. INSIGHT_ID
: un ID univoco per l'insight.
-
-
observationPeriod
: il periodo di tempo che precede l'insight. I dati di origine utilizzati per generare l'insight terminano il giornolastRefreshTime
e iniziano il giornolastRefreshTime
menoobservationPeriod
. -
stateInfo
: gli approfondimenti passano attraverso più transizioni di stato dopo essere stati proposti:-
ACTIVE
: l'approfondimento è stato generato, ma non sono state intraprese azioni o è stata intrapresa un'azione senza aggiornare lo stato dell'approfondimento. Gli insight attivi vengono aggiornati quando cambiano i dati di base. -
ACCEPTED
: è stata intrapresa un'azione in base all'approfondimento. Gli approfondimenti vengono accettati quando un consiglio associato è stato contrassegnato comeCLAIMED
,SUCCEEDED
oFAILED
oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento si trova nello statoACCEPTED
, il suo contenuto non può cambiare. Gli approfondimenti accettati vengono conservati per 90 giorni dopo l'accettazione.
-
-
targetResources
: il nome completo della risorsa del progetto a cui si riferisce l'insight. Ad esempio,//cloudresourcemanager.googleapis.com/projects/123456789012
.
Contrassegna un approfondimento del account di servizio come ACCEPTED
Se intraprendi un'azione in base a un approfondimento attivo, puoi contrassegnarlo come
ACCEPTED
. Lo stato ACCEPTED
indica all'API
Recommender che hai intrapreso un'azione in base a questo
approfondimento, il che contribuisce a perfezionare i tuoi consigli.
Gli approfondimenti accettati vengono conservati per 90 giorni dopo
essere stati contrassegnati come ACCEPTED
.
gcloud
Utilizza il comando
gcloud recommender insights mark-accepted
con l'ID approfondimento per contrassegnare
un approfondimento come ACCEPTED
.
-
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti per il tuo progetto. PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli approfondimenti.-
ETAG
: un identificatore per una versione dell'insight. Per ottenereetag
, segui questi passaggi:-
Ottieni l'approfondimento utilizzando il comando
gcloud recommender insights describe
. -
Trova e copia il valore
etag
dall'output, incluse le virgolette di chiusura. Ad esempio,"d3cdec23cc712bd0"
.
-
Ottieni l'approfondimento utilizzando il comando
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global \ --etag=ETAG
L'output mostra l'approfondimento, ora con lo stato 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
Per saperne di più sulle informazioni sullo stato di un approfondimento, consulta Esaminare gli approfondimenti sull'account di servizio in questa pagina.
REST
Il metodo
insights.markAccepted
dell'API Recommender contrassegna un approfondimento come ACCEPTED
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli approfondimenti. -
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID approfondimento, puoi trovarlo elencando gli approfondimenti nel tuo progetto. L'ID di un insight è tutto ciò che segueinsights/
nel camponame
dell'insight. -
ETAG
: un identificatore per una versione dell'insight. Per ottenereetag
, procedi nel seguente modo:- Ottieni l'approfondimento utilizzando il
metodo
insights.get
. - Trova e copia il valore di
etag
dalla risposta.
- Ottieni l'approfondimento utilizzando il
metodo
Metodo 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 della richiesta:
{ "etag": "ETAG" }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'approfondimento, ora con lo stato 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" }
Per saperne di più sulle informazioni sullo stato di un approfondimento, consulta Esaminare gli approfondimenti sull'account di servizio in questa pagina.
Passaggi successivi
- Esamina gli altri strumenti disponibili per comprendere l'utilizzo degli account di servizio.
- Utilizza l'hub dei suggerimenti per visualizzare e gestire tutti i suggerimenti per il tuo progetto, inclusi quelli IAM.