Trova gli account di servizio con autorizzazioni di movimento laterale

Questa pagina mostra come gestire gli approfondimenti sui movimenti laterali, che identificano i ruoli che consentono a un account di servizio in un progetto di simulare l'identità di un account di servizio in un altro progetto. Per ulteriori informazioni sugli approfondimenti sul movimento laterale, consulta Come vengono generati gli approfondimenti sul movimento laterale.

Le informazioni sul movimento laterale a volte sono collegate a dei ruoli. I suggerimenti sui ruoli suggeriscono azioni che per risolvere i problemi identificati dagli approfondimenti sui movimenti laterali.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire gli approfondimenti sui movimenti laterali, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto, la cartella o l'organizzazione per cui vuoi gestire gli approfondimenti:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

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

Autorizzazioni obbligatorie

Per gestire gli insight sul lateral movement sono necessarie le seguenti autorizzazioni:

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

Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.

Elenca informazioni sul movimento laterale

Per elencare tutti gli approfondimenti sui movimenti laterali per il tuo progetto, la tua cartella o la tua 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 approfondimenti relativi alla sicurezza per il tuo progetto, inclusi insight sul movimento laterale. Le informazioni sul movimento laterale hanno la forma N service account impersonations, dove N è il numero di account di servizio in cui l'account di servizio l'associazione dei ruoli può rappresentare.

gcloud

Utilizza il comando gcloud recommender insights list per visualizzare tutte le informazioni sul movimento laterale per il tuo progetto, cartella, o organizzazione.

Prima di eseguire il comando, sostituisci i seguenti valori:

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

L'output elenca tutte le informazioni sul movimento laterale per il progetto, cartella, o 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 approfondimenti sui movimenti laterali per il tuo progetto, cartella o organizzazione.

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

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi elencare gli approfondimenti. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, cartella, o all'organizzazione per cui vuoi elencare gli insight.
  • PROJECT_ID: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 delle seguenti opzioni:

La risposta elenca tutte le informazioni sul movimento laterale per il tuo progetto, cartella, o 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 saperne di più sui componenti di un'intuizione, consulta Esaminare gli approfondimenti sul movimento laterale in questa pagina.

Ottenere un singolo insight sul movimento laterale

Per ottenere ulteriori informazioni su un singolo insight, inclusa la descrizione, lo stato e gli eventuali consigli 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 sul lateral movement. Le informazioni sul movimento laterale hanno la forma N service account impersonations, dove N è il numero di account di servizio in cui l'account di servizio l'associazione dei ruoli può rappresentare.

Nella console Google Cloud si apre un riquadro che mostra i dettagli dell'intuizione.

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'informazione che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti per il tuo progetto, la tua cartella o la tua 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, cartella, o all'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'informazione nel dettaglio. Ad esempio, la seguente informazione indica che il criterio IAM nel progetto 123456789012 consente a sa-1@another-project.iam.gserviceaccount.com di assumere l'identità di 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 saperne di più sui componenti di un'intuizione, consulta Esaminare gli approfondimenti sui movimenti laterali 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 approfondimenti. Utilizza il valore projects, folders, o organizations.
  • RESOURCE_ID: l'ID del progetto, cartella, o l'organizzazione che vuoi che gestisca gli insight .
  • INSIGHT_ID: l'ID dell'informazione che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elenca gli approfondimenti nel tuo progetto, cartella, o organizzazione. L'ID di un approfondimento è tutto dopo insights/ nel campo name per l'approfondimento.
  • PROJECT_ID: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 delle seguenti opzioni:

La risposta contiene l'insight. Ad esempio, la seguente informazione indica che il criterio IAM nel progetto 123456789012 consente a sa-1@another-project.iam.gserviceaccount.com di assumere l'identità di 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 informazioni sul movimento laterale in questa pagina.

