Questa pagina spiega come testare i moduli personalizzati Security Health Analytics nella console Google Cloud caricando un file YAML contenente dati di test.
Prima di iniziare
Prima di poter testare i moduli personalizzati, devi soddisfare i seguenti prerequisiti:
Tutti i prerequisiti generali che si applicano all'utilizzo dei moduli personalizzati di Security Health Analytics, tra cui:
- Attivazione del livello di servizio Premium
- Abilitazione dell'API Security Command Center
Per l'elenco completo dei prerequisiti, consulta Utilizzo di moduli personalizzati per Security Health Analytics.
Al tuo account utente devono essere concessi uno o più ruoli IAM (Identity and Access Management) che ti consentono non solo di lavorare con Security Command Center e i moduli personalizzati, ma che includano anche l'autorizzazione
securitycenter.securityhealthanalyticscustommodules.test
. Per ulteriori informazioni sulle autorizzazioni e i ruoli necessari per lavorare con i moduli personalizzati, consulta Autorizzazioni IAM richieste.Le chiamate API per testare i moduli personalizzati sono soggette a una quota. Per ulteriori informazioni, consulta Quote per moduli personalizzati.
Creare risorse di test in un file YAML
Per testare un modulo personalizzato, definisci definizioni di risorse false, definizioni di criteri false o entrambi in un file YAML.
Le definizioni non corrispondono a istanze di risorse o criteri reali, ma devono essere conformi agli schemi dei tipi di risorse o criteri specificati nei moduli personalizzati.
Nelle definizioni del test, le uniche proprietà che devi specificare sono quelle valutate dai moduli personalizzati. Non è necessario includere le proprietà delle risorse a cui il modulo personalizzato non fa riferimento.
Per testare le espressioni CEL nel modulo personalizzato, specifica i valori delle proprietà
nel file di test che causano la risoluzione delle espressioni CEL in true
.
Formato dei dati di test
Inizia il file con testData:
nella prima riga, seguito da
una o più definizioni di - asset
.
testData: - asset: resource: ARBITRARY_ASSET_NAME_1 assetType: RESOURCE_TYPE_1 resourceData: PROPERTIES_TO_TEST_1: PROPERTY_VALUE_1 SUB_PROPERTY: SUB_PROPERTY_VALUE PROPERTIES_TO_TEST_2: PROPERTY_VALUE_2 - asset: resource: ARBITRARY_ASSET_NAME_2 assetType: RESOURCE_TYPE_2 iamPolicyData: PROPERTIES_TO_TEST_3: PROPERTY_VALUE_3 PROPERTIES_TO_TEST_4: PROPERTY_VALUE_4
Sostituisci quanto segue:
ARBITRARY_ASSET_NAME_N
: un valore arbitrario visualizzato nei risultati del test quando il test ha esito positivo.RESOURCE_TYPE_N
: il tipo di asset o risorsa controllato dal modulo personalizzato, specificato come nome di dominio dell'endpoint di servizio e nome della risorsa dell'API, ad esempiocloudkms.googleapis.com/CryptoKey
.PROPERTIES_TO_TEST_N
: le proprietà utilizzate nella logica di rilevamento del modulo personalizzato per attivare un risultato.PROPERTY_VALUE_N
: un valore della proprietà che attiva un risultato.SUB_PROPERTY
: una proprietà secondaria di un'altra risorsa a cui fa riferimento la risorsa di destinazione nella definizione della risorsa.
Esempi di definizioni di test
Questa sezione contiene un esempio di definizione di risorsa di test e una definizione del criterio di test. Anche se i due esempi vengono mostrati come definiti in file separati, le definizioni di asset
delle risorse e dei criteri possono essere combinate in un unico file testData
.
Definizione di risorsa di esempio
L'esempio seguente di definizione di risorsa di test testa un modulo personalizzato
che verifica se la proprietà rotationPeriod
delle
risorse CryptoKey
supera 2592000
secondi (30 giorni). Le altre proprietà nella definizione non vengono utilizzate nel modulo personalizzato, ma sono comunque conformi allo schema della risorsa. Per la definizione completa del modulo personalizzato testato da questo esempio, consulta Definizione di esempio di modulo personalizzato.
testData: - asset: resource: THE CRYPTOKEY TEST WAS SUCCESSFUL! assetType: cloudkms.googleapis.com/CryptoKey resourceData: nextRotationTime: '2020-02-05T12:00:55.192645Z' primary: state: 'ENABLED' purpose: 'ENCRYPT_DECRYPT' rotationPeriod: '2592001s'
Definizione dei criteri di esempio
Di seguito è riportato un esempio di definizione di test per un criterio IAM:
testData: - asset: resource: //cloudresourcemanager.googleapis.com/projects/fake-project assetType: cloudresourcemanager.googleapis.com/Project iamPolicyData: bindings: - role: "roles/viewer" members: - "serviceAccount:fake-service-account@compute-system.iam.gserviceaccount.com" - "user:fake-email-account"
Testa un modulo personalizzato
Puoi testare nuovi moduli personalizzati o moduli personalizzati esistenti nella console Google Cloud.
Per testare un modulo personalizzato, segui questi passaggi:
Vai alla pagina Moduli di Security Health Analytics nelle impostazioni di Security Command Center.
Apri o crea un modulo personalizzato per i test:
- Per creare un nuovo modulo personalizzato, fai clic su Crea modulo e segui le istruzioni riportate in Creare moduli personalizzati.
- Per aprire un modulo personalizzato esistente, fai clic sull'icona di modifica (edit) in Azioni sul lato destro della riga del modulo che vuoi testare.
Seleziona la scheda Modulo di test.
In Carica il file YAML, fai clic su Sfoglia per caricare un file contenente dati degli asset di esempio. Il test viene eseguito non appena viene caricato il file YAML.
In Anteprima dei risultati dei test, controlla i risultati.
- Se il file YAML contiene errori di sintassi o altri errori, nella parte inferiore della pagina del browser viene visualizzato un messaggio di errore mobile.
Se il test ha esito positivo, il test restituisce le seguenti informazioni:
- Il nome visualizzato del modulo personalizzato.
- Il nome arbitrario specificato nella proprietà
resource
nel file di dati di test. - L'organizzazione, la cartella o il progetto in cui è stato o sarà creato il modulo personalizzato.
I risultati dei test non vengono archiviati o scritti in Security Command Center.
Passaggi successivi
- Per lavorare con i moduli personalizzati, consulta Utilizzo di moduli personalizzati per Security Health Analytics
- Per lavorare con i risultati nella console Google Cloud, vedi Utilizzare i risultati