Verwenden Sie Betriebssystemrichtlinien, um konsistente Softwarekonfigurationen über virtuelle Linux- und Windows-Maschineninstanzen (VMs) hinweg zu erhalten.
Vorbereitung
- Prüfen Sie die Betriebssystemrichtlinien und Zuweisung von Betriebssystemrichtlinien.
- Prüfen Sie die OS Config-Kontingente.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- OSPolicyAssignment-Administrator (
roles/osconfig.osPolicyAssignmentAdmin
). Enthält Berechtigungen zum Erstellen, Löschen, Aktualisieren, Abrufen und Auflisten von Zuweisungen von Betriebssystemrichtlinien. - OSPolicyAssignment-Bearbeiter (
roles/osconfig.osPolicyAssignmentEditor
). Enthält Berechtigungen zum Aktualisieren, Abrufen und Auflisten von Zuweisungen von Betriebssystemrichtlinien. - OSPolicyAssignment-Betrachter (
roles/osconfig.osPolicyAssignmentViewer
). Enthält Berechtigungen für den Lesezugriff, um Zuweisungen von Betriebssystemrichtlinien abzurufen und aufzulisten. PROJECT_ID
: die Projekt-IDUSER_ID
: der Google Workspace-Nutzername des Nutzers- VM Manager einrichten
- Weisen Sie Nutzern die erforderlichen Berechtigungen zu.
- Prüfen Sie die Betriebssystemrichtlinien und Zuweisung von Betriebssystemrichtlinien.
- Erstellen Sie die Ressourcen für Betriebssystemrichtlinien.
Verwenden Sie eine der folgenden Methoden, um die Zuweisung von Betriebssystemrichtlinien zu erstellen und bereitzustellen:
Console
Führen Sie die folgenden Schritte aus, um eine Betriebssystemrichtlinienzuweisung zu erstellen und bereitzustellen:
- Erstellen Sie auf Ihrem lokalen Client eine Betriebssystemrichtlinie oder laden Sie sie herunter. Dabei muss es sich um eine JSON- oder YAML-Datei handeln. Weitere Informationen zum Erstellen von Betriebssystemrichtlinien sowie Beispiel-Betriebssystemrichtlinien finden Sie unter Betriebssystemrichtlinien.
Öffnen Sie in der Google Cloud Console die Seite Betriebssystemrichtlinien.
Klicken Sie auf Zuweisung von Betriebssystemrichtlinien erstellen.
Geben Sie im Bereich Zuweisungs-ID einen Namen für die Zuweisung von Betriebssystemrichtlinien an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.
Laden Sie im Abschnitt Betriebssystemrichtlinien die Betriebssystemrichtliniendatei hoch.
Geben Sie im Abschnitt Ziel-VM-Instanzen die Ziel-VMs an.
- Wählen Sie die Zone aus, die die VMs enthält, auf die Sie die Richtlinie anwenden möchten.
- Wählen Sie die Betriebssystemfamilien aus.
- Optional können Sie die VMs weiter filtern. Geben Sie dazu Einschluss- und Ausschlusslabels an.
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
Geben Sie einen Rolloutplan an.
- Geben Sie die Wellengröße an (auch als Unterbrechungsbudget bezeichnet). Zum Beispiel 10 %.
- Geben Sie die Wartezeit an. Beispiel: 15 Minuten.
Klicken Sie auf Rollout starten.
gcloud
Führen Sie die folgenden Schritte aus, um eine Betriebssystemrichtlinienzuweisung in einer Zone zu erstellen und bereitzustellen:
Erstellen Sie eine Ressource für eine Betriebssystemrichtlinie im JSON- oder YAML-Format. In dieser Datei werden die Betriebssystemrichtlinien definiert, die Sie auf Ihre VMs anwenden möchten, die Ziel-VMs, auf die Sie die Richtlinien anwenden möchten, und die Rollout-Rate, mit der die Betriebssystemrichtlinien angewendet werden. Weitere Informationen zu dieser Datei und Beispielzuweisungen finden Sie unter Betriebssystemrichtlinien zuweisen.
Verwenden Sie den Befehl
os-config os-policy-assignments create
, um die Zuweisung der Betriebssystemrichtlinie an einem bestimmten Speicherort zu erstellen und bereitzustellen.gcloud compute os-config os-policy-assignments create OS_POLICY_ASSIGNMENT_ID \ --location=ZONE \ --file=OS_POLICY_ASSIGNMENT_FILE \ --async
Ersetzen Sie dabei Folgendes:
OS_POLICY_ASSIGNMENT_ID
ist der Name für die Zuweisung der Betriebssystemrichtlinie. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.ZONE
: Zone, in der die Zuweisung der Betriebssystemrichtlinie erstellt werden soll.OS_POLICY_ASSIGNMENT_FILE
: Der absolute Pfad zur Zuweisungsdatei der Betriebssystemrichtlinie, die Sie im vorherigen Schritt erstellt haben.
Beispiel
gcloud compute os-config os-policy-assignments create my-os-policy-assignment \ --location=asia-south1-a \ --file=/downloads/assignment-config.yaml \ --async
Die Ausgabe sieht etwa so aus:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Notieren Sie sich den voll qualifizierten Ressourcennamen für den Vorgang. Im vorherigen Beispiel lautet der voll qualifizierte Ressourcenname so:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Mit diesem vollständig qualifizierten Ressourcennamen können Sie Details zu einem Rollout abrufen oder das Rollout abbrechen. Weitere Informationen finden Sie unter Rollouts.
Terraform
Verwenden Sie zum Erstellen einer Betriebssystemrichtlinien-Zuweisung die Ressource
google_os_config_os_policy_assignment
.Das folgende Beispiel prüft, ob der Apache-Webserver auf CentOS-VMs ausgeführt wird.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
REST
Führen Sie die folgenden Schritte aus, um auf Ihrem lokalen Client eine Zuweisung von Betriebssystemrichtlinien zu erstellen:
Erstellen Sie eine Zuweisung von Betriebssystemrichtlinien. Dabei muss es sich um eine JSON-Datei handeln. Weitere Informationen zum Erstellen von Zuweisungen von Betriebssystemrichtlinien oder zum Aufrufen von Beispielzuweisungen von Betriebssystemrichtlinien finden Sie unter Zuweisung von Betriebssystemrichtlinien.
Wenn Sie das YAML-Beispiel einer Zuweisung von Betriebssystemrichtlinien verwenden möchten, müssen Sie sie in das JSON-Format konvertieren.
Erstellen Sie in der API eine
POST
-Anfrage an die Methodeprojects.locations.osPolicyAssignments.create
.Fügen Sie in den Anfragetext die Spezifikationen für die Zuweisung der Betriebssystemrichtlinie aus dem vorherigen Schritt ein.
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { JSON_OS_POLICY }
Ersetzen Sie dabei Folgendes:
PROJECT_ID
: Ihre Projekt-IDOS_POLICY_ASSIGNMENT_ID
ist der Name für die Zuweisung der Betriebssystemrichtlinie.JSON_OS_POLICY
: Die Spezifikationen der Zuweisung der Betriebssystemrichtlinie, die im vorherigen Schritt erstellt wurde. Diese müssen im JSON-Format vorliegen. Weitere Informationen zu den Parametern und zum Format finden Sie unterResource: OSPolicyAssignment
.ZONE
: Zone, in der die Zuweisung der Betriebssystemrichtlinie erstellt werden soll
Beispiel
Wenn Sie beispielsweise eine Zuweisung von Betriebssystemrichtlinien für Google Cloud Observability erstellen möchten, die Monitoring- und Logging-Agents auf ausgewählten VMs installiert, und dafür die Beispielzuweisung einer Betriebssystemrichtlinie verwendet werden soll, führen Sie folgende Schritte aus: :
- Beispiel in JSON konvertieren
- Senden Sie die folgende Anfrage:
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { "osPolicies": [ { "id": "setup-repo-and-install-package-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "setup-repo", "repository": { "yum": { "id": "google-cloud-monitoring", "displayName": "Google Cloud Monitoring Agent Repository", "baseUrl": "https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el8-x86_64-all", "gpgKeys": [ "https://packages.cloud.google.com/yum/doc/yum-key.gpg", "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg" ] } } }, { "id": "install-pkg", "pkg": { "desiredState": "INSTALLED", "yum": { "name": "stackdriver-agent" } } } ] } ] } ], "instanceFilter": { "inclusionLabels": [ { "labels": { "used_for": "testing" } } ] }, "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": { "seconds": 300 } } }
Öffnen Sie in der Google Cloud Console die Seite Betriebssystemrichtlinien.
Klicken Sie auf den Tab Zuweisungen von Betriebssystemrichtlinien.
Klicken Sie für die Zuweisung von Betriebssystemrichtlinien, für die Sie das Rollout abbrechen möchten, auf Aktion (> Rollout abbrechen.
)Klicken Sie auf Rollout abbrechen.
Terraform
Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Unterstützte Betriebssysteme
Eine vollständige Liste der Betriebssysteme und Versionen, die Betriebssystemrichtlinien unterstützen, finden Sie unter Details zu Betriebssystemen.
Berechtigungen
Da Sie Betriebssystemrichtlinien zur Installation und Verwaltung von Softwarepaketen auf einer VM verwenden können, entspricht die Erstellung und Verwaltung von Betriebssystemrichtlinien dem Gewähren des Zugriffs auf die Remote-Codeausführung auf einer VM. Wenn Sie Betriebssystemrichtlinien einrichten, werden IAM-Berechtigungen zur Steuerung des Zugriffs auf die Richtlinienressourcen verwendet und Audit-Logs der Aktivitäten erstellt.
Die Inhaber eines Projekts haben uneingeschränkten Zugriff, um Zuweisungen von Betriebssystemrichtlinien zu erstellen und zu verwalten. Für alle anderen Nutzer müssen Sie Berechtigungen erteilen. Dafür können Sie eine dieser detaillierten Rollen zuweisen:
Beispielbefehl zum Festlegen von Berechtigungen
Führen Sie den folgenden Befehl aus, um einem Nutzer Administratorzugriff auf Zuweisungen von Betriebssystemrichtlinien zu gewähren:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Ersetzen Sie dabei Folgendes:
Zuweisung von Betriebssystemrichtlinien erstellen
Führen Sie die folgenden Schritte aus, um eine Betriebssystemrichtlinienzuweisung zu erstellen und bereitzustellen:
Roll-outs
Zuweisungen von Betriebssystemrichtlinien werden gemäß einer Rollout-Rate bereitgestellt. Das bedeutet, dass Zuweisungen, die auf eine Gruppe von VMs abzielen, schrittweise implementiert und nicht sofort auf alle VMs angewendet werden. Änderungen werden schrittweise eingeführt, damit Sie gegebenenfalls eingreifen und ein Rollout abbrechen können, wenn neue Änderungen Regressionen verursachen.
Sollten Methodenaufrufe bei einer API sehr lange dauern, gibt die API einen Vorgang mit langer Ausführungszeit (long-running operation, LRO) zurück. Weitere Informationen zu LROs finden Sie unter Vorgänge mit langer Ausführungszeit.
Die OS Config API erstellt bei jedem Erstellen, Aktualisieren oder Löschen einer Betriebssystemrichtlinienzuweisung einen LRO. Jeder LRO gibt eine Vorgangsressource zurück. Diese Vorgangsressource sieht in etwa so aus:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Bei jedem Erstellungs-, Aktualisierungs- oder Löschvorgang wird auch eine neue Überarbeitung der Zuweisung von Betriebssystemrichtlinien generiert. Informationen zum Aufrufen der Überarbeitungen der Zuweisung einer Betriebssystemrichtlinie finden Sie unter Überarbeitungen der Zuweisung einer Betriebssystemrichtlinie auflisten.
Mit der Google Cloud CLI können Sie die Details eines Rollouts abrufen oder ein Rollout abbrechen.
Details zu einem Rollout abrufen
Mit dem Befehl
os-config os-policy-assignments operations describe
können Sie Details zu einem Roll-out abrufen.gcloud compute os-config os-policy-assignments operations describe FULLY_QUALIFIED_OPERATION_NAME
Ersetzen Sie
FULLY_QUALIFIED_OPERATION_NAME
durch den vollständig qualifizierten Ressourcennamen für den Vorgang, der beim Vorgang des Erstellens, Aktualisierens oder Löschens zurückgegeben wird.Beispiel
gcloud compute os-config os-policy-assignments operations describe \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Beispielausgabe
done: true metadata: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignmentOperationMetadata apiMethod: CREATE osPolicyAssignment: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment@cfb78790-41d8-40d1-b8a1-1eaf6011b909 rolloutStartTime: '2021-04-15T00:53:52.963569Z' rolloutState: SUCCEEDED rolloutUpdateTime: '2021-04-15T00:53:53.094041Z' name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/cfb78790-41d8-40d1-b8a1-1eaf6011b909 response: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignment baseline: true description: My test policy instanceFilter: inclusionLabels: - labels: label-key-not-targeting-instances: label-value-not-targeting-instances name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment osPolicies: - id: q-test-policy mode: ENFORCEMENT resourceGroups: - osFilter: osShortName: centos osVersion: '7' resources: - id: add-repo repository: yum: baseUrl: https://packages.cloud.google.com/yum/repos/google-cloud-ops-agent-el7-x86_64-all
Rollout abbrechen
Console
gcloud
Mit dem Befehl
gcloud compute os-config os-policy-assignments operations cancel
können Sie ein Rollout abbrechen.gcloud compute os-config os-policy-assignments operations cancel FULLY_QUALIFIED_OPERATION_NAME
Ersetzen Sie
FULLY_QUALIFIED_OPERATION_NAME
durch den vollständig qualifizierten Ressourcennamen für den Vorgang, der beim Vorgang des Erstellens, Aktualisierens oder Löschens zurückgegeben wird.Beispiel
gcloud compute os-config os-policy-assignments operations cancel \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Wenn der Befehl erfolgreich ist, wird keine Ausgabe zurückgegeben.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-21 (UTC).
-