Questa pagina mostra come gestire gli approfondimenti sul movimento laterale, che identificano i ruoli che consentono a unaccount di serviziot in un progetto di impersonare unaccount di serviziot in un altro progetto. Per ulteriori informazioni sugli insight sul movimento laterale, vedi Come vengono generati gli insight sul movimento laterale.
A volte gli approfondimenti sul movimento laterale sono collegati ai consigli sui ruoli. I suggerimenti sui ruoli indicano le azioni che puoi intraprendere per risolvere i problemi identificati dagli approfondimenti sul movimento laterale.
Prima di iniziare
-
Enable the Recommender API.
- Familiarità con i suggerimenti sui ruoli IAM.
- Assicurati di aver attivato a livello di organizzazione o progetto il livello Premium o Enterprise di Security Command Center. Per ulteriori informazioni, vedi Domande sulla fatturazione.
- (Facoltativo) Scopri di più sugli approfondimenti del motore per suggerimenti.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli approfondimenti sul movimento laterale, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione per cui vuoi gestire gli approfondimenti:
-
Per visualizzare gli approfondimenti sul movimento laterale:
Visualizzatore motore per suggerimenti IAM (
roles/recommender.iamViewer
) -
Per modificare gli approfondimenti sul movimento laterale:
Amministratore motore per suggerimenti IAM (
roles/recommender.iamAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire gli approfondimenti sul movimento laterale. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire gli insight sul lateral movement sono necessarie le seguenti autorizzazioni:
-
Per visualizzare gli insight sul movimento laterale:
-
recommender.iamPolicyLateralMovementInsights.get
-
recommender.iamPolicyLateralMovementInsights.list
-
-
Per modificare gli insight sul movimento laterale:
recommender.iamPolicyLateralMovementInsights.update
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Elenco degli insight sul movimento laterale
Per elencare tutti gli approfondimenti sul movimento laterale per il tuo progetto, la tua cartella o la tua organizzazione, utilizza uno dei seguenti metodi:Console
-
Nella console Google Cloud vai alla pagina IAM.
- 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 gli approfondimenti sul movimento laterale. Gli insight sul movimento laterale hanno la forma
N service account impersonations
, dove
N
è il numero di service account che il account di servizio nel
binding del ruolo può rappresentare.
gcloud
Utilizza il comando gcloud recommender
insights list
per visualizzare tutti gli insight 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 valoreproject
,folder
, oorganization
. -
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 tutti gli approfondimenti sul movimento laterale per il tuo 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 sul movimento laterale per il tuo progetto, la tua cartella o la tua 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 valoreprojects
,folders
, oorganizations
. -
RESOURCE_ID
: l'ID del progetto, della cartella o dell'organizzazione per cui vuoi elencare gli approfondimenti. PROJECT_ID
: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-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 approfondimenti 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 approfondimento, vedi Esaminare gli approfondimenti sul movimento laterale in questa pagina.
Ottenere un singolo insight sul movimento laterale
Per ottenere maggiori informazioni su un singolo approfondimento, inclusi descrizione, stato e eventuali consigli associati, utilizza uno dei seguenti metodi:
Console
-
Nella console Google Cloud vai alla pagina IAM.
- Seleziona un progetto, una cartella o un'organizzazione.
-
Nella colonna Approfondimenti sulla sicurezza, fai clic su un approfondimento sul lateral movement. Gli insight sul movimento laterale hanno la forma
N service account impersonations
, doveN
è il numero di service account che il account di servizio nel binding del ruolo può rappresentare.
La Google Cloud console apre un riquadro che mostra i dettagli dell'approfondimento.
gcloud
Utilizza il comando gcloud recommender
insights describe
con l'ID insight per visualizzare informazioni su un singolo
insight.
-
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti per il tuo progetto, cartella o organizzazione. -
RESOURCE_TYPE
: Il tipo di risorsa per cui vuoi gestire gli approfondimenti. Utilizza il valoreproject
,folder
, oorganization
. -
RESOURCE_ID
: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
L'output mostra in dettaglio l'approfondimento. Ad esempio, il seguente insight indica che il criterio IAM del progetto
123456789012
consente a sa-1@another-project.iam.gserviceaccount.com
di rappresentare 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 insight, vedi Esaminare gli insight sul movimento laterale in questa pagina.
REST
Il metodo
insights.get
dell'API Recommender recupera un singolo approfondimento.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
RESOURCE_TYPE
: Il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valoreprojects
,folders
, oorganizations
. -
RESOURCE_ID
: l'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti. -
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID approfondimento, puoi trovarlo elencando gli approfondimenti nel tuo progetto, cartella o organizzazione. L'ID di un insight è tutto ciò che segueinsights/
nel camponame
dell'insight. PROJECT_ID
: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-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'approfondimento. Ad esempio, il seguente insight indica che il criterio IAM del progetto
123456789012
consente a sa-1@another-project.iam.gserviceaccount.com
di rappresentare 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 saperne di più sui componenti di un insight, vedi Esaminare gli insight sul movimento laterale in questa pagina.
Esaminare gli insight sul movimento laterale
Dopo aver ottenuto un singolo approfondimento, puoi esaminarne i contenuti per comprendere il pattern di utilizzo delle risorse 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'insight sia associato a un suggerimento.
Se l'approfondimento è associato a un suggerimento, il riquadro mostra i dettagli del suggerimento.
Se l'insight non è associato a un consiglio, il riquadro mostra quanto segue:
-
Il progetto di origine del service account: il progetto in cui è stato creato il service account con autorizzazioni di rappresentazione.
-
Service account che possono essere rappresentati in questo progetto. Un elenco di tutti i service account nel progetto attuale che il account di servizio con autorizzazioni di rappresentazione può rappresentare.
-
Autorizzazioni che consentono la rappresentazione nel progetto: un elenco delle autorizzazioni di rappresentazione di cui dispone il account di servizio.
-
Autorizzazioni attuali: un elenco di tutte le autorizzazioni del account di servizio.
gcloud
I contenuti di un approfondimento sono determinati dai relativi sottotipi.
Gli approfondimenti sul movimento laterale (google.iam.policy.LateralMovementInsight
) hanno il sottotipo CROSS_PROJECT_IMPERSONATION
.
Gli approfondimenti di CROSS_PROJECT_IMPERSONATION
sono composti dai seguenti elementi, non necessariamente
in questo ordine:
-
associatedRecommendations
: Gli identificatori di eventuali suggerimenti associati all'insight. Se non sono presenti suggerimenti associati all'insight, questo campo è vuoto. -
category
: la categoria per gli approfondimenti IAM è sempreSECURITY
. -
content
: riporta i dettagli della capacità dell'account di servizio di simulare l'identità degli 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 dei ruoli. I dati sull'utilizzo delle autorizzazioni indicano se le autorizzazioni nel binding del ruolo sono state utilizzate. Questi dati non sono disponibili per i binding dei ruoli condizionali.impersonationPermissionUsage
: un elenco di autorizzazioni di rappresentazione e le relative informazioni sull'utilizzo. Se un'autorizzazione è stata utilizzata negli ultimi 90 giorni, è considerata utilizzata. In caso contrario, viene considerato inutilizzato.Se
hasPermissionUsageData
è false, il campoimpersonationPermissionUsage
è vuoto.impersonationPolicy
: informazioni sul binding del ruolo che concede le autorizzazioni di rappresentazione dell'account di servizio.impersonator
: dettagli sul account di servizio che ha l'autorizzazione a rappresentare service account nel tuo progetto, tra cui:isGoogleManaged
: indica se il account di servizio è di proprietà di Google e gestito da Google.serviceAccount
: l'indirizzo email del account di servizio.serviceAccountOwner
: il progetto proprietario del account di servizio. Se Google è proprietario del account di servizio, il valore di questo campo èGoogle managed
. Se un progetto al di fuori della tua organizzazione è proprietario del account di servizio, il valore di questo campo èUnknown to your org
.
targetServiceAccounts
: un elenco degli account di servizio per cui l'account di servizio nel campoimpersonator
dispone dell'autorizzazione a rappresentare. Se l'utente malintenzionato può impersonare più di 1500 service account, l'elenco è vuoto. Per scoprire quanti service account può impersonare l'utente che impersona, consulta il campodescription
.
-
description
: un riepilogo dell'insight leggibile. -
etag
: un identificatore univoco per lo stato attuale di un insight. Ogni volta che l'insight cambia, viene assegnato un nuovo valoreetag
.Per modificare lo stato di un approfondimento, devi fornire
etag
dell'approfondimento esistente. L'utilizzo dietag
consente di garantire che le operazioni vengano eseguite solo se l'insight non è cambiato dall'ultima volta che l'hai recuperato. -
insightSubtype
: Il sottotipo di insight. -
lastRefreshTime
: la data dell'ultimo aggiornamento dell'approfondimento, che indica l'aggiornamento dei dati utilizzati per generare l'approfondimento. -
name
: il nome dell'insight, 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'approfondimento. INSIGHT_ID
: un ID univoco per l'insight.
-
-
observationPeriod
: il periodo di tempo che precede l'insight. I dati di origine utilizzati per generare l'insight terminano il giornolastRefreshTime
e iniziano il giornolastRefreshTime
menoobservationPeriod
. -
severity
: la gravità dell'insight. Tutti gli insight sul movimento laterale hanno una gravità pari aLOW
. -
stateInfo
: gli approfondimenti passano attraverso più transizioni di stato dopo essere stati proposti:-
ACTIVE
: l'approfondimento è stato generato, ma non sono state intraprese azioni o è stata intrapresa un'azione senza aggiornare lo stato dell'approfondimento. Gli insight attivi vengono aggiornati quando cambiano i dati di base. -
ACCEPTED
: è stata intrapresa un'azione in base all'approfondimento. Gli approfondimenti vengono accettati quando un consiglio associato è stato contrassegnato comeCLAIMED
,SUCCEEDED
oFAILED
oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento si trova nello statoACCEPTED
, il suo contenuto non può cambiare. Gli approfondimenti accettati vengono conservati per 90 giorni dopo l'accettazione.
-
-
targetResources
: il nome completo della risorsa dell'organizzazione, della cartella, del progetto o del account di servizio a cui si riferisce l'approfondimento. Ad esempio,//cloudresourcemanager.googleapis.com/projects/123456789012
.
REST
I contenuti di un approfondimento sono determinati dai relativi sottotipi.
Gli approfondimenti sul movimento laterale (google.iam.policy.LateralMovementInsight
) hanno il sottotipo CROSS_PROJECT_IMPERSONATION
.
Gli approfondimenti di CROSS_PROJECT_IMPERSONATION
sono composti dai seguenti elementi, non necessariamente
in questo ordine:
-
associatedRecommendations
: Gli identificatori di eventuali suggerimenti associati all'insight. Se non sono presenti suggerimenti associati all'insight, questo campo è vuoto. -
category
: la categoria per gli approfondimenti IAM è sempreSECURITY
. -
content
: riporta i dettagli della capacità dell'account di servizio di simulare l'identità degli 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 dei ruoli. I dati sull'utilizzo delle autorizzazioni indicano se le autorizzazioni nel binding del ruolo sono state utilizzate. Questi dati non sono disponibili per i binding dei ruoli condizionali.impersonationPermissionUsage
: un elenco di autorizzazioni di rappresentazione e le relative informazioni sull'utilizzo. Se un'autorizzazione è stata utilizzata negli ultimi 90 giorni, è considerata utilizzata. In caso contrario, viene considerato inutilizzato.Se
hasPermissionUsageData
è false, il campoimpersonationPermissionUsage
è vuoto.impersonationPolicy
: informazioni sul binding del ruolo che concede le autorizzazioni di rappresentazione dell'account di servizio.impersonator
: dettagli sul account di servizio che ha l'autorizzazione a rappresentare service account nel tuo progetto, tra cui:isGoogleManaged
: indica se il account di servizio è di proprietà di Google e gestito da Google.serviceAccount
: l'indirizzo email del account di servizio.serviceAccountOwner
: il progetto proprietario del account di servizio. Se Google è proprietario del account di servizio, il valore di questo campo èGoogle managed
. Se un progetto al di fuori della tua organizzazione è proprietario del account di servizio, il valore di questo campo èUnknown to your org
.
targetServiceAccounts
: un elenco degli account di servizio per cui l'account di servizio nel campoimpersonator
dispone dell'autorizzazione a rappresentare. Se l'utente malintenzionato può impersonare più di 1500 service account, l'elenco è vuoto. Per scoprire quanti service account può impersonare l'utente che impersona, consulta il campodescription
.
-
description
: un riepilogo dell'insight leggibile. -
etag
: un identificatore univoco per lo stato attuale di un insight. Ogni volta che l'insight cambia, viene assegnato un nuovo valoreetag
.Per modificare lo stato di un approfondimento, devi fornire
etag
dell'approfondimento esistente. L'utilizzo dietag
consente di garantire che le operazioni vengano eseguite solo se l'insight non è cambiato dall'ultima volta che l'hai recuperato. -
insightSubtype
: Il sottotipo di insight. -
lastRefreshTime
: la data dell'ultimo aggiornamento dell'approfondimento, che indica l'aggiornamento dei dati utilizzati per generare l'approfondimento. -
name
: il nome dell'insight, 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'approfondimento. INSIGHT_ID
: un ID univoco per l'insight.
-
-
observationPeriod
: il periodo di tempo che precede l'insight. I dati di origine utilizzati per generare l'insight terminano il giornolastRefreshTime
e iniziano il giornolastRefreshTime
menoobservationPeriod
. -
severity
: la gravità dell'insight. Tutti gli insight sul movimento laterale hanno una gravità pari aLOW
. -
stateInfo
: gli approfondimenti passano attraverso più transizioni di stato dopo essere stati proposti:-
ACTIVE
: l'approfondimento è stato generato, ma non sono state intraprese azioni o è stata intrapresa un'azione senza aggiornare lo stato dell'approfondimento. Gli insight attivi vengono aggiornati quando cambiano i dati di base. -
ACCEPTED
: è stata intrapresa un'azione in base all'approfondimento. Gli approfondimenti vengono accettati quando un consiglio associato è stato contrassegnato comeCLAIMED
,SUCCEEDED
oFAILED
oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento si trova nello statoACCEPTED
, il suo contenuto non può cambiare. Gli approfondimenti accettati vengono conservati per 90 giorni dopo l'accettazione.
-
-
targetResources
: il nome completo della risorsa dell'organizzazione, della cartella, del progetto o del account di servizio a cui si riferisce l'approfondimento. Ad esempio,//cloudresourcemanager.googleapis.com/projects/123456789012
.
Contrassegnare un insight sul movimento laterale come ACCEPTED
Se intraprendi un'azione in base a un approfondimento attivo, puoi contrassegnarlo come
ACCEPTED
. Lo stato ACCEPTED
indica all'API
Recommender che hai intrapreso un'azione in base a questo
approfondimento, il che contribuisce a perfezionare i tuoi 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 insight come ACCEPTED
senza applicare un suggerimento, utilizza
gcloud CLI o l'API REST.
gcloud
Utilizza il comando
gcloud recommender insights mark-accepted
con l'ID approfondimento per contrassegnare
un approfondimento come ACCEPTED
.
-
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti per il tuo progetto, cartella o organizzazione. -
RESOURCE_TYPE
: Il tipo di risorsa per cui vuoi gestire gli approfondimenti. Utilizza il valoreproject
,folder
, oorganization
. -
RESOURCE_ID
: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti. -
ETAG
: un identificatore per una versione dell'insight. Per ottenereetag
, segui questi passaggi:-
Ottieni l'approfondimento utilizzando il comando
gcloud recommender insights describe
. -
Trova e copia il valore
etag
dall'output, incluse le virgolette di chiusura. Ad esempio,"d3cdec23cc712bd0"
.
-
Ottieni l'approfondimento utilizzando il comando
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 saperne di più sullo stato di un insight, vedi Esaminare gli insight sul movimento laterale in questa pagina.
REST
Il metodo
insights.markAccepted
dell'API Recommender contrassegna un approfondimento come ACCEPTED
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
RESOURCE_TYPE
: Il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valoreprojects
,folders
, oorganizations
. -
RESOURCE_ID
: l'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti. -
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID approfondimento, puoi trovarlo elencando gli approfondimenti nel tuo progetto, cartella o organizzazione. L'ID di un insight è tutto ciò che segueinsights/
nel camponame
dell'insight. -
ETAG
: un identificatore per una versione dell'insight. Per ottenereetag
, procedi nel seguente modo:- Ottieni l'approfondimento utilizzando il
metodo
insights.get
. - Trova e copia il valore di
etag
dalla risposta.
- Ottieni l'approfondimento utilizzando il
metodo
PROJECT_ID
: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-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'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 saperne di più sullo stato di un insight, vedi Esaminare gli insight sul movimento laterale in questa pagina.
Passaggi successivi
- Scopri come esaminare e applicare i suggerimenti per le norme.
- Utilizza l'hub dei suggerimenti per visualizzare e gestire tutti i suggerimenti per il tuo progetto, inclusi quelli IAM.