Trovare gli account di servizio inutilizzati

Questa pagina mostra come gestire gli insight sugli account di servizio, che sono risultati relativi a quali account di servizio nel progetto non sono stati utilizzati in passato per 90 giorni.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire gli insight sugli account di servizio, chiedi all'amministratore di concederti i seguenti ruoli IAM su cui vuoi eseguire gestire approfondimenti per:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questi ruoli predefiniti le autorizzazioni necessarie per gestire gli insight sugli account di servizio. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

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 riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.

Elenca insight account di servizio

Per elencare tutti gli insight sugli account di servizio per progetto, utilizza uno dei seguenti metodi:

gcloud

Utilizza il comando gcloud recommender insights list per visualizzare tutti gli insight sugli account di servizio per 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 sugli account di servizio per 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

L'API Recommender insights.list che elenca tutti gli insight sugli account di servizio 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 delle seguenti opzioni:

La risposta elenca tutti gli insight sugli account di servizio per 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 Esaminare insight sugli account di servizio in questa pagina.

Ricevi un unico insight sull'account di servizio

Per ottenere maggiori informazioni su un singolo approfondimento, tra cui la descrizione, lo stato e gli eventuali consigli associati, utilizza i seguenti metodi:

gcloud

Utilizza il comando gcloud recommender insights describe con il tuo ID insight per visualizzare le informazioni su un singolo o approfondimento.

  • INSIGHT_ID: l'ID dell'insight che vuoi vista. Per trovare l'ID, elenca gli approfondimenti relativi alla tua progetto.
  • PROJECT_ID: l'ID del il 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,i seguenti insight indicano che l'account di servizio L'autenticazione sa-1@my-project.iam.gserviceaccount.com non è stata eseguita dal giorno 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 Esaminare insight sugli account di servizio in questa pagina.

REST

L'API Recommender insights.get ottiene un singolo insight.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del il progetto per cui vuoi gestire gli insight.
  • INSIGHT_ID: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elenca gli approfondimenti nel tuo progetto. L'ID di un approfondimento è tutto dopo insights/ nel campo name per l'approfondimento.

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 delle seguenti opzioni:

La risposta contiene l'insight. Ad esempio,i seguenti insight indicano che l'account di servizio L'autenticazione sa-1@my-project.iam.gserviceaccount.com non è stata eseguita dal giorno 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 Esaminare insight sugli account di servizio in questa pagina.

Rivedi insight account di servizio

Dopo aver ottenuto un singolo insight, puoi esaminarne i contenuti per comprendere il pattern della risorsa l'utilizzo che mette in evidenza.

I contenuti di un approfondimento sono determinati dai suoi sottotipi. Insight sugli account di servizio (google.iam.serviceAccount.Insight) hanno il sottotipo SERVICE_ACCOUNT_USAGE.

SERVICE_ACCOUNT_USAGE insight includono i seguenti componenti, non necessariamente in questo ordine:

  • associatedRecommendations: gli identificatori di eventuali consigli associati con l'insight. Se non ci sono suggerimenti associati all'insight, questo campo è vuoto.
  • category: la categoria per gli insight IAM è sempre SECURITY.
  • content: segnala l'ultima volta che l'account di servizio è stato autenticato. Questo campo contiene il parametro i seguenti componenti:

    • email: l'indirizzo email dell'account di servizio.
    • lastAuthenticatedTime: l'ora più recente in cui 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 leggibile dell'approfondimento.
  • etag: un identificatore univoco per lo stato attuale di un approfondimento. Ogni volta che l'insight cambia, viene assegnato un nuovo valore etag.

    Per modificare lo stato di un approfondimento, devi fornire il etag del insight esistente. L'utilizzo di etag aiuta a garantire che tutte le operazioni vengano solo se l'insight non è cambiato dall'ultima volta che l'hai recuperato.

  • insightSubtype: il sottotipo di approfondimento.
  • lastRefreshTime: la data dell'ultimo aggiornamento dell'insight. Indica l'aggiornamento dei dati utilizzati per generare l'insight.
  • 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'insight.
  • observationPeriod: il periodo di tempo che ha portato all'approfondimento. La i dati di origine utilizzati per generare l'insight terminano alle ore lastRefreshTime e inizia alle ore lastRefreshTime meno observationPeriod.
  • stateInfo: gli insight vengono sottoposti a più transizioni di stato dopo viene proposto:

    • ACTIVE: l'insight è stato generato, ma non è stata eseguita alcuna azione. o è stata eseguita un'azione senza aggiornare lo stato dell'insight. Attivo gli insight vengono aggiornati quando i dati sottostanti cambiano.
    • ACCEPTED: sono state intraprese azioni in base alle informazioni. Consigli vengono accettati quando un consiglio associato è stato contrassegnato come CLAIMED SUCCEEDED, o FAILED, oppure l'insight è stato accettato direttamente. Quando un approfondimento è nello stato ACCEPTED, i contenuti dell'insight non possono modifica. Gli insight accettati vengono conservati per 90 giorni dopo vengono accettati.
  • targetResources: il nome completo della risorsa del progetto a cui sono destinati l'insight. Ad esempio: //cloudresourcemanager.googleapis.com/projects/123456789012.

Contrassegna un insight sull'account di servizio come ACCEPTED

Se intervieni sulla base di un approfondimento attivo, puoi contrassegnarlo come ACCEPTED. Lo stato ACCEPTED indica API Recommender che hai intrapreso in base a questo informazioni, che aiutano a perfezionare i consigli.

Gli insight accettati vengono conservati per 90 giorni dopo sono contrassegnati come ACCEPTED.

gcloud

Utilizza la Comando gcloud recommender insights mark-accepted con il tuo ID insight da contrassegnare un approfondimento come ACCEPTED.

  • INSIGHT_ID: l'ID dell'insight che vuoi vista. Per trovare l'ID, elenca gli approfondimenti relativi alla tua progetto.
  • PROJECT_ID: l'ID del il progetto per cui vuoi gestire gli insight.
  • ETAG: un identificatore di una versione dell'insight. A scarica etag, procedi nel seguente modo:

    1. Ottieni l'insight usando il comando gcloud recommender insights describe.
    2. Trova e copia il valore etag dall'output, incluso il relativo citazioni. Ad esempio, "d3cdec23cc712bd0".
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 approfondimento, consulta la sezione Esaminare insight sugli account di servizio in questa pagina.

REST

L'API Recommender insights.markAccepted contrassegna un insight come ACCEPTED.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del il progetto per cui vuoi gestire gli insight.
  • INSIGHT_ID: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elenca gli approfondimenti nel tuo progetto. L'ID di un approfondimento è tutto dopo insights/ nel campo name per l'approfondimento.
  • ETAG: un identificatore di una versione dell'insight. A scarica etag, procedi nel seguente modo:
    1. Ottieni informazioni utilizzando insights.get.
    2. Trova e copia il valore etag dalla risposta.

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 delle seguenti opzioni:

La risposta contiene l'insight, 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 scoprire di più sulle informazioni sullo stato di un approfondimento, consulta la sezione Esaminare insight sugli account di servizio in questa pagina.

Passaggi successivi