Eine Betriebssystemrichtlinie ist eine Datei, die die deklarative Konfiguration für Betriebssystemressourcen wie Pakete, Repositories, Dateien oder benutzerdefinierte Ressourcen enthält, die durch Skripts definiert werden. Weitere Informationen finden Sie in der Ressourcendefinition für OSPolicy
.
Eine Zuweisung von Betriebssystemrichtlinien ist eine API-Ressource, mit der von VM Manager Betriebssystemrichtlinien auf VMs angewendet werden. Weitere Informationen finden Sie in der Ressourcendefinition für OSPolicyAssignment
.
Betriebssystemrichtlinie
Eine Betriebssystemrichtlinie ist eine JSON- oder YAML-Datei mit drei Abschnitten:
den Modus an. Das Richtlinienverhalten. Folgende zwei Modi sind verfügbar:
Validation
: In diesem Modus prüft die Richtlinie, ob die Ressourcen den ausgewählten Status haben, aber führt keine Aktion aus.Enforcement
: In diesem Modus prüft die Richtlinie, ob die Ressourcen den ausgewählten Status haben. Ist dies nicht der Fall, werden die erforderlichen Maßnahmen ergriffen, um sie in den ausgewählten Status zu bringen.
Bei beiden Modi meldet VM Manager die Compliance für die Betriebssystemrichtlinie und die zugehörigen Ressourcen.
Ressourcengruppen Der Name und die Version des Betriebssystems, für die die zugehörigen Ressourcenspezifikationen gelten. Sie können beispielsweise eine einzelne Richtlinie definieren, um einen Agent über verschiedene Betriebssystem-Distributionen und -Versionen hinweg zu installieren und bereitzustellen.
Ressourcen: Die Spezifikationen, die die VM benötigt, um die ausgewählte Konfiguration zu erreichen. Die folgenden Ressourcentypen werden unterstützt:
pkg
: Zum Installieren oder Entfernen von Linux- und Windows-Paketenrepository
: wird verwendet, um anzugeben, aus welchem Repository Softwarepakete installiert werden könnenexec
: wird verwendet, um die Ausführung eines Ad-hoc-Shell- (/bin/sh
) oder PowerShell-Skripts zu aktivieren.file
: wird verwendet, um Dateien im System zu verwalten
Beispiele für Betriebssystemrichtlinien
Die folgenden Beispiele zeigen, wie Sie Betriebssystemrichtlinien erstellen können. Sie können diese Betriebssystemrichtlinien in die Google Cloud Console hochladen, wenn Sie eine Betriebssystemrichtlinienzuweisung erstellen.
- Beispiel 1: installiert ein Paket
- Beispiel 2: führt ein Skript aus
- Beispiel 3: gibt ein Download-Repository an und installiert Pakete aus diesem Repository.
- Beispiel 4: Konfiguriert das CIS-Benchmark-Scannen auf VMs, auf denen Container-Optimized OS (COS) ausgeführt wird. Weitere Informationen zur Verwendung der Betriebssystemrichtlinie für das CIS-Benchmark-Scan finden Sie unter Automatisieren der Aktivierung und Prüfung des CIS-Compliancestatus.
Eine vollständige Liste von Beispiel-Betriebssystemrichtlinien, die Sie in Ihrer Umgebung anwenden können, finden Sie im GitHub-Repository GoogleCloudPlatform/osconfig.
Beispiel 1
Erstellen Sie eine Zuweisung von Betriebssystemrichtlinien, die eine von einem Cloud Storage-Bucket heruntergeladene Windows-MSI-Datei installiert.
Beispiel 2
Erstellen Sie eine Betriebssystemrichtlinie, die prüft, ob der Apache-Webserver auf Ihren Linux-VMs ausgeführt wird.
Beispiel 3
Erstellen Sie eine Betriebssystemrichtlinie, die Google Cloud Observability-Agents auf CentOS-VMs installiert.
Beispiel 4
Hiermit wird ein regelmäßiger CIS-Level-1-Scan mit der Standardhäufigkeit von einmal täglich konfiguriert.
Zuweisung von Betriebssystemrichtlinien
Eine Zuweisung von Betriebssystemrichtlinien besteht aus folgenden Abschnitten:
Betriebssystemrichtlinien Eine oder mehrere Betriebssystemrichtlinien, die Sie auf die VM anwenden möchten. Informationen zum Herunterladen oder Erstellen einer Richtlinie finden Sie unter Betriebssystemrichtlinien.
Ziel-VMs Eine Gruppe von VMs innerhalb einer einzelnen Zone, auf die Sie die Richtlinie anwenden möchten. Innerhalb einer Zone können Sie VMs mithilfe von Betriebssystemfamilien limitieren oder einschränken und Labels ein- oder ausschließen. Sie können eine Kombination aus den folgenden Optionen auswählen:
- Betriebssystemfamilien: gibt die Zielbetriebssysteme an, für die die Betriebssystemrichtlinie gilt. Eine vollständige Liste der Betriebssysteme und Versionen, die Betriebssystemrichtlinien unterstützen, finden Sie unter Details zu Betriebssystemen.
- Einschlusssatz: gibt die VMs an, für die die Betriebssystemrichtlinie basierend auf VM- oder Systemlabels gilt.
- Ausschlusssatz: gibt die VMs an, die von der Betriebssystemrichtlinie basierend auf VM- oder Systemlabels ignoriert werden sollen.
Sowohl für Include- als auch für Exclude-Labelsätze ist ein einzelnes Stringlabel zulässig, wenn es der vom System verwendeten Benennungskonvention entspricht. Die meisten Labels werden jedoch in
key:value
-Paaren angegeben. Weitere Informationen zu Labels finden Sie unter Ressourcen mit Labels versehen.Sie können beispielsweise alle Ubuntu-VMs in Ihrer Testumgebung auswählen und dabei die ausschließen, die Google Kubernetes Engine ausführen, indem Sie Folgendes angeben:
- Betriebssystemfamilie:
ubuntu
- Einschließen:
env:test
,env:staging
- Ausschließen:
goog-gke-node
Roll-out-Rate: Gibt die Geschwindigkeit an, mit der die Betriebssystemrichtlinien auf die VMs angewendet werden. Die Betriebssystemrichtlinien werden schrittweise eingeführt, damit Sie den Systemzustand verfolgen und Änderungen vornehmen können, wenn die Aktualisierungen in Ihrer Umgebung Regressionen verursachen. Ein Roll-out-Plan besteht aus folgenden Komponenten:
- Wellengröße (Unterbrechungsbudget): die feste Anzahl oder der Prozentsatz der VMs, für die gleichzeitig ein Rollout durchgeführt werden kann. Das bedeutet, dass zu jedem Zeitpunkt des Rollouts Prozesse nur auf eine bestimmte Anzahl von VMs ausgerichtet werden.
- Wartezeit: die Zeit zwischen der Anwendung von Richtlinien auf die VM durch den Dienst und der Entfernung einer VM aus dem Unterbrechungsgrenzwert. Eine Wartezeit von 15 Minuten bedeutet beispielsweise, dass der Rolloutprozess nach dem Anwenden der Richtlinien auf eine VM 15 Minuten warten muss, bevor die VM aus dem Unterbrechungsgrenzwert entfernt werden kann und das Rollout fortgesetzt werden kann. Durch die Wartezeit können Sie die Geschwindigkeit eines Rollouts steuern und auch potenzielle Rolloutprobleme frühzeitig erkennen und beheben. Wählen Sie einen Zeitraum aus, der lang genug ist, um den Status der Rollouts zu überwachen.
Wenn Sie beispielsweise ein Ziel von 10 VMs festlegen, den Unterbrechungsgrenzwert auf 20 % setzen und eine Bereitstellungszeit von 15 Minuten festlegen, werden zu jeder Zeit nur zwei VMs aktualisiert. Nach dem Aktualisieren jeder VM muss 15 Minuten gewartet werden, bevor die VM aus dem Unterbrechungsgrenzwert entfernt und dem Rollout eine weitere VM hinzugefügt wird.
Weitere Informationen zu Rollouts finden Sie unter Rollouts.
Beispiel einer Zuweisung von Betriebssystemrichtlinien
Die folgenden Beispiele zeigen, wie Zuweisungen von Betriebssystemrichtlinien erstellt werden. Mit diesen Beispielen können Sie Zuweisungen von Betriebssystemrichtlinien über die Google Cloud CLI oder die OS Config API erstellen.
- Beispiel 1: installiert ein Paket
- Beispiel 2: führt ein Skript aus
- Beispiel 3: gibt ein Download-Repository an und installiert Pakete aus diesem Repository.
Eine Liste von Beispiel-Zuweisungen von Betriebssystemrichtlinien, die Sie in Ihrer Umgebung anwenden können, finden Sie im GitHub-Repository GoogleCloudPlatform/osconfig.
Beispiel 1
Erstellen Sie eine Zuweisung von Betriebssystemrichtlinien, die eine von einem Cloud Storage-Bucket heruntergeladene Windows-MSI-Datei installiert.
Beispiel 2
Erstellen Sie eine Zuweisung von Betriebssystemrichtlinien, die prüft, ob der Apache-Webserver auf allen Linux-VMs ausgeführt wird.
Beispiel 3
Erstellt eine Zuweisung einer Betriebssystemrichtlinie, die Google Cloud Observability-Agents auf CentOS-VMs installiert.
Nächste Schritte
- Weitere Informationen zu Betriebssystemrichtlinien.
- Zuweisung von Betriebssystemrichtlinien erstellen.
- Betriebssystemrichtlinien verwalten.