Voraussetzungen für die Verwendung des Richtlinien-Orchestrators

Auf dieser Seite werden die Voraussetzungen für die Verwendung des Policy Orchestrator-Features in VM Manager beschrieben.

Kontingentprojekt für Orchestrierungen von Organisationen und Ordnern einrichten

Wenn Sie Richtlinien-Orchestratoren verwenden, um Betriebssystemrichtlinien-Ressourcen in Ihrer Organisation oder in Ordnern zu verwalten, stellen Sie Anfragen an eine clientbasierte API. Für clientbasierte APIs ist ein Kontingentprojekt erforderlich. Weitere Informationen zu clientbasierten APIs und zum Einrichten von Kontingentprojekten finden Sie unter Kontingentprojekte – Übersicht.

Wenn Sie die gcloud CLI oder die REST API verwenden, um die Policy Orchestrator-Methoden aufzurufen, geben Sie das Kontingentprojekt so an:

gcloud

Legen Sie Ihr Kontingentprojekt im Attribut der gcloud CLI-Konfiguration fest:

gcloud config set billing/quota_project QUOTA_PROJECT_ID

Ersetzen Sie QUOTA_PROJECT_ID durch die Projekt-ID des Kontingentprojekts.

Alternativ können Sie das Kontingentprojekt für einen bestimmten Befehl mit dem Flag --billing-project festlegen, das Vorrang vor dem Konfigurationsattribut hat.

REST

Fügen Sie den HTTP-Header x-goog-user-project hinzu, um in jeder Anfrage ein Kontingentprojekt anzugeben. Weitere Informationen finden Sie unter Kontingentprojekt mit REST-Anfrage festlegen.

OS Config API aktivieren

Wenn Sie die Funktion „Richtlinien-Orchestrator“ in VM Manager verwenden möchten, aktivieren Sie die OS Config API in den folgenden Projekten:

  • Aktivieren Sie für Orchestrierungen auf Organisations- und Ordnerebene die OS Config API für das Kontingentprojekt.
  • Aktivieren Sie für Orchestrierungen auf Projektebene die OS Config API in dem Projekt, in dem Sie Richtlinien-Orchestratoren erstellen.

Weitere Informationen finden Sie unter OS Config API aktivieren.

Progressive Rollout API für die Projekte aktivieren

Console

  1. Wählen Sie in der Trusted Cloud Console das Trusted Cloud Projekt aus, für das Sie die API aktivieren möchten, und rufen Sie dann die Seite APIs & Services auf:

    APIs & Dienste aufrufen

  2. Klicken Sie auf APIs und Dienste aktivieren.

  3. Suchen Sie nach „Progressive Rollout“.

  4. Klicken Sie in den Suchergebnissen auf Progressive Rollout API.

  5. Wenn die API noch nicht aktiviert ist, klicken Sie auf Aktivieren.

gcloud

  1. Führen Sie den folgenden Befehl aus, nachdem Sie PROJECT_ID durch die ID des Projekts ersetzt haben, für das Sie die API aktivieren möchten, um zu prüfen, ob die Progressive Rollout API aktiviert ist:

     gcloud services list --project=PROJECT_ID
    

    Wenn progressiverollout.googleapis.com in der Ausgabe angezeigt wird, ist die API aktiviert.

  2. Wenn die API nicht aktiviert ist, führen Sie den folgenden Befehl aus, um sie zu aktivieren:

     gcloud services enable progressiverollout.googleapis.com
    

    Weitere Informationen finden Sie unter gcloud services.

OS Config-Dienst-Agents einrichten

Der Richtlinienorchestrator verwendet die OS Config-Dienst-Agents, um Aktionen in Ihren Projekten auszuführen. Sie hängt auch von der Progressive Rollout API ab, die eigene Dienst-Agents hat. Weitere Informationen finden Sie unter Dienst-Agents.

Sie müssen die Dienst-Agents für jedes Projekt, jeden Ordner oder jede Organisation erstellen, in dem bzw. der Sie den Richtlinien-Orchestrator erstellen.

