Voraussetzungen für die Verwendung des Richtlinienorchestrators

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

Kontingentprojekt für Organisations- und Ordnerorchestrationen einrichten

Wenn Sie Richtlinienorchestratoren zum Verwalten von Ressourcen für Betriebssystemrichtlinien in Ihrer Organisation oder in Ordnern verwenden, 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 Methoden des Richtlinienorchestrators aufzurufen, geben Sie das Kontingentprojekt so an:

gcloud

Legen Sie das Kontingentprojekt in der gcloud CLI-Konfigurationseigenschaft 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 auch 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 Policy Orchestrator-Funktion in VM Manager verwenden möchten, aktivieren Sie die OS Config API in den folgenden Projekten:

  • Aktivieren Sie für Orchestrationen auf Organisations- und Ordnerebene die OS Config API für das Kontingentprojekt.
  • Aktivieren Sie für Orchestrationen 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 Roll-out API für die Projekte aktivieren

Console

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

    Gehen Sie zu APIs und Dienste.

  2. Klicken Sie auf APIs und Dienste aktivieren.

  3. Suchen Sie nach „Progressiver Roll-out“.

  4. Klicken Sie in den Suchergebnissen auf Progressive Roll-out API.

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

gcloud

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

     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 Richtlinien-Orchestrator verwendet die OS Config-Dienst-Agents, um Aktionen in Ihren Projekten auszuführen. Außerdem hängt es von der Progressive Rollout API ab, die eigene Service-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.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com

    Ersetzen Sie PROJECT_NUMBER durch die numerische ID des Projekts, in dem Sie die Richtlinienorchestratoren erstellen.

    Ordner

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

    Ersetzen Sie FOLDER_NUMBER durch die numerische ID des Ordners, in dem Sie die Richtlinienorchestratoren erstellen.

    Organisation

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

    Ersetzen Sie ORGANIZATION_NUMBER durch die numerische ID der Organisation, in der Sie die Richtlinienorchestratoren 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 Kundenservicemitarbeiter 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 Servicemitarbeiter 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 Kundenservicemitarbeiter erstellen möchten.

Dienst-Agents IAM-Rollen zuweisen

Damit der Richtlinien-Orchestrator ordnungsgemäß funktioniert, müssen Sie den entsprechenden Dienstkonten an der übergeordneten Ressource des Orchestrators alle erforderlichen Rollen für Servicemitarbeiter zuweisen:

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

Verwenden Sie die Google Cloud Console oder den Befehl add-iam-policy-binding, um den Kundenservicemitarbeitern IAM-Rollen zu gewähren. Weitere Informationen finden Sie unter Dem Dienst-Agenten 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.

So weisen Sie dem Kundenservicemitarbeiter Rollen zu:gcloud add-iam-policy-binding

Projekt

gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.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.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.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.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.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
--member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.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