Trova gli account di servizio con autorizzazioni di movimento laterale

Questa pagina mostra come gestire gli insight sui movimenti laterali, che identificano i ruoli che consentono a un account di servizio in un progetto di impersonare un account di servizio in un altro progetto. Per ulteriori informazioni sugli approfondimenti per i movimenti laterali, vedi Come vengono generati gli approfondimenti di movimento laterale.

A volte le informazioni sul movimento laterale sono collegate ai consigli relativi al ruolo. I consigli sui ruoli suggeriscono azioni che puoi intraprendere per risolvere i problemi identificati dalle informazioni laterali sul movimento laterale.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire gli insight sui movimenti laterali, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione per cui vuoi gestire gli insight:

  • Per visualizzare gli approfondimenti relativi al movimento laterale: Visualizzatore motore per suggerimenti IAM (roles/recommender.iamViewer)
  • Per modificare gli approfondimenti di spostamento laterale: Amministratore motore per suggerimenti IAM (roles/recommender.iamAdmin)

Per maggiori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire gli approfondimenti di movimento laterale. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

  • Per visualizzare le informazioni sugli spostamenti laterali:
    • recommender.iamPolicyLateralMovementInsights.get
    • recommender.iamPolicyLateralMovementInsights.list
  • Per modificare le informazioni sul movimento laterale: recommender.iamPolicyLateralMovementInsights.update

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Elenca insight sui movimenti laterali

Per elencare tutti gli insight sui movimenti laterali per il progetto, la cartella o l'organizzazione, utilizza uno dei seguenti metodi:

console

  1. Nella console, vai alla pagina IAM.

    Vai a IAM

  2. Seleziona un progetto, una cartella o un'organizzazione.

La colonna Insight di sicurezza mostra tutti gli insight relativi alla sicurezza per il tuo progetto, inclusi gli insight sui movimenti laterali. Gli insight sui movimenti laterali hanno il formato N service account impersonations, dove N è il numero di account di servizio che l'account di servizio nell'associazione dei ruoli può rubare.

gcloud

Utilizza il comando gcloud recommender insights list per visualizzare tutte le informazioni sugli spostamenti laterali per il progetto, la cartella o l'organizzazione.

Prima di eseguire il comando, sostituisci i seguenti valori:

  • RESOURCE_TYPE: tipo di risorsa per cui vuoi elencare gli insight. Utilizza il valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione per cui vuoi elencare gli insight.
gcloud recommender insights list --insight-type=google.iam.policy.LateralMovementInsight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

L'output elenca tutti gli insight sui movimenti laterali per il progetto, la cartella o l'organizzazione. Ad esempio:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE              DESCRIPTION
046f8b89-bcee-46cd-9ac4-06818ed5273a  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
1328df82-5af2-4493-9850-d8ede4e72b27  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-2@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
17f50957-333c-4f21-86c1-6a62216b309e  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-3@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
187200d2-b42c-48fb-86d7-c2746a87fed2  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-4@another-project.iam.gserviceaccount.com from another project can impersonate 32 service account(s) under this project.
1f1740a4-ff98-4f64-99a4-5ef5df5a2097  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-5@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.

REST

Il metodo insights.list dell'API motore per suggerimenti elenca tutti gli insight sui movimenti laterali per il progetto, la cartella o l'organizzazione.

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

  • RESOURCE_TYPE: tipo di risorsa per cui vuoi elencare gli insight. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione per cui vuoi elencare gli insight.

Metodo HTTP e URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights

Per inviare la richiesta, espandi una delle seguenti opzioni:

La risposta elenca tutti gli insight sui movimenti laterali per il progetto, la cartella o l'organizzazione. Ad esempio:

