Questa pagina spiega come utilizzare Cloud Monitoring per visualizzare le metriche di utilizzo per gli account di servizio e le chiavi degli account di servizio. Queste metriche ti consentono di visualizzare e monitorare i pattern di utilizzo, che possono aiutarti a identificare le anomalie in modo automatico o manuale.
Gli account di servizio e le chiavi degli account di servizio sono visualizzati in queste metriche se vengono utilizzate per chiamare qualsiasi API di Google, incluse le API che non fanno parte di Google Cloud. Le metriche includono le chiamate API riuscite e non riuscite. Ad esempio, se una chiamata API non riesce perché il chiamante non è autorizzato a chiamare tale API o perché la richiesta si riferisce a una risorsa che non esiste, l'account di servizio o la chiave utilizzata per quella chiamata API viene visualizzato nelle metriche.
Le chiavi degli account di servizio vengono mostrate anche in queste metriche se un sistema le elenca mentre tenta di autenticare una richiesta, anche se non la utilizza per autenticare la richiesta. Questo comportamento è più comune quando si utilizzano URL firmati per Cloud Storage o durante l'autenticazione in applicazioni di terze parti. Di conseguenza, è possibile visualizzare le metriche di utilizzo per le chiavi che non sono state utilizzate per l'autenticazione.
Monitoring conserva le metriche dell'account di servizio per un periodo di tempo limitato. Se hai bisogno di accedere ai dati per un periodo di tempo più lungo, puoi esportare periodicamente i risultati in BigQuery. Per ulteriori informazioni, consulta la pagina relativa all'esportazione delle metriche di Monitoring nella documentazione di Solutions.
Dopo aver utilizzato un account di servizio o una chiave dell'account di servizio, in genere le metriche di utilizzo diventano disponibili entro pochi minuti.
Prima di iniziare
-
Abilita le API IAM and Cloud Monitoring.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per visualizzare l'utilizzo recente di chiavi e account di servizio, chiedi al tuo amministratore di concederti il ruolo IAM Visualizzatore di monitoraggio (roles/monitoring.viewer
) nel progetto.
Per ulteriori informazioni sulla concessione dei ruoli, consulta
Gestire l'accesso.
Visualizza le metriche di utilizzo per tutte le chiavi o gli account di servizio
Per visualizzare le metriche di utilizzo relative ai tuoi account di servizio o alle chiavi degli account di servizio:
Console
Per utilizzare Metrics Explorer per visualizzare le metriche di una risorsa monitorata, procedi nel seguente modo:
- Nella console Google Cloud, vai alla pagina Metrics Explorer in Monitoring.
- Seleziona la scheda Configurazione.
- Espandi il menu Seleziona una metrica, inserisci
IAM Service Account
nella barra dei filtri e utilizza i sottomenu per selezionare una metrica e un tipo di risorsa specifici:- Nel menu Risorse attive, seleziona Account di servizio IAM.
- Nel menu Categorie di metriche attive, seleziona Service_account.
- Nel menu Metriche attive, seleziona una metrica dell'account di servizio.
Sono disponibili le seguenti metriche nell'intervallo di tempo selezionato:
- Per le metriche di utilizzo dell'account di servizio, seleziona Eventi di autenticazione dell'account di servizio.
- Per le metriche di utilizzo delle chiavi dell'account di servizio, seleziona Eventi di autenticazione delle chiavi dell'account di servizio.
- Fai clic su Applica.
- Facoltativo: per configurare la modalità di visualizzazione dei dati, aggiungi filtri e utilizza i menu Raggruppa per, Aggregatore e di tipo grafico. Ad esempio, puoi raggruppare in base a etichette di risorsa o metrica. Per ulteriori informazioni, consulta la pagina Selezionare le metriche quando si utilizza Metrics Explorer.
- Facoltativo: modifica le impostazioni del grafico:
- Per le quote e altre metriche che segnalano un campione al giorno, imposta il periodo di tempo su almeno una settimana e il tipo di grafico su Grafico a barre in pila.
- Per le metriche con valore di distribuzione, imposta il tipo di grafico su Grafico termico.
REST
Il metodo timeSeries.list
dell'API Cloud Monitoring ti consente di accedere alle metriche di utilizzo in modo programmatico.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche comemy-project
.-
METRIC_TYPE
: il tipo di metrica da controllare. Utilizza uno dei seguenti valori:-
Per le metriche di utilizzo dell'account di servizio, utilizza
iam.googleapis.com%2Fservice_account%2Fauthn_events_count
. -
Per le metriche di utilizzo delle chiavi dell'account di servizio, utilizza
iam.googleapis.com%2Fservice_account%2Fkey%2Fauthn_events_count
.
-
Per le metriche di utilizzo dell'account di servizio, utilizza
END_TIME
: la fine dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio:2020-06-12T00%3A00%3A00.00Z
.START_TIME
: l'inizio dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio:2020-04-12T00%3A00%3A00.00Z
.
Metodo e URL HTTP:
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
Per inviare la richiesta, espandi una delle seguenti opzioni:
Per scoprire di più sulla lettura programmatica delle metriche di utilizzo, consulta Lettura dei dati delle metriche nella documentazione di Monitoring.
Visualizzare le metriche di utilizzo per un singolo account di servizio
Per visualizzare le metriche di utilizzo per un singolo account di servizio:
Console
Nella console Google Cloud, vai alla pagina Account di servizio.
Seleziona il progetto che contiene il tuo account di servizio.
Fai clic sull'indirizzo email del tuo account di servizio.
Fai clic sulla scheda Metriche. Il grafico Traffico di autenticazione mostra le metriche di utilizzo per l'account di servizio.
(Facoltativo) Per visualizzare il grafico nella pagina Metrics Explorer, che offre opzioni di filtro e visualizzazione aggiuntive, fai clic su > Visualizza in Metrics Explorer.
REST
Il metodo timeSeries.list
dell'API Cloud Monitoring , se utilizzato con filtri specifici, consente di ottenere metriche di utilizzo per un singolo account di servizio. Puoi quindi utilizzare queste metriche per determinare quando l'account è stato utilizzato l'ultima volta.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche comemy-project
.-
SERVICE_ACCOUNT_ID
: l'ID numerico univoco del tuo account di servizio. Per trovare l'ID numerico univoco del tuo account di servizio:-
Nella console Google Cloud, vai alla pagina Account di servizio.
Vai alla pagina Account di servizio - Fai clic sull'indirizzo email del tuo account di servizio. L'ID numerico univoco del tuo account di servizio è il valore nel campo ID univoco.
-
END_TIME
: la fine dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio:2020-06-12T00%3A00%3A00.00Z
.START_TIME
: l'inizio dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio:2020-04-12T00%3A00%3A00.00Z
.
Metodo e URL HTTP:
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
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene un oggetto timeSeries
con tutti gli eventi di autenticazione recenti per l'account di servizio specificato.
Visualizzare le metriche di utilizzo per una singola chiave dell'account di servizio
Per visualizzare le metriche di utilizzo per una singola chiave dell'account di servizio:
Console
Nella console Google Cloud, vai alla pagina Account di servizio.
Seleziona il progetto che contiene l'account di servizio associato alla chiave.
Fai clic sull'indirizzo email dell'account di servizio associato alla chiave.
Fai clic sulla scheda Metriche. Il grafico Traffico di autenticazione per chiave mostra le metriche di utilizzo per tutte le chiavi associate all'account di servizio.
Nella legenda del grafico, fai clic sull'ID della chiave dell'account di servizio per cui vuoi visualizzare le metriche di utilizzo. Il grafico viene aggiornato per mostrare le metriche solo per quella chiave dell'account di servizio.
(Facoltativo) Per visualizzare il grafico nella pagina Metrics Explorer, che offre opzioni di filtro e visualizzazione aggiuntive, fai clic su > Visualizza in Metrics Explorer.
REST
Per prima cosa, recupera l'ID della chiave dell'account di servizio.
Elenca le chiavi dell'account di servizio:
Il metodo
projects.serviceAccounts.keys.list
elenca tutte le chiavi dell'account di servizio per un account di servizio.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche comemy-project
.SA_NAME
: il nome dell'account di servizio di cui vuoi elencare le chiavi.KEY_TYPES
: facoltativo. Un elenco separato da virgole di tipi di chiavi che vuoi includere nella risposta. Il tipo di chiave indica se una chiave è gestita dall'utente (USER_MANAGED
) o gestita dal sistema (SYSTEM_MANAGED
). Se il campo viene lasciato vuoto, vengono restituite tutte le chiavi.
Metodo e URL HTTP:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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 } ] }
Utilizza i metadati nella risposta per identificare la chiave da monitorare. Quindi, copia l'ID univoco della chiave dalla fine del campo
name
.Il campo
name
ha il seguente formato:"name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID"
L'ID univoco della chiave è indicato dopo
keys/
.Ad esempio, l'ID univoco nel seguente nome della chiave è
0f561cc41650ff521899de2fd653bd3de08e2da4
:"name": "projects/my-project/serviceAccounts/my-account@my-project.iam.gserviceaccount.com/keys/0f561cc41650ff521899de2fd653bd3de08e2da4"
Utilizza quindi l'ID per visualizzare le metriche di utilizzo per la chiave dell'account di servizio.
Il metodo timeSeries.list
dell'API Cloud Monitoring , se utilizzato con filtri specifici, consente di ottenere metriche di utilizzo per una singola chiave dell'account di servizio. Puoi quindi utilizzare queste metriche per determinare quando la chiave è stata utilizzata l'ultima volta.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche comemy-project
.KEY_ID
: ID univoco della chiave dell'account di servizio.END_TIME
: la fine dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio:2020-06-12T00%3A00%3A00.00Z
.START_TIME
: l'inizio dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio:2020-04-12T00%3A00%3A00.00Z
.
Metodo e URL HTTP:
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
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene un oggetto timeSeries
con tutti gli eventi di autenticazione recenti per la chiave dell'account di servizio specificata.
Esportazione delle metriche
Puoi utilizzare Monitoring per esportare le metriche in BigQuery. L'esportazione delle metriche è utile per eseguire analisi a lungo termine perché Monitoring le conserva solo per un periodo di tempo limitato.
Per le istruzioni, consulta Monitoraggio dell'esportazione delle metriche nella documentazione di Solutions.
Passaggi successivi
- Scopri come esportare dati dalle metriche a BigQuery.
- Utilizza l'Analizzatore attività per visualizzare solo gli eventi di autenticazione più recenti per gli account di servizio e le chiavi.
- Utilizza le informazioni sugli account di servizio per identificare gli account di servizio che non sono stati utilizzati negli ultimi 90 giorni.
- Scopri come disattivare gli account di servizio o eliminare gli account di servizio.
- Scopri come eliminare le chiavi degli account di servizio.
- Scopri le funzionalità offerte da Monitoring.