Gli approfondimenti di Cloud Asset Inventory possono aiutarti a rilevare potenziali rischi nelle configurazioni degli asset e a migliorare la tua strategia di sicurezza. Fa parte del servizio
Recommender ed è fornito come tipo di insight
google.cloudasset.asset.Insight.
Gli approfondimenti sono anomalie specifiche che richiedono ulteriori analisi per determinare l'azione appropriata. Vengono generati giornalmente in base a uno snapshot dei dati memorizzati in Cloud Asset Inventory.
Gli insight forniti da Cloud Asset Inventory si basano sui criteri IAM associati alle risorse della tua organizzazione.
Prima di iniziare
Prima di poter iniziare a utilizzare gli approfondimenti sugli asset, devi completare i seguenti passaggi.
Assicurati che il tuo account disponga delle seguenti autorizzazioni:
recommender.cloudAssetInsights.getrecommender.cloudAssetInsights.listrecommender.cloudAssetInsights.update
Puoi concedere queste autorizzazioni singolarmente oppure uno dei seguenti ruoli.
Ruolo Cloud Asset Insights Viewer (
roles/recommender.cloudAssetInsightsViewer)Ruolo Cloud Asset Insights Admin (
roles/recommender.cloudAssetInsightsAdmin)
Limitazioni
Questi approfondimenti non prendono in considerazione le iscrizioni ai gruppi o i service account come parte dei risultati e non devono essere considerati un elenco esaustivo delle vulnerabilità corrispondenti.
Gli insight individuali includono un campionamento delle policy IAM corrispondenti con un limite di 100 policy distinte. Tutti i criteri corrispondenti possono essere recuperati cercando i criteri di autorizzazione IAM sulle risorse.
Richiedere approfondimenti sugli asset
Il modo più semplice per richiedere approfondimenti sugli asset è elencarli, come mostrato nei passaggi seguenti. Per altri tipi di interazioni con gli approfondimenti, vedi Utilizzo dell'API - Approfondimenti.
gcloud
gcloud recommender insights list \ --SCOPE \ --location=global \ --insight-type=google.cloudasset.asset.Insight \ --filter="insightSubtype:SUBTYPE" \
Fornisci i seguenti valori:
-
SCOPE: utilizza uno dei seguenti valori:-
project=PROJECT_ID, dovePROJECT_IDè l'ID del progetto per cui vuoi ottenere insight. -
folder=FOLDER_ID, doveFOLDER_IDè l'ID della cartella per cui vuoi ottenere insight.Come trovare l'ID di una Google Cloud cartella
ConsoleGoogle Cloud
Per trovare l'ID di una Google Cloud cartella:
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco del selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di una cartella Google Cloud che si trova a livello di organizzazione con il seguente comando:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
dove TOP_LEVEL_FOLDER_NAME è una corrispondenza parziale o completa della stringa per il nome della cartella. Rimuovi il flag
--formatper visualizzare ulteriori informazioni sulle cartelle trovate.Il comando precedente non restituisce gli ID delle sottocartelle all'interno delle cartelle. Per farlo, esegui il comando seguente utilizzando l'ID di una cartella di primo livello:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID, doveORGANIZATION_IDè l'ID dell'organizzazione per cui vuoi ottenere insight.Come trovare l'ID di un' Google Cloud organizzazione
ConsoleGoogle Cloud
Per trovare l'ID di un'organizzazione, completa i seguenti passaggi: Google Cloud
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco del selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Fai clic sulla scheda Tutti. L'ID organizzazione viene visualizzato accanto al nome dell'organizzazione.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di un'organizzazione Google Cloud con il seguente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID: (Facoltativo) L'ID progetto in cui si trova l'agente di servizio Cloud Asset Inventory predefinito che dispone delle autorizzazioni per gestire la fatturazione e la quota. Scopri di più sull'impostazione del progetto di fatturazione. -
SUBTYPE: Il sottotipo di insight dell'asset. Uno dei seguenti valori:-
EXTERNAL_MEMBER: rileva le policy IAM contenenti utenti o gruppi che appartengono a un dominio esterno ai domini della tua organizzazione. -
EXTERNAL_POLICY_EDITOR: rileva i criteri IAM contenenti utenti o gruppi esterni ai domini della tua organizzazione a cui è stata concessa l'autorizzazione per modificare i criteri IAM. -
EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER: rileva i criteri IAM contenenti utenti o gruppi esterni ai domini della tua organizzazione a cui è stata concessa l'autorizzazione per ottenere o elencare oggetti di archiviazione (autorizzazionestorage.objects.listostorage.objects.get). -
EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR: rileva i criteri IAM contenenti utenti o gruppi al di fuori dei domini della tua organizzazione a cui è stato concesso il permesso di rappresentare gli account di servizio. -
TERMINATED_MEMBER: rileva le policy IAM contenenti utenti o gruppi con account disattivati, eliminati o cancellati. -
PUBLIC_IAM_POLICY: rileva le policy IAM contenenti tutti gli utenti o tutti gli utenti autenticati. -
OWNER_TERMINATED_PROJECT: rileva i progetti che non contengono utenti o gruppi attivi nelle norme IAM del progetto.
-
Se non specificato, vengono restituiti tutti i sottotipi.
Per tutte le opzioni, consulta il riferimento gcloud CLI.
Esempio
Esegui questo comando per elencare gli approfondimenti per il progetto my-project.
gcloud recommender insights list \ --project=my-project \ --location=global \ --insight-type=google.cloudasset.asset.Insight
Esempio di risposta
INSIGHT_ID: 00000000-0000-0000-0000-000000000000 CATEGORY: SECURITY INSIGHT_STATE: ACTIVE LAST_REFRESH_TIME: 2024-01-30T00:00:00Z SEVERITY: LOW INSIGHT_SUBTYPE: EXTERNAL_MEMBER DESCRIPTION: Domain example.com detected in 1 IAM policies
REST
Metodo HTTP e URL:
GET https://recommender.googleapis.com/v1/SCOPE_PATH/locations/global/insightTypes/google.cloudasset.asset.Insight/insights
Intestazioni:
X-Goog-User-Project: BILLING_PROJECT_ID
Fornisci i seguenti valori:
-
SCOPE_PATH: utilizza uno dei seguenti valori:I valori consentiti sono:
-
projects/PROJECT_ID, dovePROJECT_IDè l'ID del progetto per cui vuoi ottenere insight. -
projects/PROJECT_NUMBER, dovePROJECT_NUMBERè il numero del progetto per il quale vuoi ottenere insight.Come trovare un Google Cloud numero di progetto
ConsoleGoogle Cloud
Per trovare un numero di progetto, completa i seguenti passaggi: Google Cloud
-
Vai alla pagina Benvenuto nella console Google Cloud .
- Fai clic sulla casella di elenco del selettore nella barra dei menu.
-
Seleziona la tua organizzazione dalla casella di elenco e poi cerca il nome del tuo progetto. Il nome, il numero e l'ID progetto sono visualizzati vicino all'intestazione Benvenuto.
Vengono visualizzate fino a 4000 risorse. Se non vedi il progetto che stai cercando, vai alla pagina Gestisci risorse e filtra l'elenco utilizzando il nome del progetto.
Interfaccia a riga di comando gcloud
Puoi recuperare un Google Cloud numero di progetto con il seguente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, doveFOLDER_IDè l'ID della cartella per cui vuoi ottenere insight.Come trovare l'ID di una Google Cloud cartella
ConsoleGoogle Cloud
Per trovare l'ID di una Google Cloud cartella:
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco del selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di una cartella Google Cloud che si trova a livello di organizzazione con il seguente comando:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
dove TOP_LEVEL_FOLDER_NAME è una corrispondenza parziale o completa della stringa per il nome della cartella. Rimuovi il flag
--formatper visualizzare ulteriori informazioni sulle cartelle trovate.Il comando precedente non restituisce gli ID delle sottocartelle all'interno delle cartelle. Per farlo, esegui il comando seguente utilizzando l'ID di una cartella di primo livello:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID, doveORGANIZATION_IDè l'ID dell'organizzazione per cui vuoi ottenere insight.Come trovare l'ID di un' Google Cloud organizzazione
ConsoleGoogle Cloud
Per trovare l'ID di un'organizzazione, completa i seguenti passaggi: Google Cloud
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco del selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Fai clic sulla scheda Tutti. L'ID organizzazione viene visualizzato accanto al nome dell'organizzazione.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di un'organizzazione Google Cloud con il seguente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID: l'ID progetto in cui si trova l'agente di servizio Cloud Asset Inventory predefinito che dispone delle autorizzazioni per gestire la fatturazione e la quota. Scopri di più sull'impostazione del progetto di fatturazione.
Esempi di comandi
Esegui uno dei seguenti comandi per elencare gli approfondimenti per il progetto my-project.
curl (Linux, macOS o Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights" | Select-Object -Expand Content
Esempio di risposta
{ "name": "organizations/000000000000/locations/global/insightTypes/google.cloudasset.asset.Insight/insights/00000000-0000-0000-0000-000000000000", "description": "Domain example.com detected in 1 IAM policies", "content": { "domain": "example.com", "policyCount": 1, "policySearchQuery": "policy: example.com", "matchedPolicies" :[ { "resource" :"//cloudresourcemanager.googleapis.com/projects/000000000000", "project" :"projects/000000000000", "matchedBindings" :[ { "role" :"roles/viewer", "matchedMembers" :[ "user:example@example.com" ] } ] } ] }, "lastRefreshTime": "2024-01-30T00:00:00Z", "observationPeriod": "0s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/organizations/000000000000" ], "insightSubtype": "EXTERNAL_MEMBER", "etag": "\"00000000000\"", "initialRefreshTime": "2024-01-30T00:00:00Z" }
Interpretare le risposte agli approfondimenti
Oltre agli attributi degli approfondimenti standard, gli approfondimenti sugli asset forniscono diversi sottotipi e campi specializzati.
Sottotipi di insight
I sottotipi di insight sugli asset sono i seguenti:
EXTERNAL_MEMBER: rileva le policy IAM contenenti utenti o gruppi appartenenti a un dominio esterno ai domini della tua organizzazione.EXTERNAL_POLICY_EDITOR: rileva i criteri IAM contenenti utenti o gruppi esterni ai domini della tua organizzazione a cui è stata concessa l'autorizzazione per modificare i criteri IAM.EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER: rileva le norme IAM che contengono utenti o gruppi esterni ai domini della tua organizzazione a cui è stata concessa l'autorizzazione per ottenere o elencare oggetti di archiviazione (storage.objects.listostorage.objects.get permission).EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR: rileva i criteri IAM contenenti utenti o gruppi esterni ai domini della tua organizzazione a cui è stata concessa l'autorizzazione a rappresentare service account.TERMINATED_MEMBER: rileva le policy IAM contenenti utenti o gruppi con account disattivati, eliminati o cancellati.PUBLIC_IAM_POLICY: rileva le policy IAM che contengono tutti gli utenti o tutti gli utenti autenticati.OWNER_TERMINATED_PROJECT: rileva i progetti che non contengono utenti o gruppi attivi nei criteri IAM del progetto.
Campi dei contenuti aggiuntivi
Oltre ai campi standard nella risposta, gli approfondimenti sulle risorse forniscono
diversi campi specializzati nel campo content.
user: l'indirizzo email dell'utente rilevato nei membri dei binding dei criteri per questo approfondimento. Questo campo è incluso nel sottotipoTERMINATED_MEMBER.domain: Il dominio rilevato nei membri dei binding delle policy di questo approfondimento. Questo campo è incluso nei sottotipiEXTERNAL_MEMBER,EXTERNAL_POLICY_EDITOR,EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWEReEXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR.assetName: Il nome dell'asset per il quale è stato rilevato l'accesso in questo approfondimento. Questo campo è incluso nei sottotipiOWNER_TERMINATED_PROJECTePUBLIC_IAM_POLICY.policyCount: il numero totale di criteri IAM distinti in cui sono stati rilevati membri corrispondenti per questo insight. Questo campo è incluso per tutti i sottotipi di approfondimento sugli asset.matchedPolicies: Un campione delle policy IAM corrispondenti all'insight rilevato. I criteri corrispondenti includono solo il sottoinsieme di associazioni e membri delle associazioni che corrispondono all'approfondimento rilevato. Questo campo è incluso per tutti i sottotipi di approfondimento sugli asset.policySearchQuery: una query che può essere utilizzata con l'API Cloud Asset Inventory IAM Policy Search per recuperare le policy pertinenti in tempo reale.