Questo documento descrive come scrivere regole personalizzate utilizzando il linguaggio dei criteri Rego. Puoi utilizzare queste regole in Workload Manager per valutare i tuoi carichi di lavoro in base alle best practice definite per la tua organizzazione.
Per saperne di più, consulta Informazioni sulle regole personalizzate in Workload Manager.
Prima di iniziare
- Acquisisci familiarità con il linguaggio delle norme Rego.
Scrivere regole personalizzate utilizzando Rego
Google fornisce un repository GitHub di esempio con un insieme di regole predefinite che puoi utilizzare per valutare i tuoi carichi di lavoro. Questi esempi coprono più casi d'uso.
Seleziona le regole dal repository o crea un file di regole (.rego
) che descriva i tuoi requisiti di valutazione.
Una regola personalizzata è composta dalle seguenti sezioni:
Metadati. I seguenti campi definiscono i metadati della regola:
DETAILS
: una breve descrizione della regola.SEVERITY
: un valore definito dall'utente che definisce la gravità della violazione della regola. Ad esempio,HIGH
,CRITICAL
,MEDIUM
oLOW
.ASSET_TYPE
: uno degli asset supportati. Consulta Origini dati supportate.TAGS
: uno o più tag per la regola. Questi tag consentono di filtrare le regole.
Dichiarazione del pacco. Ad esempio,
templates.google.compute.instance.label
.Comandi di importazione. Ad esempio,
data.validator.google.lib as lib
.Definizioni delle regole: un insieme di istruzioni che definisce la regola.
Regole di esempio
Le seguenti regole di esempio sono disponibili nel repository GitHub GoogleCloudPlatform/workload-manager. Puoi caricare queste regole così come sono nel tuo bucket Cloud Storage e utilizzarlo per eseguire le valutazioni. In alternativa, modifica le regole in base ai criteri della tua organizzazione e poi carica i file in un bucket Cloud Storage.
- Esempio 1: assicurati che esista almeno un'etichetta per le tue VM.
- Esempio 2: assicurati che il tuo carico di lavoro non utilizzi l'account di servizio predefinito di Compute Engine.
- Esempio 3: assicurati che le VM nel tuo carico di lavoro non utilizzino un indirizzo IP esterno.
Per un elenco completo di regole di esempio che puoi utilizzare in Workload Manager, consulta il repository GitHub GoogleCloudPlatform/workload-manager.
Esempio 1
Garantisce che sia presente almeno un tag per le risorse Compute Engine.
Esempio 2
Assicurati che il tuo carico di lavoro non utilizzi l'account di servizio predefinito di Compute Engine
Esempio 3
Assicurati che le VM nel tuo carico di lavoro non utilizzino un indirizzo IP esterno.
Carica la regola in un bucket Cloud Storage
Dopo aver creato il file .rego
, caricalo in un bucket Cloud Storage. Il livello superiore del bucket Cloud Storage deve includere le cartelle /lib
e /rules
:
lib
parameters.rego
utils.rego
/rules
rule_name1.rego
rule_name2.rego
Passaggi successivi
- Scopri di più sulle valutazioni dei workload.
- Scopri come creare ed eseguire una valutazione.