Trova account di servizio con autorizzazioni di movimento laterale

Questa pagina mostra come gestire gli insight sul movimento laterale, 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 insight sul movimento laterale, consulta la sezione Come vengono generati gli insight sul movimento laterale.

Le informazioni sul movimento laterale a volte sono collegate a consigli sui ruoli. I suggerimenti sui ruoli suggeriscono azioni che puoi intraprendere per risolvere i problemi identificati dalle informazioni sui movimenti laterali.

Prima di iniziare

Ruoli obbligatori

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

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

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

Autorizzazioni obbligatorie

Per gestire le informazioni sul movimento laterale sono necessarie le seguenti autorizzazioni:

  • Per visualizzare informazioni sul movimento laterale:
    • recommender.iamPolicyLateralMovementInsights.get
    • recommender.iamPolicyLateralMovementInsights.list
  • Per modificare gli insight sul movimento laterale: recommender.iamPolicyLateralMovementInsights.update

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Elenca informazioni sul movimento laterale

Per elencare tutti gli insight sul movimento laterale per il progetto, la cartella o l'organizzazione, utilizza uno dei seguenti metodi:

Console

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

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

La colonna Approfondimenti sulla sicurezza mostra tutti gli insight relativi alla sicurezza per il tuo progetto, inclusi gli insight sui movimenti laterali. Gli insight sugli spostamenti laterali hanno il formato N service account impersonations, dove N è il numero di account di servizio che può essere rappresentato dall'account di servizio nell'associazione di ruoli.

gcloud

Utilizza il comando gcloud recommender insights list per visualizzare tutti gli insight sul movimento laterale per il progetto, la cartella o l'organizzazione.

Prima di eseguire il comando, sostituisci i seguenti valori:

  • RESOURCE_TYPE: il 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 sul movimento laterale 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 Recommender elenca tutti gli insight sul movimento laterale per il progetto, la cartella o l'organizzazione.

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

  • RESOURCE_TYPE: il 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.
  • PROJECT_ID: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche come my-project.

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 di queste opzioni:

La risposta elenca tutti gli insight sul movimento laterale 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 insight, consulta Esaminare le informazioni sul movimento laterale in questa pagina.

Ottieni solo dati sul movimento laterale

Per ottenere maggiori informazioni su un singolo insight, inclusi la descrizione, lo stato e gli eventuali suggerimenti associati, utilizza uno dei seguenti metodi:

Console

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Seleziona un progetto, una cartella o un'organizzazione.
  3. Nella colonna Approfondimenti sulla sicurezza, fai clic su un approfondimento sullo spostamento laterale. Gli insight sugli spostamenti laterali hanno il formato N service account impersonations, dove N è il numero di account di servizio che può essere rappresentato dall'account di servizio nell'associazione di ruoli.

La console Google Cloud apre un riquadro che mostra i dettagli dell'insight.

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 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'insight in dettaglio. Ad esempio, il seguente insight 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 insight, consulta Esaminare le informazioni sul movimento laterale in questa pagina.

REST

Il metodo insights.get dell'API Recommender riceve un singolo insight.

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 elencare gli insight nel progetto, nella cartella o nell'organizzazione. L'ID di un insight è costituito da tutto ciò che segue insights/ nel campo name per l'insight.
  • PROJECT_ID: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche come my-project.

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 di queste opzioni:

La risposta contiene l'insight. Ad esempio, il seguente insight 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 insight, consulta Esaminare le informazioni sul movimento laterale in questa pagina.

Rivedi le informazioni sul movimento laterale

Dopo aver ottenuto un singolo insight, puoi esaminarne i contenuti per comprendere il modello di utilizzo delle risorse evidenziato.

Console

Quando fai clic su un insight sul movimento laterale nella console Google Cloud, la console Google Cloud apre un riquadro che mostra i dettagli dell'insight. L'aspetto di questi dettagli dipende dall'eventuale associazione dell'insight a un suggerimento.

Se l'insight è associato a un suggerimento, il riquadro mostra i dettagli del suggerimento.

Se l'insight non è associato a un suggerimento, 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 attuale 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 insight sul movimento laterale (google.iam.policy.LateralMovementInsight) hanno il sottotipo CROSS_PROJECT_IMPERSONATION.

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

  • associatedRecommendations: gli identificatori per tutti i suggerimenti associati all'insight. Se non esistono suggerimenti associati all'insight, questo campo è vuoto.
  • category: la categoria per gli insight IAM è sempre SECURITY.
  • content: segnala i dettagli sulla 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 sono presenti dati sull'utilizzo delle autorizzazioni per questa associazione di ruoli. I dati sull'utilizzo delle autorizzazioni indicano se sono state utilizzate le autorizzazioni nell'associazione dei ruoli. Questi dati non sono disponibili per le associazioni di ruoli condizionali.
    • impersonationPermissionUsage: un elenco di autorizzazioni di rappresentazione e relative informazioni sull'utilizzo. Se un'autorizzazione è stata utilizzata negli ultimi 90 giorni, viene considerata usata. 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 dispone dell'autorizzazione per impersonare gli account di servizio nel tuo 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 l'account di servizio è di proprietà di Google, il valore di questo campo è Google managed. Se un progetto esterno alla tua organizzazione è proprietario dell'account di servizio, il valore di questo campo è Unknown to your org.
    • targetServiceAccounts: un elenco di account di servizio che l'account di servizio nel campo impersonator è autorizzato a impersonare. Se l'impersonificazione può impersonare più di 1500 account di servizio, l'elenco è vuoto. Per sapere quanti account di servizio può impersonare l'utente che ruba l'identità, consulta il campo description.
  • description: un riepilogo leggibile dell'approfondimento.
  • etag: un identificatore univoco dello stato attuale di un approfondimento. Ogni volta che l'approfondimento cambia, viene assegnato un nuovo valore etag.

    Per modificare lo stato di un insight, devi fornire il valore etag dell'insight esistente. L'utilizzo di etag contribuisce ad assicurare che le operazioni vengano eseguite solo se l'insight non è cambiato dall'ultimo recupero.

  • insightSubtype: il sottotipo di approfondimenti.
  • lastRefreshTime: la data dell'ultimo aggiornamento dell'insight, che indica l'aggiornamento dei dati utilizzati per generare l'insight.
  • 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'insight.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione 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 il giorno lastRefreshTime e iniziano a lastRefreshTime meno observationPeriod.
  • severity: la gravità dell'insight. Tutti gli insight sul movimento laterale hanno una gravità di LOW.
  • stateInfo: una volta proposte, gli approfondimenti passano attraverso più transizioni di stato:

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

