Questo documento descrive come scrivere regole personalizzate utilizzando il linguaggio delle norme 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 policy 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 è suddivisa nelle 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
, ooLOW
.ASSET_TYPE
: uno degli asset supportati. Consulta Origini dati supportate.TAGS
: uno o più tag per la regola. Questi tag aiutano a filtrare le regole.
Dichiarazione del pacchetto. Ad esempio,
templates.google.compute.instance.label
.Importare gli estratti conto. Ad esempio,
data.validator.google.lib as lib
.Definizioni delle regole: un insieme di istruzioni che definiscono 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 bucket Cloud Storage e utilizzarle 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: garantisce che esista almeno un'etichetta per le tue VM.
- Esempio 2: garantisce che il tuo workload non utilizzi il account di servizio predefinito di Compute Engine.
- Esempio 3: garantisce 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
Assicura che esista almeno un tag per le risorse Compute Engine.
Esempio 2
Garantisce che il tuo workload non utilizzi il account di servizio Compute Engine predefinito
Esempio 3
Garantisce che le VM nel tuo workload 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 del workload.
- Scopri come creare ed eseguire una valutazione.