{
  "insights": [
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
      "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
      "content": {
        "impersonator": {
          "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
          "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
          "isGoogleManaged": false
        },
        "targetServiceAccounts": [
          "target-service-account-1@this-project.iam.gserviceaccount.com",
          "target-service-account-2@this-project.iam.gserviceaccount.com"
        ],
        "impersonationPolicy": {
          "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
          "role": "roles/editor",
          "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
          "condition": {
            "expression": "",
            "title": "",
            "description": "",
            "location": ""
          }
        },
        "impersonationPermissionUsage": [
          {
            "permission": "iam.serviceAccounts.actAs"
            "used": false
          }
        ],
        "hasPermissionUsageData": true
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7776000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
        }
      ],
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
      "etag": "\"f48fa6a1b15c7741\"",
      "severity": "LOW"
    }
  ]
}

Per scoprire di più sui componenti di un approfondimento, consulta Esaminare le informazioni sugli spostamenti laterali in questa pagina.

Acquisisci informazioni strategiche sui singoli movimenti laterali

Per ottenere maggiori informazioni su un singolo approfondimento, tra cui la descrizione, lo stato e gli eventuali suggerimenti a cui è associato, utilizza uno dei seguenti metodi:

console

  1. Nella console, vai alla pagina IAM.

    Vai a IAM

  2. Seleziona un progetto, una cartella o un'organizzazione.
  3. Nella colonna Informazioni sulla sicurezza, fai clic su un approfondimento laterale. Gli insight sui movimenti laterali hanno il formato N service account impersonations, dove N è il numero di account di servizio che l'account di servizio nell'associazione dei ruoli può rubare.

Nella console si apre un riquadro che mostra i dettagli dell'approfondimento.

gcloud

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

  • INSIGHT_ID: l'ID dell'approfondimento che vuoi visualizzare. Per trovare l'ID, elenca gli insight per il tuo progetto, la cartella o l'organizzazione.
  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli insight.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.LateralMovementInsight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

L'output mostra l'approfondimento. Ad esempio, il seguente approfondimento indica che il criterio IAM sul progetto 123456789012 consente a sa-1@another-project.iam.gserviceaccount.com di impersonare target-service-account-1@this-project.iam.gserviceaccount.com e target-service-account-2@this-project.iam.gserviceaccount.com.

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f
category: SECURITY
content:
  hasPermissionUsageData: true
  impersonationPermissionUsage:
  - permission: iam.serviceAccounts.actAs
    used: false
  impersonationPolicy:
    condition:
      description: ''
      expression: ''
      location: ''
      title: ''
    member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com
    resource: //cloudresourcemanager.googleapis.com/projects/123456789012
    role: roles/editor
  impersonator:
    isGoogleManaged: false
    serviceAccount: sa-1@another-project.iam.gserviceaccount.com
    serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098
  targetServiceAccounts:
  - target-service-account-1@this-project.iam.gserviceaccount.com
  - target-service-account-2@this-project.iam.gserviceaccount.com
description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
etag: '"f48fa6a1b15c7741"'
insightSubtype: CROSS_PROJECT_IMPERSONATION
lastRefreshTime: '2022-05-24T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
observationPeriod: 7776000s
severity: LOW
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Per scoprire di più sui componenti di un approfondimento, consulta Esaminare le informazioni sugli spostamenti laterali in questa pagina.

REST

Il metodo insights.get del motore per suggerimenti riceve un singolo approfondimento.

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

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione 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, nella cartella o nell'organizzazione. L'ID di un approfondimento è tutto dopo insights/ nel campo name per l'approfondimento.

Metodo HTTP e URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

Per inviare la richiesta, espandi una delle seguenti opzioni:

