Questa pagina mostra come gestire gli insight sugli account di servizio, ovvero i risultati relativi agli account di servizio del progetto non utilizzati negli ultimi 90 giorni.
Prima di iniziare
-
Attiva Recommender API.
- (Facoltativo) Leggi ulteriori informazioni sugli approfondimenti del motore per suggerimenti.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli insight sugli account di servizio, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto per il quale vuoi gestire gli insight:
-
Per visualizzare gli insight sugli account di servizio:
Visualizzatore motore per suggerimenti IAM (
roles/recommender.iamViewer
) -
Per modificare gli insight sugli account di servizio:
Amministratore motore per suggerimenti IAM (
roles/recommender.iamAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire gli insight degli account di servizio. Per visualizzare le autorizzazioni necessarie, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per gestire gli insight sugli 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 insight sugli account di servizio:
recommender.iamServiceAccountinsights.update
Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Elenca insight sugli account di servizio
Per elencare tutti gli insight sugli account di servizio per il tuo progetto, utilizza uno dei seguenti metodi:gcloud
Utilizza il comando gcloud recommender
insights list
per visualizzare tutti gli insight 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 insight.
gcloud recommender insights list --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
L'output elenca tutti gli insight dell'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 insight degli account di servizio per il tuo progetto.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del progetto per cui vuoi elencare gli insight.
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 insight dell'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 insight, consulta la sezione Esaminare gli insight sugli account di servizio in questa pagina.
Ottieni un singolo insight sull'account di servizio
Per ottenere maggiori informazioni su un singolo insight, inclusi la descrizione, lo stato e gli eventuali consigli associati, utilizza uno dei seguenti metodi:
gcloud
Utilizza il comando gcloud recommender
insights describe
con il tuo ID insight per visualizzare le informazioni su un singolo insight.
-
INSIGHT_ID
: l'ID dell'approfondimento che vuoi visualizzare. Per trovare l'ID, elenca gli insight per il tuo progetto. PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli insight.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
L'output mostra l'insight in dettaglio. Ad esempio, l'insight seguente indica che l'account di servizio sa-1@my-project.iam.gserviceaccount.com
non è stato autenticato dall'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 insight, consulta la sezione Esaminare gli insight sugli account di servizio in questa pagina.
REST
Il metodo insights.get
dell'API Recommender ottiene un singolo insight.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
-
PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli insight. -
INSIGHT_ID
: l'ID dell'approfondimento che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elencando gli insight nel tuo progetto. L'ID di un approfondimento è costituito da tutti gli elementi successivi ainsights/
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'insight. Ad esempio, l'insight seguente indica che l'account di servizio sa-1@my-project.iam.gserviceaccount.com
non è stato autenticato dall'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 insight, consulta la sezione Esaminare gli insight sugli account di servizio in questa pagina.
Esamina gli insight sull'account di servizio
Dopo aver ottenuto un singolo insight, puoi esaminarne i contenuti per comprendere il modello di utilizzo delle risorse evidenziato.
I contenuti di un approfondimento sono determinati dai relativi sottotipi.
Gli insight sull'account di servizio (google.iam.serviceAccount.Insight
) hanno il sottotipo SERVICE_ACCOUNT_USAGE
.
SERVICE_ACCOUNT_USAGE
insight hanno i seguenti componenti, non necessariamente in questo ordine:
-
associatedRecommendations
: gli identificatori per eventuali suggerimenti associati all'insight. Se non ci sono suggerimenti associati all'insight, questo campo è vuoto. -
category
: la categoria per gli insight IAM è sempreSECURITY
. -
content
: segnala l'ultima volta che l'account di servizio è stato autenticato. Questo campo contiene i seguenti componenti:email
: l'indirizzo email dell'account di servizio.lastAuthenticatedTime
: l'ora più recente dell'autenticazione dell'account di servizio. 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 leggibile degli approfondimenti. -
etag
: un identificatore univoco dello stato attuale di un approfondimento. Ogni volta che l'approfondimento cambia, viene assegnato un nuovo valoreetag
.Per modificare lo stato di un insight, devi fornire il valore
etag
dell'insight esistente. L'utilizzo dietag
contribuisce ad assicurare che qualsiasi operazione venga eseguita solo se l'insight non è cambiato dall'ultimo recupero. -
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'approfondimento 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'insight. INSIGHT_ID
: un ID univoco per l'approfondimento.
-
-
observationPeriod
: il periodo di tempo che ha portato all'approfondimento. I dati di origine utilizzati per generare l'insight terminano conlastRefreshTime
e iniziano conlastRefreshTime
menoobservationPeriod
. -
stateInfo
: gli approfondimenti passano attraverso più transizioni di stato dopo che vengono proposte:-
ACTIVE
: l'insight è stato generato, ma non è stata intrapresa alcuna azione oppure è stata intrapresa un'azione senza aggiornare lo stato dell'insight. Gli insight attivi vengono aggiornati quando i dati sottostanti cambiano. -
ACCEPTED
: sono state intraprese alcune azioni in base alle informazioni. Gli insight vengono accettati quando un suggerimento associato è stato contrassegnato comeCLAIMED
,SUCCEEDED
oFAILED
oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento è in statoACCEPTED
, i suoi contenuti non possono cambiare. Gli insight 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 insight sull'account di servizio come ACCEPTED
Se intervieni in base a un approfondimento attivo, puoi contrassegnare questo approfondimento come
ACCEPTED
. Lo stato ACCEPTED
indica all'API Recommender che hai intrapreso un'azione in base a questo insight, il che consente di perfezionare i suggerimenti.
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 insight per contrassegnare
un insight come ACCEPTED
.
-
INSIGHT_ID
: l'ID dell'approfondimento che vuoi visualizzare. Per trovare l'ID, elenca gli insight per il tuo progetto. PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli insight.-
ETAG
: l'identificatore di una versione dell'insight. Per recuperareetag
, procedi nel seguente modo:-
Ottieni approfondimenti utilizzando il comando
gcloud recommender insights describe
. -
Trova e copia il valore
etag
dall'output, incluse le virgolette che le includono. Ad esempio,"d3cdec23cc712bd0"
.
-
Ottieni approfondimenti 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'insight, 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 scoprire di più sulle informazioni sullo stato di un insight, consulta Esaminare gli insight sugli account di servizio in questa pagina.
REST
Il metodo insights.markAccepted
dell'API Recommender contrassegna un insight come ACCEPTED
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
-
PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli insight. -
INSIGHT_ID
: l'ID dell'approfondimento che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elencando gli insight nel tuo progetto. L'ID di un approfondimento è costituito da tutti gli elementi successivi ainsights/
nel camponame
dell'insight. -
ETAG
: l'identificatore di una versione dell'insight. Per recuperareetag
, procedi nel seguente modo:- Ottieni insight utilizzando il metodo
insights.get
. - Trova e copia il valore
etag
dalla risposta.
- Ottieni insight 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 richiesta:
{ "etag": "ETAG" }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'insight, ora con lo stato di 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 scoprire di più sulle informazioni sullo stato di un insight, consulta Esaminare gli insight sugli account di servizio in questa pagina.
Passaggi successivi
- Consulta 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 progetto, inclusi quelli IAM.