In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Regeln mit der Rego-Richtliniensprache schreiben. Sie können diese Regeln im Arbeitslastmanager verwenden, um Ihre Arbeitslasten anhand der für Ihre Organisation definierten Best Practices zu bewerten.
Weitere Informationen finden Sie unter Benutzerdefinierte Regeln im Workload Manager.
Hinweis
- Machen Sie sich mit der Sprache der Rego-Richtlinien vertraut.
Benutzerdefinierte Regeln mit Rego schreiben
Google stellt ein Beispiel-GitHub-Repository mit einer Reihe vordefinierter Regeln bereit, mit denen Sie Ihre Arbeitslasten bewerten können. Diese Musterbeispiele decken mehrere Anwendungsfälle ab.
Wählen Sie Regeln aus dem Repository aus oder erstellen Sie eine Regeldatei (.rego
), in der Ihre Bewertungsanforderungen beschrieben sind.
Eine benutzerdefinierte Regel besteht aus den folgenden Abschnitten:
Metadaten Die folgenden Felder definieren die Regelmetadaten:
DETAILS
: Eine kurze Beschreibung der Regel.SEVERITY
: Ein benutzerdefinierter Wert, der die Schwere des Verstoßes gegen die Regel definiert. Beispiel:HIGH
,CRITICAL
,MEDIUM
oderLOW
.ASSET_TYPE
: eines der unterstützten Assets. Weitere Informationen finden Sie unter Unterstützte Datenquellen.TAGS
: ein oder mehrere Tags für die Regel. Mit diesen Tags können Sie die Regeln filtern.
Paketdeklaration Beispiel:
templates.google.compute.instance.label
.Importanweisungen Beispiel:
data.validator.google.lib as lib
.Regelndefinitionen: Eine Reihe von Anweisungen, die die Regel definieren.
Beispielregeln
Die folgenden Beispielregeln sind im GitHub-Repository GoogleCloudPlatform/workload-manager verfügbar. Sie können diese Regeln unverändert in Ihren Cloud Storage-Bucket hochladen und zum Ausführen Ihrer Bewertungen verwenden. Alternativ können Sie die Regeln gemäß den Richtlinien Ihrer Organisation ändern und dann die Dateien in einen Cloud Storage-Bucket hochladen.
- Beispiel 1: Damit wird sichergestellt, dass es mindestens ein Label für Ihre VMs gibt.
- Beispiel 2: Damit wird sichergestellt, dass für Ihre Arbeitslast nicht das Compute Engine-Standarddienstkonto verwendet wird.
- Beispiel 3: Damit wird sichergestellt, dass VMs in Ihrer Arbeitslast keine externe IP-Adresse verwenden.
Eine vollständige Liste der Beispielregeln, die Sie in Workload Manager verwenden können, finden Sie im GitHub-Repository GoogleCloudPlatform/workload-manager.
Beispiel 1
Es muss mindestens ein Tag für die Compute Engine-Ressourcen vorhanden sein.
Beispiel 2
Verhindert, dass Ihre Arbeitslast das Compute Engine-Standarddienstkonto verwendet
Beispiel 3
Damit wird sichergestellt, dass VMs in Ihrer Arbeitslast keine externe IP-Adresse verwenden.
Regel in einen Cloud Storage-Bucket hochladen
Nachdem Sie die .rego
-Datei erstellt haben, laden Sie sie in einen Cloud Storage-Bucket hoch. Die oberste Ebene Ihres Cloud Storage-Bucket muss die Ordner /lib
und /rules
enthalten:
lib
parameters.rego
utils.rego
/rules
rule_name1.rego
rule_name2.rego
Nächste Schritte
- Weitere Informationen zu Arbeitslastbewertungen
- Weitere Informationen zum Erstellen und Ausführen einer Bewertung