So erstellen Sie die Dienst-Agents:

  1. Prüfen Sie das Format der E-Mail-Adresse des Dienst-Agents für jede Ressource:

    Projekt

    • service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    Ersetzen Sie PROJECT_NUMBER durch die numerische ID des Projekts, in dem Sie die Richtlinien-Orchestratoren erstellen.

    Ordner

    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    Ersetzen Sie FOLDER_NUMBER durch die numerische ID des Ordners, in dem Sie die Richtlinien-Orchestratoren erstellen.

    Organisation

    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    Ersetzen Sie ORGANIZATION_NUMBER durch die numerische ID der Organisation, in der Sie die Richtlinien-Orchestratoren erstellen.

  2. Verwenden Sie den Befehl gcloud beta services identity create, um den Dienst-Agent für eine bestimmte API und Ressource zu erstellen:

    Projekt

    gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER
    
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --project=PROJECT_NUMBER
    

    Ersetzen Sie PROJECT_NUMBER durch die numerische ID des Projekts, in dem Sie den Dienst-Agent erstellen möchten.

    Ordner

    gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER
    
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --folder=FOLDER_NUMBER
    

    Ersetzen Sie FOLDER_NUMBER durch die numerische ID des Ordners, in dem Sie den Dienst-Agent erstellen möchten.

    Organisation

    gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
    
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --organization=ORGANIZATION_NUMBER
    

    Ersetzen Sie ORGANIZATION_NUMBER durch die numerische ID der Organisation, in der Sie den Service-Agent erstellen möchten.

Dienst-Agents IAM-Rollen zuweisen

Damit der Richtlinien-Orchestrator ordnungsgemäß funktioniert, müssen Sie den entsprechenden Dienstkonten alle erforderlichen Dienst-Agent-Rollen für die übergeordnete Ressource des Orchestrators zuweisen:

  • OSConfig-Dienst-Agent (roles/osconfig.serviceAgent) für das Konto @gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
  • OSConfig Rollout Service Agent (roles/osconfig.rolloutServiceAgent) für das Konto @gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
  • Progressiverollout Service Agent (roles/progressiverollout.serviceAgent) für das Konto @gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

Weisen Sie den Dienst-Agents IAM-Rollen über die Trusted Cloud Konsole oder mit dem add-iam-policy-binding-Befehl zu. Weitere Informationen finden Sie unter Dienst-Agent eine Rolle zuweisen.

Erforderliche Rollen

  • Um Berechtigungen zu erhalten, die Sie brauchen, um den Dienst-Agents Zugriff zu gewähren, bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt, den Ordner oder die Organisation zuzuweisen, für den Sie den Zugriff gewähren wollen:

    • Gewähren Sie Dienst-Agents Zugriff auf ein Projekt: Projekt-IAM-Administrator (roles/resourcemanager.projectIamAdmin)
    • Gewähren Sie Dienst-Agents Zugriff auf einen Ordner: Ordneradministrator (roles/resourcemanager.folderAdmin)
    • Gewähren Sie Dienst-Agents Zugriff auf Projekte, Ordner und Organisationen: Organisationsadministrator (roles/resourcemanager.organizationAdmin)

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Gewähren des Zugriffs für die Dienst-Agents erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

    Erforderliche Berechtigungen

    Die folgenden Berechtigungen sind erforderlich, um den Dienst-Agents Zugriff zu gewähren:

    • Gewähren Sie Dienst-Agents Zugriff auf ein Projekt:
      • resourcemanager.projects.getIamPolicy
      • resourcemanager.projects.setIamPolicy
    • Gewähren Sie Dienst-Agents Zugriff auf einen Ordner:
      • resourcemanager.folders.getIamPolicy
      • resourcemanager.folders.setIamPolicy
    • Gewähren Sie Dienst-Agents Zugriff auf eine Organisation:
      • resourcemanager.organizations.getIamPolicy
      • resourcemanager.organizations.setIamPolicy

    Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Führen Sie gcloud add-iam-policy-binding so aus, um dem Dienst-Agent Rollen zuzuweisen:

Projekt

gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Ersetzen Sie PROJECT_NUMBER durch die numerische ID des Projekts, dem die IAM-Richtlinienbindung hinzugefügt wird.

Ordner

gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
--member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Ersetzen Sie FOLDER_NUMBER durch die numerische ID des Ordners, dem die IAM-Richtlinienbindung hinzugefügt wird.

Organisation

gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
--member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Ersetzen Sie ORGANIZATION_NUMBER durch die numerische ID der Organisation, der die IAM-Richtlinienbindung hinzugefügt wird.

Nächste Schritte