La risposta contiene l'approfondimento. Ad esempio, il seguente approfondimento indica che il criterio IAM sul progetto 123456789012 consente a sa-1@another-project.iam.gserviceaccount.com di impersonare target-service-account-1@this-project.iam.gserviceaccount.com e target-service-account-2@this-project.iam.gserviceaccount.com.

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
  "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
  "content": {
    "impersonator": {
      "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
      "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
      "isGoogleManaged": false
    },
    "targetServiceAccounts": [
      "target-service-account-1@this-project.iam.gserviceaccount.com",
      "target-service-account-2@this-project.iam.gserviceaccount.com"
    ],
    "impersonationPolicy": {
      "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
      "role": "roles/editor",
      "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
      "condition": {
        "expression": "",
        "title": "",
        "description": "",
        "location": ""
      }
    },
    "impersonationPermissionUsage": [
      {
        "permission": "iam.serviceAccounts.actAs"
        "used": false
      }
    ],
    "hasPermissionUsageData": true
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
  "etag": "\"f48fa6a1b15c7741\"",
  "severity": "LOW"
}

Per scoprire di più sui componenti di un approfondimento, consulta Esaminare le informazioni sugli spostamenti laterali in questa pagina.

Esaminare le informazioni sugli spostamenti laterali

Dopo aver ricevuto un singolo insight, puoi esaminarne i contenuti per comprendere lo schema di utilizzo delle risorse evidenziato.

console

Quando fai clic su un'informazione di movimento laterale nella console, la console apre un riquadro che mostra i dettagli dell'approfondimento. L'aspetto di questi dettagli dipende dal fatto che l'approfondimento sia associato a un consiglio.

Se le informazioni sono associate a un consiglio, il riquadro mostra i dettagli del consiglio.

Se l'approfondimento non è associato a un consiglio, il riquadro mostra quanto segue:

  • Progetto di origine dell'account di servizio: il progetto in cui è stato creato l'account di servizio con autorizzazioni di rappresentazione.

  • Account di servizio che possono essere rappresentati in questo progetto. Un elenco di tutti gli account di servizio nel progetto corrente che possono essere rappresentati dall'account di servizio con autorizzazioni di rappresentazione.

  • Autorizzazioni che consentono la rappresentazione nel progetto: un elenco delle autorizzazioni di rappresentazione dell'account di servizio.

  • Autorizzazioni attuali: un elenco di tutte le autorizzazioni dell'account di servizio.

gcloud

I contenuti di un approfondimento sono determinati dai relativi sottotipi. Gli approfondimenti degli spostamenti laterali (google.iam.policy.LateralMovementInsight) hanno il sottotipo CROSS_PROJECT_IMPERSONATION.

