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.

gcloud-Befehlszeilenbefehle für Voraussetzungen für den Richtlinien-Orchestrator

In diesem Abschnitt werden alle gcloud-Befehle aufgeführt, die Sie ausführen müssen, bevor Sie die Funktion „Richtlinien-Orchestrator“ verwenden können.

Projekt

Mit den folgenden Befehlen werden die Aufgaben ausgeführt, die zum Erstellen von Orchestrierungen auf Projektebene erforderlich sind:

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Enable Progressive Rollout API
  gcloud services enable progressiverollout.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --project=PROJECT_NUMBER

  # Grant the required role to the OS config rollout service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
  --role="roles/osconfig.rolloutServiceAgent"

  # Grant the required role to the OS config service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  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 Folgendes:

  • PROJECT_ID: die numerische ID des Projekts, in dem Sie den Dienst-Agent erstellen möchten.
  • PROJECT_NUMBER: die Projektressourcennummer, die Google Ihnen beim Erstellen des Projekts zugewiesen hat.

Weitere Informationen finden Sie unter Die Projektressource.

Ordner

Mit den folgenden Befehlen werden die Aufgaben ausgeführt, die zum Erstellen von Orchestrierungen auf Ordnerebene erforderlich sind:

  # Set up the quota project
  gcloud config set billing/quota_project QUOTA_PROJECT_ID

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --folder=FOLDER_NUMBER

  # Grant the required role to the OS config rollout service agent
  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"

  # Grant the required role to the OS config service agent
  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"

  # Grant the required role to the Progressive Rollout service agent
  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 Folgendes:

  • QUOTA_PROJECT_ID: die Projekt-ID des Kontingentprojekts. Sie können ein beliebiges Projekt auswählen, für das die Abrechnung aktiviert ist.
  • FOLDER_NUMBER: die numerische ID des Ordners, in dem Sie den Dienst-Agent erstellen möchten.

Organisation

Mit den folgenden Befehlen werden die Aufgaben ausgeführt, die zum Erstellen von Orchestrierungen auf Organisationsebene erforderlich sind:

  # Set up the quota project
  gcloud config set billing/quota_project QUOTA_PROJECT_ID

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --organization=ORGANIZATION_NUMBER

  # Grant the required role to the OS config rollout service agent
  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"

  # Grant the required role to the OS config service agent
  gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
  --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  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 Folgendes:

  • QUOTA_PROJECT_ID: die Projekt-ID des Kontingentprojekts. Sie können ein beliebiges Projekt auswählen, für das die Abrechnung aktiviert ist.
  • ORGANIZATION_NUMBER durch die numerische ID der Organisation, in der Sie den Dienst-Agent erstellen möchten.

Kontingent- oder Abrechnungsprojekt für Organisations- und Ordnerorchestrations 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 Google Cloud Console das Google 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. Damit der Richtlinien-Orchestrator ordnungsgemäß funktioniert, weisen Sie diesen Dienst-Agents die folgenden erforderlichen IAM-Rollen für die übergeordnete Ressource des Orchestrators zu:

  • 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
  • Progressiverollout Service Agent (roles/progressiverollout.serviceAgent) für das Konto @gcp-sa-progrollout.iam.gserviceaccount.com

Weisen Sie den Dienst-Agents IAM-Rollen über die Google Cloud Console 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.

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 Richtlinien-Orchestratoren 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 Richtlinien-Orchestratoren 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 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

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER
    
    # Create a Progressive Rollout service agent
    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

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER
    
    # Create a Progressive Rollout service agent
    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

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
    
    # Create a Progressive Rollout service agent
    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

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

Projekt

# Grant the required role to the OS config rollout service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"

 # Grant the required role to the OS config service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

 # Grant the required role to the Progressive Rollout service agent
 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

# Grant the required role to the OS config rollout service agent
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"

# Grant the required role to the OS config service agent
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"

# Grant the required role to the Progressive Rollout service agent
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

# Grant the required role to the OS config rollout service agent
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"

 # Grant the required role to the OS config service agent
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

 # Grant the required role to the Progressive Rollout service agent
 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