Gli asset sono le risorse Google Cloud di un'organizzazione, come le istanze Compute Engine o i bucket Cloud Storage.
Questa guida mostra come utilizzare le librerie client di Security Command Center per accedere ai record ritirati che Security Command Center gestisce per gli asset di un progetto o di un'organizzazione.
Security Command Center conserva i record solo per un sottoinsieme degli asset in Cloud Asset Inventory. Per l'elenco più completo degli asset nel tuo ambiente, utilizza Cloud Asset Inventory per elencare gli asset.
Per ulteriori informazioni, consulta le seguenti risorse:
- Servizio di elenco degli asset di Cloud Asset Inventory
- Tipi di asset supportati in Security Command Center
Livelli di concessione per i ruoli IAM
I ruoli IAM per Security Command Center possono essere concessi a livello di organizzazione, cartella o progetto. La possibilità di visualizzare, modificare, creare o aggiornare risultati, asset e origini di sicurezza dipende dal livello di accesso che ti è stato concesso. Per saperne di più sui ruoli di Security Command Center, consulta Controllo dell'accesso.
Prima di iniziare
Prima di configurare un'origine, devi completare le seguenti operazioni:
Dimensioni pagina
Tutte le API di elenco di Security Command Center sono paginate. Ogni risposta restituisce una pagina di risultati e un token per restituire la pagina successiva. Le dimensioni della pagina sono configurabili. Il valore predefinito di pageSize è 10, ma può essere impostato su un minimo di 1 e un massimo di 1000.
Tipi di risorse
L'attributo resourceType in Security Command Center utilizza una convenzione di denominazione diversa da Cloud Asset Inventory. Per
un elenco dei formati dei tipi di risorse, consulta Tipi di asset supportati in
Security Command Center.
Elenco di tutti gli asset
Questi esempi mostrano come elencare tutti gli asset:
gcloud
Per elencare tutti gli asset di un progetto, una cartella o un'organizzazione, esegui il seguente comando:
gcloud scc assets list PARENT_ID
Sostituisci PARENT_ID con uno dei seguenti valori:
- Un ID organizzazione nel seguente formato:
ORGANIZATION_ID(solo l'ID numerico) - Un ID cartella nel seguente formato:
folders/FOLDER_ID - Un ID progetto nel seguente formato:
projects/PROJECT_ID
Per altri esempi, esegui:
gcloud scc assets list --help
Per esempi nella documentazione, consulta gcloud scc assets list.
Python
Java
Vai
Node.js
L'output di ogni asset è un oggetto JSON simile al seguente:
asset:
createTime: '2020-10-05T17:55:14.823Z'
iamPolicy:
policyBlob: '{"bindings":[{"role":"roles/owner","members":["serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com","user:USER_EMAIL@gmail.com"]}]}'
name: organizations/ORGANIZATION_ID/assets/ASSET_ID
resourceProperties:
createTime: '2020-10-05T17:36:17.915Z'
lifecycleState: ACTIVE
name: PROJECT_ID
parent: '{"id":"ORGANIZATION_ID","type":"organization"}'
projectId: PROJECT_ID
projectNumber: 'PROJECT_NUMBER'
securityCenterProperties:
resourceDisplayName: PROJECT_ID
resourceName: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
resourceOwners:
- serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
- user:USER_EMAIL@gmail.com
resourceParent: //cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID
resourceParentDisplayName: ORGANIZATION_NAME
resourceProject: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
resourceProjectDisplayName: PROJECT_ID
resourceType: google.cloud.resourcemanager.Project
securityMarks:
name: organizations/ORGANIZATION_ID/assets/ASSET_ID/securityMarks
updateTime: '2020-10-05T17:55:14.823Z'
Filtra asset
Un progetto, una cartella o un'organizzazione potrebbero avere molti asset. L'esempio precedente non utilizza filtri, quindi vengono restituiti tutti gli asset. Security Command Center consente di utilizzare i filtri degli asset per ottenere informazioni su asset specifici. I filtri sono simili alle clausole "where" nelle istruzioni SQL, tranne che, anziché alle colonne, si applicano agli oggetti restituiti dall'API.
L'output di esempio nell'esempio precedente mostra alcuni campi e sottocampi e le relative proprietà che possono essere utilizzati nei filtri degli asset. Security Command Center supporta array e oggetti JSON completi come potenziali tipi di proprietà. Puoi filtrare in base a:
- Elementi dell'array
- Oggetti JSON completi con corrispondenza parziale delle stringhe all'interno dell'oggetto
- Sottocampi degli oggetti JSON
I sottocampi devono essere numeri, stringhe o valori booleani e le espressioni di filtro devono utilizzare i seguenti operatori di confronto:
- Stringhe:
- Uguaglianza completa
= - Corrispondenza parziale delle stringhe
:
- Uguaglianza completa
- Numeri:
- Disuguaglianze
<,>,<=,>= - Uguaglianza
=
- Disuguaglianze
- Valori booleani:
- Uguaglianza
=
- Uguaglianza
Gli esempi seguenti filtrano gli asset:
gcloud
Utilizza il seguente comando per filtrare gli asset:
gcloud scc assets list PARENT_ID --filter="FILTER"
Sostituisci quanto segue:
FILTERcon il filtro che devi utilizzare. Ad esempio, il seguente filtro restituisce solo le risorse del progetto:--filter="security_center_properties.resource_type=\"google.cloud.resourcemanager.Project\""
PARENT_IDcon uno dei seguenti valori:- Un ID organizzazione nel seguente formato:
ORGANIZATION_ID(solo l'ID numerico) - Un ID cartella nel seguente formato:
folders/FOLDER_ID - Un ID progetto nel seguente formato:
projects/PROJECT_ID
- Un ID organizzazione nel seguente formato:
Per altri esempi, esegui:
gcloud scc assets list --help
Per esempi nella documentazione, consulta gcloud scc assets list.
Python
Java
Vai
Node.js
Elenco in un momento specifico
Gli esempi precedenti mostrano come elencare un insieme corrente di asset. Security Command Center consente anche di visualizzare uno snapshot storico degli asset. Gli esempi seguenti restituiscono lo stato di tutti gli asset in un momento specifico. Security Command Center supporta risoluzioni temporali in millisecondi.
gcloud
Utilizza il seguente comando per elencare gli asset in un momento specifico:
gcloud scc assets list PARENT_ID --read-time="READ_TIME"
Sostituisci quanto segue:
READ_TIMEcon l'ora in cui elencare gli asset. Utilizza il seguente formato:YYYY-MM-DDThh:mm:ss.ffffffZ. Ad esempio:--read-time="2022-12-21T07:00:06.861Z"
PARENT_IDcon uno dei seguenti valori:- Un ID organizzazione nel seguente formato:
ORGANIZATION_ID(solo l'ID numerico) - Un ID progetto nel seguente formato:
projects/PROJECT_ID - Un ID cartella nel seguente formato:
folders/FOLDER_ID
- Un ID organizzazione nel seguente formato:
Per altri esempi, esegui:
gcloud scc assets list --help
Per esempi nella documentazione, consulta gcloud scc assets list.
Python
Java
Vai
Node.js
Elenco degli asset con modifiche di stato
Security Command Center consente di confrontare un asset in due momenti diversi per identificare se è stato aggiunto, rimosso o presente durante il periodo di tempo specificato. Gli esempi seguenti confrontano i progetti esistenti in READ_TIME con un momento precedente specificato da COMPARE_DURATION. COMPARE_DURATION è fornito in secondi.
Quando COMPARE_DURATION è impostato, l'attributo stateChange nei risultati dell'asset dell'elenco viene aggiornato con uno dei seguenti valori:
ADDED: l'asset non era presente all'inizio dicompareDuration, ma era presente inreadTime.REMOVED: l'asset era presente all'inizio dicompareDuration, ma non era presente inreadTime.ACTIVE: l'asset era presente sia all'inizio che alla fine del periodo di tempo definito dacompareDurationereadTime.
gcloud
Utilizza il seguente comando per confrontare lo stato degli asset in due momenti diversi:
gcloud scc assets list PARENT_ID \ --filter="FILTER" \ --read-time=READ_TIME \ --compare-duration=COMPARE_DURATION
Sostituisci quanto segue:
COMPARE_DURATIONcon un numero di secondi che definisce un momento precedente a quello specificato nel flag--read-time. Ad esempio:--compare-duration=84600sFILTERcon il filtro che devi utilizzare. Ad esempio, il seguente filtro restituisce solo le risorse del progetto:--filter="security_center_properties.resource_type=\"google.cloud.resourcemanager.Project\""
PARENT_IDcon uno dei seguenti valori:- Un ID organizzazione nel seguente formato:
ORGANIZATION_ID(solo l'ID numerico) - Un ID progetto nel seguente formato:
projects/PROJECT_ID - Un ID cartella nel seguente formato:
folders/FOLDER_ID
- Un ID organizzazione nel seguente formato:
READ_TIMEcon l'ora in cui elencare gli asset. Utilizza il seguente formato:YYYY-MM-DDThh:mm:ss.ffffffZ. Ad esempio: Per altri esempi, esegui:--read-time="2022-12-21T07:00:06.861Z"
gcloud scc assets list --help
Per esempi nella documentazione, consulta gcloud scc assets list.
Python
Java
Vai
Node.js
Esempi di filtro
Di seguito sono riportati alcuni altri filtri degli asset utili. Puoi utilizzare AND e OR nei filtri per combinare i parametri ed espandere o perfezionare i risultati.
Trovare un asset del progetto con un proprietario specifico
"security_center_properties.resource_type = \"google.cloud.resourcemanager.Project\" AND security_center_properties.resource_owners : \"$USER\""
$USER è in genere nel formato user:someone@domain.com. Il confronto per user utilizza l'operatore di sottostringa : e non è necessaria una corrispondenza esatta.
Regole firewall con porte HTTP aperte
"security_center_properties.resource_type = \"google.compute.Firewall\" AND resource_properties.name =\"default-allow-http\""
Risorse appartenenti a progetti specifici
"security_center_properties.resource_parent = \"$PROJECT_1_NAME\" OR security_center_properties.resource_parent = \"$PROJECT_2_NAME\""
$PROJECT_1_NAME e $PROJECT_2_NAME sono identificatori di risorse nel formato
//cloudresourcemanager.googleapis.com/projects/$PROJECT_ID, dove
$PROJECT_ID è il numero del progetto. Un esempio completo potrebbe essere: //cloudresourcemanager.googleapis.com/projects/100090906
Trovare immagini Compute Engine i cui nomi contengono una stringa specifica
Questo filtro restituisce le immagini Compute Engine che contengono la sottostringa "Debia":
"security_center_properties.resource_type = \"google.compute.Image\" AND resource_properties.name : \"Debia\""
Risorse le cui proprietà contengono coppie chiave-valore
Questo filtro restituisce i bucket Cloud Storage in cui bucketPolicyOnly è disabilitato. Il valore di resourceProperties.iamConfiguration è codificato come stringa. Utilizza il carattere \ per inserire caratteri di escape per i caratteri speciali nelle stringhe, incluso l'operatore : tra il nome della chiave e il valore.
"resourceProperties.iamConfiguration:"\"bucketPolicyOnly\"\:{\"enabled\"\:false""
Trovare gli asset del progetto creati in o prima di un'ora specifica
Questi filtri di esempio corrispondono agli asset creati in o prima del 18 luglio 2019 alle 20:26:21 GMT. Con il filtro create_time, puoi esprimere l'ora utilizzando i seguenti formati e tipi:
Tempo Unix (in millisecondi) come valore letterale intero
"create_time <= 1563481581000"RFC 3339 come valore letterale stringa
"create_time <= \"2019-07-18T20:26:21+00:00\""
Escludere gli asset dai risultati
Per escludere un asset dai risultati, utilizza la negazione inserendo un carattere - prima di un parametro. L'operazione è simile all'utilizzo dell'operatore NOT in un'istruzione SQL.
Questo filtro restituisce tutte le risorse del progetto tranne Debia:
"security_center_properties.resource_type = \"google.cloud.resourcemanager.Project\" AND -resource_properties.projectId = \"Debia\""
Passaggi successivi
Scopri di più sull' accesso a Security Command Center utilizzando una libreria client.