Questa pagina spiega come utilizzare Cloud Monitoring per visualizzare le metriche di utilizzo per i service account e le chiavi dei account di servizio. Queste metriche ti consentono di visualizzare e monitorare i pattern di utilizzo, il che può aiutarti a identificare anomalie, automaticamente o manualmente.
I service account e le chiavi dei account di servizio vengono visualizzati in queste metriche se vengono utilizzati per chiamare qualsiasi API di Google, incluse le API che non fanno parte di Trusted Cloud by S3NS. Le metriche includono le chiamate API riuscite e non riuscite. Ad esempio, se una chiamata API non va a buon fine perché il chiamante non è autorizzato a chiamare l'API o perché la richiesta fa riferimento a una risorsa inesistente, il account di servizio o la chiave utilizzati per la chiamata API vengono visualizzati nelle metriche.
Le chiavi dell'account di servizio vengono visualizzate anche in queste metriche se un sistema le elenca durante il tentativo di autenticazione di una richiesta, anche se il sistema non utilizza la chiave per autenticare la richiesta. Questo comportamento è più comune quando si utilizzano URL firmati per Cloud Storage o quando si esegue l'autenticazione per applicazioni di terze parti. Di conseguenza, è possibile visualizzare le metriche di utilizzo per le chiavi che non sono state utilizzate per l'autenticazione.
I seguenti elementi non vengono visualizzati nelle metriche dell'account di servizio o della chiave dell'account di servizio:
- Chiavi di autenticazione HMAC di Cloud Storage
- Richieste autenticate da chiavi API associate a service account
Monitoring conserva le metriche del account di servizio per 6 settimane. Dopo aver utilizzato un account di servizio o una chiave account di servizio, le metriche di utilizzo sono in genere disponibili entro pochi minuti.
Prima di iniziare
-
Enable the IAM and Cloud Monitoring APIs.
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per visualizzare l'utilizzo recente di service account e chiavi,
chiedi all'amministratore di concederti il ruolo IAM
Visualizzatore Monitoring (roles/monitoring.viewer
)
nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Visualizzare le metriche di utilizzo per tutti i service account o le chiavi
Per visualizzare le metriche di utilizzo per i service account o le chiavi dei account di servizio, segui questi passaggi:
Console
Per visualizzare le metriche per una risorsa monitorata con Esplora metriche, segui questi passaggi:
-
Nella console Trusted Cloud , vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti della console Trusted Cloud , seleziona il tuo Trusted Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
- Nell'elemento Metrica, espandi il menu Seleziona una metrica,
digita
IAM Service Account
nella barra dei filtri e poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:- Nel menu Risorse attive, seleziona Service account IAM.
- Nel menu Categorie di metriche attive, seleziona Service_account.
- Nel menu Metriche attive, seleziona una metrica del account di servizio.
Le seguenti metriche sono disponibili nell'intervallo di tempo selezionato:
- Per le metriche di utilizzo del account di servizio, seleziona Eventi di autenticazione del service account.
- Per le metriche di utilizzo delle chiavi del account di servizio, seleziona Eventi di autenticazione delle chiavi del service account.
- Fai clic su Applica.
Per rimuovere le serie temporali dalla visualizzazione, utilizza l'elemento Filtro.
Per combinare le serie temporali, utilizza i menu dell'elemento Aggregazione. Ad esempio, per visualizzare l'utilizzo della CPU per le VM, in base alla zona, imposta il primo menu su Media e il secondo menu su zona.
Tutte le serie temporali vengono visualizzate quando il primo menu dell'elemento Aggregazione è impostato su Nessuna aggregazione. Le impostazioni predefinite per l'elemento Aggregazione sono determinate dal tipo di metrica che hai selezionato.
- Per la quota e altre metriche che riportano un campione al giorno, procedi nel seguente modo:
- Nel riquadro Visualizzazione, imposta Tipo di widget su Grafico a barre in pila.
- Imposta il periodo di tempo su almeno una settimana.
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 Trusted Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.-
METRIC_TYPE
: il tipo di metrica che vuoi controllare. Utilizza uno dei seguenti valori:-
Per le metriche di utilizzo del account di servizio, utilizza
iam.googleapis.com%2Fservice_account%2Fauthn_events_count
. -
Per le metriche di utilizzo delle chiavi del account di servizio, utilizza
iam.googleapis.com%2Fservice_account%2Fkey%2Fauthn_events_count
.
-
Per le metriche di utilizzo del account di servizio, utilizza
END_TIME
: la fine dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 codificato in percentuale. Ad esempio2020-06-12T00%3A00%3A00.00Z
.START_TIME
: l'inizio dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio2020-04-12T00%3A00%3A00.00Z
.
Metodo 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
Per inviare la richiesta, espandi una di queste opzioni:
Per saperne 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 Trusted Cloud , vai alla pagina Service Accounts.
Seleziona il progetto che contiene il 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 il account di servizio.
(Facoltativo) Per visualizzare il grafico nella pagina Esplora metriche, che offre opzioni di visualizzazione e filtro aggiuntive, fai clic su > Visualizza in Esplora metriche.
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 l'ultima volta che l'account è stato utilizzato.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Trusted Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.-
SERVICE_ACCOUNT_ID
: l'ID numerico univoco del account di servizio. Per trovare l'ID numerico univoco del tuo account di servizio, segui questi passaggi:-
Nella console Trusted Cloud , vai alla pagina Service Accounts.
Vai alla pagina Service account - 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 codificato in percentuale. Ad esempio2020-06-12T00%3A00%3A00.00Z
.START_TIME
: l'inizio dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio2020-04-12T00%3A00%3A00.00Z
.
Metodo 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
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene un oggetto timeSeries
con tutti gli eventi di autenticazione recenti per l'account di servizio specificato.
Visualizza le metriche di utilizzo per una singola chiave del account di servizio
Per visualizzare le metriche di utilizzo per una singola chiave del account di servizio:
Console
Nella console Trusted Cloud , vai alla pagina Service Accounts.
Seleziona il progetto che contiene il account di servizio associato alla tua chiave.
Fai clic sull'indirizzo email del 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 al account di servizio.
Nella legenda del grafico, fai clic sull'ID della chiave del account di servizio di cui vuoi visualizzare le metriche di utilizzo. Il grafico viene aggiornato per mostrare le metriche solo per quella chiave delaccount di serviziot.
(Facoltativo) Per visualizzare il grafico nella pagina Esplora metriche, che offre opzioni di visualizzazione e filtro aggiuntive, fai clic su > Visualizza in Esplora metriche.
REST
Innanzitutto, recupera l'ID della chiave del account di servizio account.
Elenca le chiavi del account di servizio:
Il metodo
projects.serviceAccounts.keys.list
elenca tutte le chiavi del 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 Trusted Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.SA_NAME
: Il nome del account di servizio di cui vuoi elencare le chiavi.KEY_TYPES
: (Facoltativo) Un elenco separato da virgole dei tipi di chiavi che vuoi includere nella risposta. Il tipo di chiave indica se una chiave è gestita dall'utente (USER_MANAGED
) o dal sistema (SYSTEM_MANAGED
). Se lasciato vuoto, vengono restituite tutte le chiavi.
Metodo 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
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } ] }
Utilizza i metadati nella risposta per identificare la chiave che vuoi monitorare. Poi, 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 è tutto ciò che segue
keys/
.Ad esempio, l'ID univoco nel seguente nome della chiave è
0f561cc41650ff521899de2fd653bd3de08e2da4
:"name": "projects/my-project/serviceAccounts/my-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/0f561cc41650ff521899de2fd653bd3de08e2da4"
Quindi, utilizza l'ID per visualizzare le metriche di utilizzo per la chiave del account di servizio account.
Il metodo
timeSeries.list
dell'API Cloud Monitoring , se utilizzato con filtri specifici, consente di ottenere metriche di utilizzo per
una singola chiave del account di servizio. Puoi quindi utilizzare queste metriche per determinare quando è stata utilizzata l'ultima volta la chiave.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Trusted Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.KEY_ID
: l'ID univoco della chiave del account di servizio.END_TIME
: la fine dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 codificato in percentuale. Ad esempio2020-06-12T00%3A00%3A00.00Z
.START_TIME
: l'inizio dell'intervallo di tempo che vuoi controllare, in formato RFC 3339 con codifica percentuale. Ad esempio2020-04-12T00%3A00%3A00.00Z
.
Metodo 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
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene un oggetto timeSeries
con tutti gli eventi di autenticazione recenti per la chiave del account di servizio specificata.
Visualizzare l'attività sospetta del account di servizio
Puoi utilizzare Event Threat Detection per monitorare l'attività sospetta del account di servizio. Event Threat Detection segnala quando i service account inattivi attivano azioni. I service account inattivi sono service account che non sono più attivi da più di 180 giorni.
Passaggi successivi
- Scopri come disattivare i service account o eliminarli.
- Scopri come eliminare le account di servizio account.
- Esplora le funzionalità offerte da Monitoring.