REST

I contenuti di un approfondimento sono determinati dai relativi sottotipi. Gli insight sul movimento laterale (google.iam.policy.LateralMovementInsight) hanno il sottotipo CROSS_PROJECT_IMPERSONATION.

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

  • associatedRecommendations: gli identificatori per tutti i suggerimenti associati all'insight. Se non esistono suggerimenti associati all'insight, questo campo è vuoto.
  • category: la categoria per gli insight IAM è sempre SECURITY.
  • content: segnala i dettagli sulla 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 sono presenti dati sull'utilizzo delle autorizzazioni per questa associazione di ruoli. I dati sull'utilizzo delle autorizzazioni indicano se sono state utilizzate le autorizzazioni nell'associazione dei ruoli. Questi dati non sono disponibili per le associazioni di ruoli condizionali.
    • impersonationPermissionUsage: un elenco di autorizzazioni di rappresentazione e relative informazioni sull'utilizzo. Se un'autorizzazione è stata utilizzata negli ultimi 90 giorni, viene considerata usata. 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 dispone dell'autorizzazione per impersonare gli account di servizio nel tuo 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 l'account di servizio è di proprietà di Google, il valore di questo campo è Google managed. Se un progetto esterno alla tua organizzazione è proprietario dell'account di servizio, il valore di questo campo è Unknown to your org.
    • targetServiceAccounts: un elenco di account di servizio che l'account di servizio nel campo impersonator è autorizzato a impersonare. Se l'impersonificazione può impersonare più di 1500 account di servizio, l'elenco è vuoto. Per sapere quanti account di servizio può impersonare l'utente che ruba l'identità, consulta il campo description.
  • description: un riepilogo leggibile dell'approfondimento.
  • etag: un identificatore univoco dello stato attuale di un approfondimento. Ogni volta che l'approfondimento cambia, viene assegnato un nuovo valore etag.

    Per modificare lo stato di un insight, devi fornire il valore etag dell'insight esistente. L'utilizzo di etag contribuisce ad assicurare che le operazioni vengano eseguite solo se l'insight non è cambiato dall'ultimo recupero.

  • insightSubtype: il sottotipo di approfondimenti.
  • lastRefreshTime: la data dell'ultimo aggiornamento dell'insight, che indica l'aggiornamento dei dati utilizzati per generare l'insight.
  • 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'insight.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione 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 il giorno lastRefreshTime e iniziano a lastRefreshTime meno observationPeriod.
  • severity: la gravità dell'insight. Tutti gli insight sul movimento laterale hanno una gravità di LOW.
  • stateInfo: una volta proposte, gli approfondimenti passano attraverso più transizioni di stato:

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

Contrassegna un approfondimento sul movimento laterale come ACCEPTED

Se intervieni in base a un approfondimento attivo, puoi contrassegnare questo insight come ACCEPTED. Lo stato ACCEPTED indica all'API Recommender che hai eseguito un'azione in base a questo insight, il che consente di perfezionare i suggerimenti.

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

Console

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

Per contrassegnare un insight come ACCEPTED senza applicare un suggerimento, utilizza gcloud CLI o l'API REST.

gcloud

Utilizza il comando gcloud recommender insights mark-accepted con il tuo 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 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: l'identificatore di una versione dell'insight. Per ricevere etag, segui questi passaggi:

    1. Ottieni gli insight utilizzando il comando gcloud recommender insights describe.
    2. Trova e copia il valore etag dall'output, incluse le virgolette che le contengono. 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 di 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 saperne di più sulle informazioni sullo stato di un insight, consulta Esaminare le informazioni sul movimento laterale 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:

  • 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 elencare gli insight nel progetto, nella cartella o nell'organizzazione. L'ID di un insight è costituito da tutto ciò che segue insights/ nel campo name per l'insight.
  • ETAG: l'identificatore di una versione dell'insight. Per scaricare etag, segui questi passaggi:
    1. Ottieni insight utilizzando il metodo insights.get.
    2. Trova e copia il valore etag dalla risposta.
  • PROJECT_ID: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche come my-project.

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 della 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.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 saperne di più sulle informazioni sullo stato di un insight, consulta Esaminare le informazioni sul movimento laterale in questa pagina.

Passaggi successivi