Rivedi informazioni sul movimento laterale

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

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 dal fatto che l'informazione sia associata a un consiglio.

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

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

  • Il 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 l'account di servizio con autorizzazioni di rappresentazione può simulare.

  • Autorizzazioni che consentono la rappresentazione nel progetto: un elenco delle le 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 suoi sottotipi. Insight sui movimenti laterali (google.iam.policy.LateralMovementInsight) hanno il sottotipo CROSS_PROJECT_IMPERSONATION.

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

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

    • hasPermissionUsageData: un valore booleano che indica se sono disponibili dati sull'utilizzo delle autorizzazioni per questa associazione dei ruoli. I dati sull'utilizzo delle autorizzazioni indicano se le autorizzazioni nel ruolo dell'associazione. 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 un'autorizzazione è stata utilizzata negli ultimi 90 giorni, è considerata utilizzata. In caso contrario, viene considerata inutilizzata.

      Se hasPermissionUsageData è falso, il campo impersonationPermissionUsage è vuoto.

    • impersonationPolicy: informazioni sull'associazione dei ruoli che fornisce le autorizzazioni di rappresentazione dell'account di servizio.
    • impersonator: dettagli sull'account di servizio autorizzato a impersonare il servizio di fatturazione 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 Google possiede l'account di servizio, il valore di questo campo è Google managed. Se un progetto esterno all'organizzazione è proprietario dell'account di servizio, il valore di questo campo è Unknown to your org.
    • targetServiceAccounts: un elenco degli account di servizio in cui l'account di servizio Il campo impersonator è autorizzato a utilizzare l'identità. Se il malintenzionato può rubare l'identità più di 1500 account di servizio, l'elenco è vuoto. Per sapere quanti account di servizio può impersonare un utente, consulta il campo description.
  • description: un riepilogo leggibile dell'insight.
  • etag: un identificatore univoco per lo stato corrente di un'intuizione. 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 consente di garantire che eventuali operazioni vengano eseguite solo se l'approfondimento non è cambiato dall'ultima volta che lo hai recuperato.

  • insightSubtype: il sottotipo di approfondimento.
  • lastRefreshTime: la data dell'ultimo aggiornamento dell'approfondimento, che indica l'aggiornamento dei dati utilizzati per generarlo.
  • 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: il periodo di tempo che ha portato all'approfondimento. I dati di origine utilizzati per generare l'approfondimento terminano il giorno lastRefreshTime e iniziano il giorno lastRefreshTime meno observationPeriod.
  • severity: la gravità dell'approfondimento. Tutti gli approfondimenti sul movimento laterale hanno una gravità pari a LOW.
  • stateInfo: gli approfondimenti passano attraverso più transizioni di stato dopo essere stati proposti:

    • ACTIVE: l'insight è stato generato, ma non è stata eseguita alcuna azione. o è 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 all'intuizione. Gli approfondimenti vengono accettati quando un consiglio associato è contrassegnato come CLAIMED, SUCCEEDED o FAILED oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento è nello stato ACCEPTED, i contenuti dell'insight non possono modifica. Gli approfondimenti accettati vengono conservati per 90 giorni dopo la loro accettazione.
  • targetResources: il nome completo della risorsa dell'organizzazione, della cartella, del progetto o dell'account di servizio a cui si riferisce l'informazione. Ad esempio, //cloudresourcemanager.googleapis.com/projects/123456789012.

REST