Gli approfondimenti CROSS_PROJECT_IMPERSONATION hanno i seguenti componenti, non necessariamente in questo ordine:

  • associatedRecommendations: gli identificatori per eventuali consigli associati all'approfondimento. Se non sono disponibili suggerimenti associati all'approfondimento, questo campo è vuoto.
  • category: la categoria degli insight IAM è sempre SECURITY.
  • content: segnala i dettagli della capacità dell'account di servizio di impersonare account di servizio in altri progetti. Questo campo contiene i seguenti componenti:

    • hasPermissionUsageData: un valore booleano che indica se esistono dati sull'utilizzo delle autorizzazioni per questa associazione di ruoli. I dati sull'utilizzo delle autorizzazioni indicano se le autorizzazioni nell'associazione dei ruoli sono state utilizzate. Questi dati non sono disponibili per le associazioni di ruoli condizionali.
    • impersonationPermissionUsage: un elenco delle autorizzazioni di rappresentazione e delle relative informazioni sull'utilizzo. Se è stata utilizzata un'autorizzazione negli ultimi {{lmi_permission_usage_period}} giorni, viene considerata utilizzata. In caso contrario, viene considerato inutilizzato.

      Se hasPermissionUsageData è falso, il campo impersonationPermissionUsage è vuoto.

    • impersonationPolicy: informazioni sull'associazione dei ruoli che concede le autorizzazioni di rappresentazione dell'account di servizio.
    • impersonator: dettagli sull'account di servizio che è autorizzato a impersonare gli account di servizio nel progetto, tra cui:
      • isGoogleManaged: indica se l'account di servizio è di proprietà e gestito da Google.
      • serviceAccount: l'indirizzo email dell'account di servizio.
      • serviceAccountOwner: il progetto proprietario dell'account di servizio. Se Google possiede l'account di servizio, il valore di questo campo è Google managed. Se un progetto al di fuori della tua organizzazione è proprietario dell'account di servizio, il valore di questo campo è Unknown to your org.
    • targetServiceAccounts: un elenco degli account di servizio che l'account di servizio nel campo impersonator è autorizzato a utilizzare. Se il furto d'identità può rappresentare più di 1500 account di servizio, l'elenco è vuoto. Per sapere quanti account di servizio possono impersonare il furto d'identità, consulta il campo description.
  • description: un riepilogo leggibile degli insight.
  • etag: un identificatore univoco per lo stato corrente di un approfondimento. Ogni volta che l'approfondimento cambia, viene assegnato un nuovo valore etag.

    Per modificare lo stato di un approfondimento, devi fornire il etag dell'approfondimento esistente. L'uso dell'etag garantisce che le operazioni vengano eseguite solo se l'approfondimento non è cambiato dall'ultimo recupero.

  • insightSubtype: il sottotipo di approfondimento.
  • 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:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

    I segnaposto hanno i seguenti valori:

    • RESOURCE_TYPE: il tipo di risorsa per cui è stato generato l'approfondimento.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione in cui è stato generato l'approfondimento.
    • INSIGHT_ID: un ID univoco per l'approfondimento.
  • observationPeriod: periodo di tempo che precede l'approfondimento. L'origine dati utilizzata per generare l'approfondimento termina alle ore lastRefreshTime e inizia da lastRefreshTime meno observationPeriod.
  • severity: gravità dell'approfondimento. Tutti gli insight sui movimenti laterali hanno una gravità pari a LOW.
  • stateInfo: gli insight vengono sottoposti a più transizioni di stato dopo che vengono proposti:

    • ACTIVE: l'approfondimento è stato generato, ma non sono state eseguite azioni oppure è stata eseguita un'azione senza aggiornare lo stato dell'approfondimento. Gli insight attivi vengono aggiornati quando i dati sottostanti cambiano.
    • ACCEPTED: sono state intraprese alcune azioni in base alle informazioni ottenute. Gli approfondimenti vengono accettati quando un consiglio associato è stato contrassegnato come CLAIMED, SUCCEEDED o FAILED oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento è nello stato ACCEPTED, il contenuto dell'approfondimento non può cambiare. Gli approfondimenti accettati vengono conservati per 90 giorni dopo essere stati accettati.
  • targetResources: il nome completo della risorsa dell'organizzazione, della cartella, del progetto o dell'account di servizio oggetto dello insight. Ad esempio: //cloudresourcemanager.googleapis.com/projects/123456789012.

REST

I contenuti di un approfondimento sono determinati dai relativi sottotipi. Gli approfondimenti degli spostamenti laterali (google.iam.policy.LateralMovementInsight) hanno il sottotipo CROSS_PROJECT_IMPERSONATION.

