Auf dieser Seite wird beschrieben, wie Sie mit dem Organization Policy Service dafür sorgen, dass VM Manager auf allen Compute Engine-Instanzen aktiviert ist, einschließlich Google Kubernetes Engine-VMs in einer Organisation, einem Ordner oder einem Projekt.
Dieser Leitfaden richtet sich an Sicherheitsteams, die dafür sorgen möchten, dass alle erforderlichen Programme wie Sicherheits- und Monitoring-Agents auf allen Instanzen in einer Organisation, einem Ordner oder einem Projekt ausgeführt werden. Wenn Sie die Konfiguration nur mit der Organisationsrichtlinie erzwingen möchten, verwenden Sie diesen Leitfaden. Für einen Config-as-Code-Ansatz, verwenden Sie Config Sync. Mit Config Sync können Sie viele Aspekte Ihrer Cluster konfigurieren und steuern. Es bietet mehr als nur Organisationsrichtlinien.
Bevor Sie diese Seite lesen, sollten Sie mit VM Manager und Resource Manager-Einschränkungen vertraut sein.
In diesem Leitfaden erfahren Sie, wie Sie die Verwendung von VM Manager in jedem Projekt einer Organisation oder eines Ordners erzwingen. In diesem Leitfaden wird nicht beschrieben, wie Sie VM Manager mit Betriebssystemrichtlinien einrichten und verwenden. Eine entsprechende Anleitung finden Sie unter Zuweisung von Betriebssystemrichtlinien erstellen.
Informationen zu VM Manager
VM Manager ist eine Suite von Tools zur Verwaltung von Betriebssystemen für große Flotten virtueller Maschinen (VMs) mit Windows und Linux in der Compute Engine. Mit VM Manager können Sie Betriebssystemrichtlinien anwenden, um die auf VMs ausgeführten Programme anzupassen. Sie können beispielsweise eine Richtlinie definieren, um einen Agent auf einer Ressource zu installieren, und diese Richtlinie für mehrere Ressourcen wiederverwenden. VM Manager ist in Google Cloud Projekten standardmäßig deaktiviert.
Sie können den Anwendungsbereich von VM Manager-Richtlinien mit OSPolicyAssignments eingrenzen. Damit können Sie Betriebssystemrichtlinien mithilfe von Selektoren auf bestimmte VMs beschränken. Alle GKE-Knoten-VMs haben beispielsweise das Label goog-gke-node, das Sie mit einer Zuweisung von Betriebssystemrichtlinien verwenden können.
Organisationsrichtlinien und VM Manager
Wenn Ihre Google Cloud Organisation mehrere Hierarchieebenen
wie Ordner und Unterordner hat, kann die manuelle Aktivierung von VM Manager für alle
diese Projekte unnötigen Verwaltungsaufwand verursachen. Mit dem Organization Policy Service und der Einschränkung constraints/compute.requireOsConfig können Sie festlegen, dass VM Manager für alle VMs in allen Projekten in Ordnern oder einer Organisation aktiviert werden muss. Einige der Vorteile der Erzwingung von VM Manager mit einer Organisationsrichtlinie sind:
- In allen neuen Projekten wird das Metadatenlabel
enable-osconfig=TRUEfür jedes Projekt und jede VM hinzugefügt. - Wenn jemand versucht, dieses Label zu entfernen oder einen anderen Wert als
truefestzulegen, wird die Änderung abgelehnt. - Wenn jemand versucht, eine VM so zu erstellen oder zu aktualisieren, dass der Metadatenschlüssel
enable-osconfigeinen anderen Wert alstrueerhält, wird die Änderung abgelehnt.
Hinweis
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten,
installieren und dann
initialisieren Sie die
gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste
Version mit dem
gcloud components updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
- Achten Sie darauf, dass Sie VM Manager bereits mit Betriebssystemrichtlinien und Zuweisungen von Betriebssystemrichtlinien verwenden, um Agents auf Ihren VMs auszuführen. Eine Anleitung finden Sie unter Zuweisung von Betriebssystemrichtlinien erstellen.
Aktivieren Sie die Cloud Resource Manager API und die OS Config API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Informationen zum Zuweisen von Rollen.
Beschränkungen
Die Organisationsrichtlinie constraints/compute.requireOsConfig hat die folgenden Einschränkungen:
- Ressourcen mit bereits vorhandenen Verstößen werden durch die neue Organisationsrichtlinie nicht geändert. Sie können die Metadaten für die Richtlinie manuell oder mit
gcloudfür vorhandene Ressourcen festlegen. - Jeder, der die Berechtigung zum Ändern von Metadaten für Compute Engine-Instanzen im Projekt hat, kann den
osconfig-agentauf der VM deaktivieren, indem er das Metadatenfeldosconfig-disabled-featuresfestlegt. - Wenn der
osconfig-agentnicht ausgeführt wird, wird die VM im VM Manager-Dashboard als nicht konform angezeigt. Das kann beispielsweise passieren, wenn ein Nutzer den Agent manuell deaktiviert hat.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Administrator für Organisationsrichtlinien (roles/orgpolicy.policyAdmin)“ für die Organisation zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Organisationsrichtlinien benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
compute.requireOsConfig für eine Organisation aktivieren
Nachdem Sie VM Manager aktiviert und eine OSPolicyAssignment auf Ihre VMs beschränkt haben, können Sie mit der Organisationsrichtlinie constraints/compute.requireOsConfig dafür sorgen, dass VM Manager in allen neuen Projekten standardmäßig aktiviert ist. Wie Sie constraints/compute.requireOsConfig erzwingen, hängt von der verwendeten API-Version ab.
Organization Policy v2 API
Sie können die constraints/compute.requireOsConfig Einschränkung für eine
Google Cloud Ressource wie einen Ordner oder eine Organisation mit der
gcloud CLI oder der Google Cloud Console erzwingen.
gcloud
Prüfen Sie, ob die Einschränkung
compute.requireOsConfignoch nicht angewendet wurde:gcloud org-policies describe \ constraints/compute.requireOsConfig \ --organization=ORGANIZATION_IDErsetzen Sie
ORGANIZATION_IDdurch Ihre Organisations-ID.Wenn keine Richtlinie festgelegt ist, gibt dieser Befehl einen
NOT_FOUND-Fehler zurück:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.Wenn die Richtlinie vorhanden ist, gibt der Befehl die aktuelle Richtlinie zurück. Wenn Sie eine neue Richtlinie anwenden, wird die vorhandene Richtlinie überschrieben.
Erstellen Sie die temporäre Datei
/tmp/policy.yamlzum Speichern der Richtlinie:name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: trueFühren Sie den Befehl
set-policyaus:gcloud org-policies set-policy /tmp/policy.yamlPrüfen Sie, ob die neue Richtlinie angewendet wurde:
gcloud org-policies describe \ constraints/compute.requireOsConfig --effective \ --organization=ORGANIZATION_IDDie Ausgabe dieses Befehls sieht in etwa so aus:
name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: true
Console
Wechseln Sie in der Google Cloud Console zur Seite Organisationsrichtlinien.
Wählen Sie in der Projektauswahl das Projekt, den Ordner oder die Organisation aus, für die Sie Organisationsrichtlinien bearbeiten möchten.
Suchen Sie auf der Seite Organisationsrichtlinien mit dem Filter nach
compute.requireOsConfig.Klicken Sie auf den Namen der Richtlinie, um die Seite Richtliniendetails zu öffnen.
Klicken Sie auf Richtlinie verwalten , um die Organisationsrichtlinie für diese Ressource zu aktualisieren.
Wählen Sie auf der Seite Richtlinie bearbeiten die Option Richtlinie der übergeordneten Ressource überschreiben aus.
Wählen Sie Regel hinzufügen aus.
Ändern Sie unter Erzwingung die Erzwingung dieser Organisationsrichtlinie in Ein.
Klicken Sie auf Richtlinie festlegen, um die Richtlinie zu erzwingen.
Resource Manager v1 API
Prüfen Sie, ob die Einschränkung
compute.requireOsConfignoch nicht angewendet wurde:gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --organization ORGANIZATION_IDErsetzen Sie
ORGANIZATION_IDdurch Ihre Organisations-ID.Wenn keine Richtlinie festgelegt ist, gibt dieser Befehl eine unvollständige Richtlinie zurück, wie im folgenden Beispiel:
constraint: "constraints/compute.requireOsConfig" etag: BwVJi0OOESU=Wenn die Richtlinie vorhanden ist, gibt der Befehl die aktuelle Richtlinie zurück. Wenn Sie eine neue Richtlinie anwenden, wird die vorhandene Richtlinie überschrieben.
Legen Sie die Richtlinie fest, die für die Organisation erzwungen werden soll:
gcloud resource-manager org-policies enable-enforce constraints/compute.requireOsConfig \ --organization ORGANIZATION_IDDie Ausgabe dieses Befehls sieht in etwa so aus:
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig etag: BwVJitxdiwY=Prüfen Sie, ob die neue Richtlinie angewendet wurde:
gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --effective \ --organization ORGANIZATION_IDDie Ausgabe dieses Befehls sieht in etwa so aus:
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig
Es kann bis zu 15 Minuten dauern, bis Änderungen an Organisationsrichtlinien vollständig erzwungen werden.
Weitere Informationen zu anderen Richtlinien, die Sie anwenden können, oder zum Ändern oder Löschen von Richtlinien finden Sie in der Resource Manager-Dokumentation.
Nächste Schritte
Weitere Informationen zu GKE-Audit-Logs.