Richtlinienbibliothek erstellen

Als Organisationsadministrator haben Sie die Aufgabe, Richtlinien für Entwickler zu definieren, die sie bei der Anwendung der Infrastruktur als Code einhalten müssen. Die Richtlinien Ihrer Organisation werden als Richtlinienbibliothek festgelegt. Auf dieser Seite wird gezeigt, wie Sie ein zentrales Richtlinien-Repository erstellen und Einschränkungen hinzufügen.

Hinweis

  • Sie benötigen ein leeres Git-Repository zum Speichern der Richtlinienbibliothek Ihrer Organisation.
  • Sie müssen Git für eine sichere Verbindung konfigurieren. Wenn sich Ihr Git-Repository beispielsweise auf GitHub befindet, folgen Sie der Anleitung unter Verbindung zu GitHub mit SSH herstellen.

Beispielbibliothek duplizieren

Google bietet ein Beispiel-Repository mit einer Reihe vordefinierter Einschränkungsvorlagen, die Sie für Ihre persönliche Anwendung anpassen können.

  1. Klonen Sie das Beispiel-Repository der Richtlinienbibliothek und duplizieren Sie es in Ihr POLICY_LIBRARY_REPO:

    git clone https://github.com/GoogleCloudPlatform/policy-library.git
    cd policy-library
    git remote set-url origin POLICY_LIBRARY_REPO
    git push origin main
    
  2. Sehen Sie sich die verfügbaren Einschränkungsvorlagen in policies/templates an: ls policies/templates.

  3. Wählen Sie die Einschränkungsvorlagen aus, die Sie verwenden möchten. Wählen Sie für dieses Beispiel die Vorlage gcp_storage_location_v1.yaml aus. Diese erzwingt den Standort für Cloud Storage-Buckets.

  4. Erstellen Sie die YAML-Einschränkungsdateien, die diesen Vorlagen entsprechen, unter policies/constraints.

  5. Verwenden Sie in Ihrer lokalen Kopie des policy-library-Repositorys die folgenden Befehle, um ein Commit für Ihre Änderungen auszuführen und sie per Push zu übertragen:

    git add --all .
    git commit -m "Initial commit of policy library constraints"
    git push -u origin main
    

Bibliotheksstruktur

Ein Repository für die Richtlinienbibliothek enthält die folgenden Verzeichnisse:

  • policies/: Dieses Verzeichnis enthält zwei Unterverzeichnisse:

    • constraints/: Dieses Verzeichnis ist anfangs leer. Platzieren Sie hier die Einschränkungsdateien.
    • templates/: Dieses Verzeichnis enthält vordefinierte Einschränkungsvorlagen.
  • validator/: Dieses Verzeichnis enthält die .rego-Dateien und die zugehörigen Unittests. Sie verwenden dieses Verzeichnis nur dann, wenn Sie vorhandene Einschränkungsvorlagen ändern oder neue erstellen möchten. Durch Ausführen von make build wird der Rego-Inhalt in die entsprechenden Dateien mit Einschränkungsvorlagen eingefügt.

Regelmäßige Aktualisierungen

Sie sollten regelmäßig Änderungen aus dem öffentlichen Repository abrufen, da es eventuell neue Vorlagen und Rego-Dateien enthält.

git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main

Weitere Informationen

Die Richtlinienbibliothek enthält eine Reihe von Einschränkungsvorlagen und den Ordner samples mit Beispieleinschränkungen. Informationen zum Schreiben und Verwenden von Einschränkungsvorlagen und -einschränkungen finden Sie unter Terraform-Einschränkungen erstellen oder CAI-Einschränkungen erstellen.