Gli approfondimenti CROSS_PROJECT_IMPERSONATION hanno i seguenti componenti, non necessariamente in questo ordine:

  • associatedRecommendations: gli identificatori per eventuali consigli associati all'approfondimento. Se non sono disponibili suggerimenti associati all'approfondimento, questo campo è vuoto.
  • category: la categoria degli insight IAM è sempre SECURITY.
  • content: segnala i dettagli della capacità dell'account di servizio di impersonare account di servizio in altri progetti. Questo campo contiene i seguenti componenti:

    • hasPermissionUsageData: un valore booleano che indica se esistono dati sull'utilizzo delle autorizzazioni per questa associazione di ruoli. I dati sull'utilizzo delle autorizzazioni indicano se le autorizzazioni nell'associazione dei ruoli sono state utilizzate. Questi dati non sono disponibili per le associazioni di ruoli condizionali.
    • impersonationPermissionUsage: un elenco delle autorizzazioni di rappresentazione e delle relative informazioni sull'utilizzo. Se è stata utilizzata un'autorizzazione negli ultimi {{lmi_permission_usage_period}} giorni, viene considerata utilizzata. In caso contrario, viene considerato inutilizzato.

      Se hasPermissionUsageData è falso, il campo impersonationPermissionUsage è vuoto.

    • impersonationPolicy: informazioni sull'associazione dei ruoli che concede le autorizzazioni di rappresentazione dell'account di servizio.
    • impersonator: dettagli sull'account di servizio che è autorizzato a impersonare gli account di servizio nel progetto, tra cui:
      • isGoogleManaged: indica se l'account di servizio è di proprietà e gestito da Google.
      • serviceAccount: l'indirizzo email dell'account di servizio.
      • serviceAccountOwner: il progetto proprietario dell'account di servizio. Se Google possiede l'account di servizio, il valore di questo campo è Google managed. Se un progetto al di fuori della tua organizzazione è proprietario dell'account di servizio, il valore di questo campo è Unknown to your org.
    • targetServiceAccounts: un elenco degli account di servizio che l'account di servizio nel campo impersonator è autorizzato a utilizzare. Se il furto d'identità può rappresentare più di 1500 account di servizio, l'elenco è vuoto. Per sapere quanti account di servizio possono impersonare il furto d'identità, consulta il campo description.
  • description: un riepilogo leggibile degli insight.
  • etag: un identificatore univoco per lo stato corrente di un approfondimento. Ogni volta che l'approfondimento cambia, viene assegnato un nuovo valore etag.

    Per modificare lo stato di un approfondimento, devi fornire il etag dell'approfondimento esistente. L'uso dell'etag garantisce che le operazioni vengano eseguite solo se l'approfondimento non è cambiato dall'ultimo recupero.

  • insightSubtype: il sottotipo di approfondimento.
  • 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:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

    I segnaposto hanno i seguenti valori:

    • RESOURCE_TYPE: il tipo di risorsa per cui è stato generato l'approfondimento.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione in cui è stato generato l'approfondimento.
    • INSIGHT_ID: un ID univoco per l'approfondimento.
  • observationPeriod: periodo di tempo che precede l'approfondimento. L'origine dati utilizzata per generare l'approfondimento termina alle ore lastRefreshTime e inizia da lastRefreshTime meno observationPeriod.
  • severity: gravità dell'approfondimento. Tutti gli insight sui movimenti laterali hanno una gravità pari a LOW.
  • stateInfo: gli insight vengono sottoposti a più transizioni di stato dopo che vengono proposti:

    • ACTIVE: l'approfondimento è stato generato, ma non sono state eseguite azioni oppure è stata eseguita un'azione senza aggiornare lo stato dell'approfondimento. Gli insight attivi vengono aggiornati quando i dati sottostanti cambiano.
    • ACCEPTED: sono state intraprese alcune azioni in base alle informazioni ottenute. Gli approfondimenti vengono accettati quando un consiglio associato è stato contrassegnato come CLAIMED, SUCCEEDED o FAILED oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento è nello stato ACCEPTED, il contenuto dell'approfondimento non può cambiare. Gli approfondimenti accettati vengono conservati per 90 giorni dopo essere stati accettati.
  • targetResources: il nome completo della risorsa dell'organizzazione, della cartella, del progetto o dell'account di servizio oggetto dello insight. Ad esempio: //cloudresourcemanager.googleapis.com/projects/123456789012.

Contrassegna una panoramica laterale come ACCEPTED

Se intervieni in base a un insight attivo, puoi contrassegnare questo insight come ACCEPTED. Lo stato ACCEPTED indica all'API motore per suggerimenti che hai intrapreso un'azione in base a queste informazioni, il che aiuta a perfezionare i consigli per te.

