Integra Security Command Center con Google SecOps
Questo documento spiega come integrare Security Command Center con Google Security Operations.
Prima di iniziare
Prima di configurare l'integrazione di Security Command Center in Google SecOps, completa i seguenti passaggi preliminari:
Crea un ruolo Identity and Access Management personalizzato con le autorizzazioni necessarie.
Scegli e configura uno dei seguenti metodi di autenticazione:
Opzione 1: Workload Identity (consigliata): questo metodo utilizza token di accesso temporanei di breve durata tramite la rappresentazione dell'account di servizio, eliminando la necessità di archiviare segreti.
Opzione 2: chiave JSON dell'account di servizio: questo metodo si basa su un file di chiave segreta statica e di lunga durata. Utilizza questo metodo solo se Workload Identity non è disponibile nel tuo ambiente.
Crea e configura un ruolo IAM
Per creare e configurare un ruolo personalizzato per l'integrazione, completa i seguenti passaggi:
Nella console Google Cloud , vai a IAM e amministrazione > Ruoli.
Fai clic su Crea ruolo per creare un ruolo personalizzato con le autorizzazioni richieste per l'integrazione.
Inserisci un titolo, una descrizione e un ID univoco.
Imposta la fase di avvio del ruolo su
General Availability.Aggiungi le seguenti autorizzazioni al ruolo creato:
securitycenter.assets.listsecuritycenter.findings.listsecuritycenter.findings.setMutesecuritycenter.findings.setStateserviceusage.services.use(obbligatorio per l'utilizzo dell'API e l'attribuzione della quota)
Fai clic su Crea.
Crea un account di servizio
Per creare un account di servizio per l'integrazione, completa i seguenti passaggi:
Nella console Google Cloud , vai a IAM e amministrazione > Service Accounts.
Fai clic su Crea account di servizio.
Fornisci un nome e una descrizione e fai clic su Crea e continua.
Nel passaggio Concedi a questo account di servizio l'accesso al progetto, aggiungi il ruolo personalizzato che hai creato.
Fai clic su Fine per completare la creazione dell'account. L'indirizzo email di questo account di servizio viene utilizzato durante la procedura di configurazione dell'autenticazione.
Configurare le credenziali di Workload Identity
Scegli questo metodo o il metodo della chiave JSON per autenticare l'integrazione. Workload Identity è l'approccio consigliato e più sicuro perché utilizza token di accesso temporanei di breve durata tramite la simulazione dell'identità del account di servizio, eliminando la necessità di archiviare o ruotare i secret di lunga durata.
Identificare l'identità univoca dell'istanza
Per utilizzare Workload Identity, devi concedere alla tua istanza Google SecOps l'autorizzazione a rappresentare il tuo account di servizio. Questo è il passaggio finale che consente all'istanza di accedere in modo sicuro alle risorse Google Cloud .
In Google SecOps, vai a Content Hub > Response Integrations.
Seleziona l'integrazione che stai configurando e inserisci l'email del account di servizio nel campo
Workload Identity Email.Inserisci un ID progetto valido nel campo
Quota Project ID.Fai clic su Salva > Test. Il test dovrebbe non riuscire.
Fai clic su close_small a destra di Test e cerca il messaggio di errore per l'email dell'identità che inizia con
gke-init-python@...osoar-python@....Copia questo indirizzo email univoco e incollalo in
Workload Identity Emaildurante la configurazione dell'integrazione.
Autorizza l'identità dell'istanza in Google Cloud
Una volta recuperata l'identità univoca per la tua istanza Google SecOps, devi autorizzarla ad accedere alle tue risorse Google Cloud . Questo passaggio attiva la simulazione dell'identità delaccount di serviziot, consentendo alla piattaforma di generare token di breve durata e agire per tuo conto senza la necessità di chiavi statiche.
Nella Google Cloud console, vai a IAM e amministrazione > Service account.
Seleziona il account di servizio di destinazione e vai a Autorizzazioni > Concedi accesso.
Incolla l'indirizzo email univoco nel campo Nuove entità.
Assegna il ruolo Creatore token service account (
roles/iam.serviceAccountTokenCreator).
Concedi l'accesso al progetto di quota
Quando esegui l'autenticazione con una workload identity, devi specificare un
Quota Project ID nelle impostazioni di integrazione per monitorare l'utilizzo e la fatturazione dell'API.
Per autorizzare questa operazione, devi concedere al account di servizio il seguente ruolo sul progetto di quota designato:
Nella console Google Cloud , vai a IAM e amministrazione > IAM e seleziona il tuo progetto.
Individua il account di servizio nell'elenco delle entità e fai clic su Modifica(Modifica entità) per quell'account.
Fai clic su Aggiungi un altro ruolo e seleziona Consumer utilizzo servizi (
roles/serviceusage.serviceUsageConsumer).Fai clic su Salva.
Configurare una chiave JSON
Scegli questo metodo o il metodo Workload Identity per autenticare l'integrazione. Utilizza il metodo della chiave JSON solo se Workload Identity non è disponibile nel tuo ambiente, in quanto è l'approccio consigliato e più sicuro. Questo metodo si basa su un file di chiavi segrete statico e di lunga durata che richiede la gestione e la rotazione manuali.
Utilizza la seguente procedura per generare il file della chiave JSON necessario per autenticare l'integrazione:
Nella console Google Cloud , vai a IAM e amministrazione > Service account e seleziona il account di servizio che hai creato.
Vai alla scheda Chiavi.
Fai clic su Aggiungi chiave > Crea nuova chiave.
Seleziona
JSONcome tipo di chiave e fai clic su Crea. Il file JSON viene scaricato sul computer.Copia l'intero contenuto di questo file e incollalo in
User's service accountdurante la configurazione dell'integrazione.
Parametri di integrazione
L'integrazione di Security Command Center richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
API Root |
Obbligatorio. La radice dell'API dell'istanza di Security Command Center. |
Organization ID |
Facoltativo. L'ID dell'organizzazione Google Cloud da utilizzare per definire l'ambito delle query di integrazione di Security Command Center. |
Project ID |
Facoltativo. L'ID progetto Google Cloud utilizzato per definire l'ambito delle query dell'istanza Security Command Center. |
Quota Project ID |
Facoltativo. L' Google Cloud ID progetto utilizzato per l'utilizzo dell'API e la fatturazione. Questo parametro è obbligatorio se l'autenticazione viene eseguita utilizzando un'identità del workload. |
User's Service Account |
Facoltativo. L'intero contenuto del file JSON della chiave dell'account di servizio. Configura questo parametro solo se l'autenticazione viene eseguita utilizzando una chiave JSON. |
Workload Identity Email |
Facoltativo. L'indirizzo email client del tuo account di servizio. Configura questo parametro solo se l'autenticazione viene eseguita utilizzando un'identità del workload. Se configuri questo parametro, devi configurare anche
|
Verify SSL |
Obbligatorio. Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server Security Command Center. Abilitato per impostazione predefinita. |
Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.
Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.
Azioni
Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.
Recuperare i dettagli del risultato
Utilizza l'azione Ottieni dettagli risultato per recuperare i dettagli di un risultato in Security Command Center.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
L'azione Ottieni dettagli del risultato richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
Finding Name |
Obbligatorio. I nomi completi delle risorse dei risultati per restituire i dettagli, nel formato
Questo parametro accetta più valori come elenco separato da virgole. |
Output dell'azione
L'azione Ottieni dettagli risultato fornisce i seguenti output:
| Tipo di output dell'azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link alla bacheca casi | Non disponibile |
| Tabella della bacheca casi | Disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Disponibile |
| Messaggi di output | Disponibile |
| Risultato dello script | Disponibile |
Tabella della bacheca casi
L'azione Ottieni dettagli del problema può restituire la seguente tabella:
Titolo della tabella: Dettagli del risultato
Colonne della tabella:
- Category
- Stato
- Gravità
- Tipo
Risultato JSON
Il seguente esempio mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Get Finding Details:
{
{
"finding_name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"parent": "organizations/ORGANIZATION_ID/sources/2678067631293752869",
"resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"state": "ACTIVE",
"category": "Discovery: Service Account Self-Investigation",
"sourceProperties": {
"sourceId": {
"projectNumber": "PROJECT_ID",
"customerOrganizationNumber": "ORGANIZATION_ID"
},
"detectionCategory": {
"technique": "discovery",
"indicator": "audit_log",
"ruleName": "iam_anomalous_behavior",
"subRuleName": "service_account_gets_own_iam_policy"
},
"detectionPriority": "LOW",
"affectedResources": [
{
"gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID"
}
],
"evidence": [
{
"sourceLogId": {
"projectId": "PROJECT_ID",
"resourceContainer": "projects/PROJECT_ID",
"timestamp": {
"seconds": "1622678907",
"nanos": 448368000
},
"insertId": "ID"
}
}
],
"properties": {
"serviceAccountGetsOwnIamPolicy": {
"principalEmail": "prisma-cloud-serv@PROJECT_ID.iam.gserviceaccount.com",
"projectId": "PROJECT_ID",
"callerIp": "192.0.2.41",
"callerUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)",
"rawUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)"
}
},
"contextUris": {
"mitreUri": {
"displayName": "Permission Groups Discovery: Cloud Groups",
"url": "https://attack.mitre.org/techniques/ID/003/"
},
"cloudLoggingQueryUri": [
{
"displayName": "Cloud Logging Query Link",
"url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%222021-06-03T00:08:27.448368Z%22%0AinsertId%3D%22ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project=PROJECT_ID"
}
]
}
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2021-06-03T00:08:27.448Z",
"createTime": "2021-06-03T00:08:31.074Z",
"severity": "LOW",
"canonicalName": "projects/PROJECT_ID/sources/SOURCE_ID/findings/FINDING_ID",
"mute": "UNDEFINED",
"findingClass": "THREAT",
"mitreAttack": {
"primaryTactic": "DISCOVERY",
"primaryTechniques": [
"PERMISSION_GROUPS_DISCOVERY",
"CLOUD_GROUPS"
]
}
},
"resource": {
"name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectDisplayName": "PROJECT_ID",
"parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
"parentDisplayName": "example.net",
"type": "google.cloud.resourcemanager.Project",
"displayName": "PROJECT_ID"
}
}
}
Messaggi di output
L'azione Ottieni dettagli del risultato può restituire i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
|
L'azione è riuscita. |
Error executing action "Get Finding Details". Reason: ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato dello script
La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Ottieni dettagli risultato:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
true o false |
Elenca vulnerabilità asset
Utilizza l'azione Elenca vulnerabilità asset per elencare le vulnerabilità correlate alle entità in Security Command Center.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
L'azione Elenca vulnerabilità asset richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
Asset Resource Names |
Obbligatorio. Un elenco separato da virgole degli identificatori univoci (nomi completi delle risorse) per le risorse di cui recuperare i dati. |
Timeframe |
Facoltativo. Il periodo di tempo in cui cercare le vulnerabilità o gli errori di configurazione. I valori possibili sono:
Il valore predefinito è |
Record Types |
Facoltativo. Il tipo di record da restituire. I valori possibili sono:
Il valore predefinito è |
Output Type |
Facoltativo. Il tipo di output da restituire nel risultato JSON per ogni asset. I valori possibili sono:
Il valore predefinito è |
Max Records To Return |
Facoltativo. Il numero massimo di record da restituire per ogni tipo di record. Il valore predefinito è |
Output dell'azione
L'azione Elenca vulnerabilità asset fornisce i seguenti output:
| Tipo di output dell'azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link alla bacheca casi | Non disponibile |
| Tabella della bacheca casi | Disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Disponibile |
| Messaggi di output | Disponibile |
| Risultato dello script | Disponibile |
Tabella della bacheca casi
L'azione Elenca vulnerabilità asset può restituire le seguenti tabelle:
Titolo della tabella: Vulnerabilità di ASSET_ID
Colonne della tabella:
- Category
- Descrizione
- Gravità
- Ora dell'evento
- CVE
Titolo tabella: ASSET_ID Errori di configurazione
Colonne della tabella:
- Category
- Descrizione
- Gravità
- Ora dell'evento
- Consiglio
Risultato JSON
L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Elenca vulnerabilità asset:
{
."siemplify_asset_display_name":[1] [2] ""
"vulnerabilities": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"cve_id": "CVE_ID"
"event_time": "EVENT_TIME"
"related_references": "RELATED_REFERENCES"
"severity": "SEVERITY"
}
]
},
"misconfigurations": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"recommendation": "RECOMMENDATION"
"event_time": "EVENT_TIME"
"severity": "SEVERITY"
}
]
},
}
Messaggi di output
L'azione List Asset Vulnerabilities può restituire i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
|
L'azione è riuscita. |
Error executing action "List Asset Vulnerabilities". Reason:
ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato dello script
La seguente tabella elenca il valore dell'output del risultato dello script quando utilizzi l'azione Elenca vulnerabilità asset:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
true o false |
Dindin
Utilizza l'azione Ping per testare la connettività a Security Command Center.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
Nessuno.
Output dell'azione
L'azione Ping fornisce i seguenti output:
| Tipo di output dell'azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link alla bacheca casi | Non disponibile |
| Tabella della bacheca casi | Non disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Non disponibile |
| Messaggi di output | Disponibile |
| Risultato dello script | Disponibile |
Messaggi di output
L'azione Ping può restituire i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
Successfully connected to the Security Command Center server
with the provided connection parameters! |
L'azione è riuscita. |
Failed to connect to the Security Command Center server! Error
is ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato dello script
La seguente tabella elenca il valore dell'output del risultato dello script quando utilizzi l'azione Ping:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
true o false |
Aggiorna esito
Utilizza l'azione Aggiorna risultato per aggiornare un risultato esistente in Security Command Center.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
L'azione Aggiorna risultato richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
Finding Name |
Obbligatorio. I nomi completi delle risorse dei risultati per restituire i dettagli, nel formato
Questo parametro accetta più valori come elenco separato da virgole. |
Mute Status |
Facoltativo. Lo stato di disattivazione del risultato. I valori possibili sono:
|
State Status |
Facoltativo. Lo stato del risultato. I valori possibili sono:
|
Output dell'azione
L'azione Aggiorna risultato fornisce i seguenti output:
| Tipo di output dell'azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link alla bacheca casi | Non disponibile |
| Tabella della bacheca casi | Non disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Non disponibile |
| Messaggi di output | Disponibile |
| Risultato dello script | Disponibile |
Messaggi di output
L'azione Aggiorna risultato può restituire i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
|
L'azione è riuscita. |
Error executing action "Update Finding". Reason: ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato dello script
La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Aggiorna risultato:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
true o false |
Connettori
Per scoprire di più sulla configurazione dei connettori in Google SecOps, consulta Importare i dati (connettori).
Security Command Center - Findings Connector
Utilizza il connettore Security Command Center - Findings per recuperare informazioni sui risultati di Security Command Center.
Questo connettore supporta il filtro dei risultati per categoria utilizzando l'elenco dinamico.
Ingressi del connettore
Il connettore per i risultati di Security Command Center richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
Product Field Name |
Obbligatorio. Il nome del campo in cui è memorizzato il nome del prodotto. Il nome del prodotto influisce principalmente sulla mappatura. Per semplificare e migliorare il processo di mappatura per il connettore, il valore predefinito viene risolto in un valore di riserva a cui viene fatto riferimento dal codice. Per impostazione predefinita, qualsiasi input non valido per questo parametro viene risolto in un valore di riserva. Il valore predefinito è |
Event Field Name |
Obbligatorio. Il nome del campo che determina il nome (sottotipo) dell'evento. |
Environment Field Name |
Facoltativo. Il nome del campo in cui è memorizzato il nome dell'ambiente. Se il campo ambiente non è presente, il connettore utilizza il valore predefinito. Il valore predefinito è |
Environment Regex Pattern |
Facoltativo. Un pattern di espressione regolare da eseguire sul valore trovato nel campo
Utilizza il valore predefinito Se il pattern dell'espressione regolare è nullo o vuoto oppure il valore dell'ambiente è nullo, il risultato finale dell'ambiente è l'ambiente predefinito. |
API Root |
Obbligatorio. La radice dell'API dell'istanza di Security Command Center. |
Organization ID |
Facoltativo. L'ID dell'organizzazione Google Cloud da utilizzare. |
Project ID |
Facoltativo. L'ID progetto Google Cloud da utilizzare. |
Quota Project ID |
Facoltativo. L'ID progetto Google Cloud da utilizzare. |
Location ID |
Facoltativo. L'ID della località da utilizzare. Il valore predefinito è |
User's Service Account |
Obbligatorio. L'intero contenuto del file JSON della chiave dell'account di servizio. Utilizza questo parametro solo se l'autenticazione avviene tramite una chiave JSON. |
Workload Identity Email |
Facoltativo. L'indirizzo email client del tuo account di servizio. Utilizza questo parametro solo se l'autenticazione avviene tramite un'identità del workload. Se configuri questo parametro, devi configurare anche
|
Finding Class Filter |
Facoltativo. Un elenco separato da virgole dei tipi di risultati di sicurezza da includere durante l'importazione dei dati dall'origine. I valori possibili sono:
Se non viene fornito alcun valore, vengono inseriti i risultati di tutte le classi. |
Lowest Severity To Fetch |
Facoltativo. La gravità minima degli avvisi da recuperare. Se non configuri questo parametro, il connettore acquisisce gli avvisi con tutti i livelli di gravità. I valori possibili sono:
Se a un risultato con gravità non definita viene assegnato il livello Se non viene fornito alcun valore, vengono inseriti tutti i tipi di gravità. |
Fallback Severity |
Facoltativo. Il livello di gravità da assegnare a qualsiasi risultato di sicurezza importato senza una valutazione della gravità definita o riconoscibile dall'origine. I valori possibili sono:
Il valore predefinito è |
Max Hours Backwards |
Facoltativo. Il numero di ore prima di ora per recuperare i risultati. Questo parametro può essere applicato all'iterazione iniziale del connettore dopo l'attivazione del connettore per la prima volta o al valore di riserva per un timestamp del connettore scaduto. Il valore massimo è Il valore predefinito è |
Max Findings To Fetch |
Facoltativo. Il numero di risultati da elaborare in ogni iterazione del connettore. Il valore massimo è Il valore predefinito è |
Use dynamic list as a blacklist |
Obbligatorio. Se selezionato, il connettore utilizza l'elenco dinamico come blocklist. Disabilitato per impostazione predefinita. |
Verify SSL |
Obbligatorio. Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server Security Command Center. Disabilitato per impostazione predefinita. |
Proxy Server Address |
Facoltativo. L'indirizzo del server proxy da utilizzare. |
Proxy Username |
Facoltativo. Il nome utente del proxy per l'autenticazione. |
Proxy Password |
Facoltativo. La password del proxy per l'autenticazione. |
PythonProcessTime |
Obbligatorio. Il limite di timeout, in secondi, per il processo Python che esegue lo script corrente. Il valore predefinito è |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.