I contenuti di un'intuizione sono determinati dai relativi sottotipi. Insight sui movimenti laterali (google.iam.policy.LateralMovementInsight) hanno il sottotipo CROSS_PROJECT_IMPERSONATION.

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

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

    • hasPermissionUsageData: un valore booleano che indica se sono disponibili dati sull'utilizzo delle autorizzazioni per questa associazione dei ruoli. I dati sull'utilizzo delle autorizzazioni indicano se le autorizzazioni nel ruolo dell'associazione. 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 un'autorizzazione è stata utilizzata negli ultimi 90 giorni, è considerata utilizzata. In caso contrario, viene considerata inutilizzata.

      Se hasPermissionUsageData è falso, il campo impersonationPermissionUsage è vuoto.

    • impersonationPolicy: informazioni sull'associazione dei ruoli che fornisce le autorizzazioni di rappresentazione dell'account di servizio.
    • impersonator: dettagli sull'account di servizio autorizzato a impersonare il servizio di fatturazione 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 Google possiede l'account di servizio, il valore di questo campo è Google managed. Se un progetto esterno all'organizzazione è proprietario dell'account di servizio, il valore di questo campo è Unknown to your org.
    • targetServiceAccounts: un elenco degli account di servizio in cui l'account di servizio Il campo impersonator è autorizzato a utilizzare l'identità. Se il malintenzionato può rubare l'identità più di 1500 account di servizio, l'elenco è vuoto. Per sapere quanti account di servizio può impersonare un utente, consulta il campo description.
  • description: un riepilogo leggibile dell'insight.
  • etag: un identificatore univoco per lo stato corrente di un'intuizione. 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 consente di garantire che eventuali operazioni vengano eseguite solo se l'approfondimento non è cambiato dall'ultima volta che lo hai recuperato.

  • insightSubtype: il sottotipo di approfondimento.
  • lastRefreshTime: la data dell'ultimo aggiornamento dell'approfondimento, che indica l'aggiornamento dei dati utilizzati per generarlo.
  • 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: il periodo di tempo che ha portato all'approfondimento. I dati di origine utilizzati per generare l'approfondimento terminano il giorno lastRefreshTime e iniziano il giorno lastRefreshTime meno observationPeriod.
  • severity: la gravità dell'approfondimento. Tutti gli approfondimenti sul movimento laterale hanno una gravità pari a LOW.
  • stateInfo: gli approfondimenti passano attraverso più transizioni di stato dopo essere stati proposti:

    • ACTIVE: l'insight è stato generato, ma non è stata eseguita alcuna azione. o è stata intrapresa un'azione senza aggiornare lo stato dell'insight. Gli insight attivi vengono aggiornati quando i dati sottostanti cambiano.
    • ACCEPTED: sono state intraprese azioni in base alle informazioni. Gli approfondimenti vengono accettati quando un consiglio associato è contrassegnato come CLAIMED, SUCCEEDED o FAILED oppure quando l'approfondimento è 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 dell'organizzazione, della cartella, del progetto o dell'account di servizio a cui si riferisce l'informazione. Ad esempio: //cloudresourcemanager.googleapis.com/projects/123456789012.

Contrassegna un insight sul movimento laterale come ACCEPTED

Se intervieni sulla base di un approfondimento attivo, puoi contrassegnarlo come ACCEPTED. Lo stato ACCEPTED indica all'API Recommender che hai intrapreso un'azione in base a questa informazione, il che contribuisce a perfezionare i consigli.

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

Console

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

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

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'informazione che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti relativi alla tua progetto, cartella, o organizzazione.
  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire gli approfondimenti. Utilizza il valore project, folder, o organization.
  • RESOURCE_ID: l'ID del progetto, cartella, o all'organizzazione per cui vuoi gestire gli insight.
  • ETAG: un identificatore per una versione dell'approfondimento. A scarica etag, procedi nel seguente modo:

    1. Ottieni l'insight utilizzando il comando gcloud recommender insights describe.
    2. Trova e copia il valore etag dall'output, incluse 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'insight, 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 saperne di più sulle informazioni sullo stato di un'intuizione, consulta Esaminare gli approfondimenti sui movimenti laterali in questa pagina.

REST

Il metodo insights.markAccepted dell'API Recommender contrassegna un'intuizione come ACCEPTED.

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

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire gli approfondimenti. Utilizza il valore projects, folders, o organizations.
  • RESOURCE_ID: l'ID del progetto, cartella, o l'organizzazione che vuoi che gestisca gli insight .
  • INSIGHT_ID: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elencando gli insight nel 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 dell'approfondimento. A scarica etag, procedi nel seguente modo:
    1. Ottieni le informazioni utilizzando il metodo insights.get.
    2. Individua e copia il valore etag dalla risposta.
  • PROJECT_ID: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 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'intuizione, consulta Esaminare gli approfondimenti sui movimenti laterali in questa pagina.

Passaggi successivi