Gli approfondimenti accettati vengono conservati per 90 giorni dopo che sono stati contrassegnati come ACCEPTED.

console

Se un approfondimento è associato a un consiglio, l'applicazione del consiglio modifica lo stato dell'approfondimento in ACCEPTED.

Per contrassegnare un approfondimento come ACCEPTED senza applicare un consiglio, utilizza l'interfaccia a riga di comando gcloud o l'API REST.

gcloud

Utilizza il comando gcloud recommender insights mark-accepted con il tuo ID approfondimento per contrassegnare un approfondimento come ACCEPTED.

  • INSIGHT_ID: l'ID dell'approfondimento che vuoi visualizzare. Per trovare l'ID, elenca gli insight per il tuo progetto, la cartella o l'organizzazione.
  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli insight.
  • ETAG: un identificatore per una versione degli insight. Per ottenere etag, procedi nel seguente modo:

    1. Acquisisci informazioni utilizzando il comando gcloud recommender insights describe.
    2. Trova e copia il valore etag dall'output, comprese le virgolette. Ad esempio, "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.iam.policy.LateralMovementInsight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

L'output mostra l'approfondimento, ora con lo stato ACCEPTED:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f
category: SECURITY
content:
  hasPermissionUsageData: true
  impersonationPermissionUsage:
  - permission: iam.serviceAccounts.actAs
    used: false
  impersonationPolicy:
    condition:
      description: ''
      expression: ''
      location: ''
      title: ''
    member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com
    resource: //cloudresourcemanager.googleapis.com/projects/123456789012
    role: roles/editor
  impersonator:
    isGoogleManaged: false
    serviceAccount: sa-1@another-project.iam.gserviceaccount.com
    serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098
  targetServiceAccounts:
  - target-service-account-1@this-project.iam.gserviceaccount.com
  - target-service-account-2@this-project.iam.gserviceaccount.com
description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
etag: '"f48fa6a1b15c7741"'
insightSubtype: CROSS_PROJECT_IMPERSONATION
lastRefreshTime: '2022-05-24T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
observationPeriod: 7776000s
severity: LOW
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Per scoprire di più sulle informazioni sullo stato relative a un approfondimento, consulta Esaminare le informazioni sugli spostamenti laterali in questa pagina.

REST

L'API insights.markAccepted del motore per suggerimenti contrassegna un insight come ACCEPTED.

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

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione 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, nella cartella o nell'organizzazione. L'ID di un approfondimento è tutto dopo insights/ nel campo name per l'approfondimento.
  • ETAG: un identificatore per una versione degli insight. Per ottenere etag, procedi nel seguente modo:
    1. Ottieni insight utilizzando il metodo insights.get.
    2. Trova e copia il valore etag dalla risposta.

Metodo HTTP e URL:

POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID:markAccepted

Corpo JSON richiesta:

{
  "etag": "ETAG"
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

La risposta contiene l'approfondimento, ora con lo stato ACCEPTED:

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
  "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
  "content": {
    "impersonator": {
      "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
      "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
      "isGoogleManaged": false
    },
    "targetServiceAccounts": [
      "target-service-account-1@this-project.iam.gserviceaccount.com",
      "target-service-account-2@this-project.iam.gserviceaccount.com"
    ],
    "impersonationPolicy": {
      "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
      "role": "roles/editor",
      "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
      "condition": {
        "expression": "",
        "title": "",
        "description": "",
        "location": ""
      }
    },
    "impersonationPermissionUsage": [
      {
        "permission": "iam.serviceAccounts.actAs"
        "used": false
      }
    ],
    "hasPermissionUsageData": true
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACCEPTED"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
  "etag": "\"f48fa6a1b15c7741\"",
  "severity": "LOW"
}

Per scoprire di più sulle informazioni sullo stato relative a un approfondimento, consulta Esaminare le informazioni sugli spostamenti laterali in questa pagina.

Passaggi successivi