Google Cloud-Rollen und -Dienstkonten manuell erstellen

In diesem Thema wird gezeigt, wie Sie die Berechtigungen für eine manuelle Migration mit Google Cloud Migrate for Compute Engine (ehemals Velostrata) einrichten. Die hier aufgeführten Anleitungen sollen denjenigen helfen, die sich über die für den Migrationsprozess und migrierte Arbeitslasten erteilten Berechtigungen informieren oder diese steuern möchten.

Auf dieser Seite wird der Erstellungsvorgang für Rollen zur Migration zu folgenden Projekten beschrieben:

  • Einzelnes Google Cloud-Projekt
  • Mehrere Google Cloud-Projekte

Vorbereitung

Für die Migration mit Migrate for Compute Engine sind zwei Dienstkonten erforderlich. Weitere Informationen zu den einzelnen Dienstkonten und den zugehörigen Rollen finden Sie unter Google Cloud for Migrate for Compute Engine konfigurieren. Weitere Informationen zu gcloud-Befehlen und ihren Parametern erhalten Sie in der Dokumentation zur gcloud CLI.

  1. Sie müssen das Google Cloud SDK installieren.
  2. Erstellen Sie ein Google Cloud-Projekt zum Hosten der Migrate for Compute Engine-Infrastruktur in Google Cloud. Wir nennen dieses Projekt das Infrastrukturprojekt. Verwenden Sie dieses Projekt überall dort, wo project-ID angezeigt wird.
  3. Aktivieren Sie die im Folgenden aufgeführten APIs in Ihrem Infrastrukturprojekt.
    gcloud services enable iam.googleapis.com --project project-ID
    gcloud services enable cloudresourcemanager.googleapis.com --project project-ID
    gcloud services enable compute.googleapis.com --project project-ID
    gcloud services enable storage-component.googleapis.com --project project-ID
    gcloud services enable logging.googleapis.com --project project-ID
    gcloud services enable monitoring.googleapis.com --project project-ID
    

Wählen Sie im nächsten Schritt aus, ob Sie zu einem einzelnen Projekt oder zu mehreren Projekten migrieren möchten.

Einzelprojekt

In diesem Abschnitt wird beschrieben, wie Sie die für ein einzelnes eigenständiges Projekt erforderlichen Dienstkonten erstellen und ihnen die entsprechenden Rollen zuweisen.

Rollen erstellen

Erstellen Sie die Rollen auf der Projektebene:

  1. Öffnen Sie eine Eingabeaufforderung und führen Sie den im Folgenden aufgeführten Befehl aus. Ersetzen Sie den Anmeldeparameter durch die Anmeldedaten für Ihr Google Cloud-Konto.
    gcloud auth login login@google.com --no-launch-browser --brief
    
  2. Laden Sie die Cloud Deployment Manager-Datei von der Downloadseite herunter.
  3. Erweitern Sie die heruntergeladene Datei und speichern Sie sie in einem Verzeichnis, auf das Sie beim Erstellen von Rollen zugreifen können.
  4. Öffnen Sie in den erweiterten Verzeichnissen das Verzeichnis manual.
    cd google/migrate/gce/manual
    
  5. Wenn Sie YAML-Dateien in diesem Verzeichnis verwenden, weisen Sie den Rollen Berechtigungen zu:

    gcloud iam roles create "velos_manager" --project project-ID \
    --file velos_gcp_mgmt_role.yaml --no-user-output-enabled --quiet
    gcloud iam roles create "velos_ce" --project project-ID \
    --file velos_gcp_ce_role.yaml.yaml --no-user-output-enabled --quiet
    

Dienstkonten erstellen

  1. Erstellen Sie das Dienstkonto velos-manager in Google Cloud. Hinweis: project-ID ist Ihr Infrastrukturprojekt.

    gcloud config set project project-ID
    gcloud iam service-accounts create "velos-manager" --display-name "velos-manager"

  2. Weisen Sie dem Dienstkonto velos-manager die Rolle velos_manager zu.

    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "projects/project-ID/roles/velos_manager" \
     --no-user-output-enabled --quiet
    
  3. Fügen Sie der Rolle velos_manager weitere erforderliche Rollen hinzu:

    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/iam.serviceAccountUser"
     --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/logging.logWriter"
     --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/monitoring.metricWriter"
     --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/monitoring.viewer"
     --no-user-output-enabled --quiet
    
    gcloud iam service-accounts add-iam-policy-binding \
    "velos-manager@project-ID.iam.gserviceaccount.com" \
    --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
    --role=roles/iam.serviceAccountTokenCreator --project project-ID
    
  4. Erstellen Sie das Dienstkonto velos-cloud-extension in Google Cloud. Legen Sie dieses Konto in dem Projekt an, in dem Sie die Migrate for Compute Engine-Cloud-Erweiterung (CE) bereitstellen möchten.

    gcloud iam service-accounts create "velos-cloud-extension" \
    --display-name "velos-cloud-extension"
  5. Weisen Sie dem Dienstkonto velos-cloud-extension die Rolle velos_ce zu:

    gcloud projects add-iam-policy-binding project-ID \
    --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \
    --role "projects/project-ID/roles/velos_ce" \
    --no-user-output-enabled --quiet
    
  6. Weisen Sie dem Dienstkonto velos-cloud-extension weitere erforderliche Rollen zu:

    gcloud projects add-iam-policy-binding project-ID \
    --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \
    --role "roles/logging.logWriter" \
    --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID \
    --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \
    --role "roles/monitoring.metricWriter" \
    --no-user-output-enabled --quiet
    

Mehrere Projekte

In diesem Abschnitt wird beschrieben, wie Sie die Rollen erstellen, die für Migrationen zu mehreren Projekten erforderlich sind, und diese Rollen Dienstkonten zuweisen.

Rollen erstellen

Mit der folgenden schrittweisen Anleitung wird gezeigt, wie Sie Rollen für Migrate for Compute Engine in Google Cloud erstellen.

  1. Legen Sie die Rollen für Migrate for Compute Engine in Google Cloud auf Organisationsebene an:
    gcloud auth login orgadmin@google.com --no-launch-browser --brief
  2. Laden Sie die Cloud Deployment Manager-Datei von der Downloadseite herunter.
  3. Erweitern Sie die heruntergeladene Datei und speichern Sie sie in einem Verzeichnis, auf das Sie beim Erstellen von Rollen zugreifen können.
  4. Öffnen Sie in den erweiterten Verzeichnissen das Verzeichnis manual.
    cd google/migrate/gce/manual
    
  5. Wenn Sie YAML-Dateien in diesem Verzeichnis verwenden, weisen Sie den Rollen Berechtigungen zu:

    gcloud iam roles create "velos_manager" --organization organization-ID \
    --file velos_gcp_mgmt_role.yaml --no-user-output-enabled --quiet
    gcloud iam roles create "velos_ce" --project project-ID \
    --file velos_gcp_ce_role.yaml.yaml --no-user-output-enabled --quiet
    

Dienstkonten erstellen und ihnen Rollen zuweisen

  1. Erstellen Sie das Dienstkonto velos-manager in Google Cloud. Sie können grundsätzlich das Dienstkonto velos-manager in jedem Ihrer Projekte anlegen. Für Migrate for Compute Engine 4.8 wird aber empfohlen, diesen Dienst im Hostprojekt zu erstellen. Dies vereinfacht die Konfiguration.

    gcloud config set project project-ID
    gcloud iam service-accounts create "velos-manager" \
    --display-name "velos-manager"
  2. Weisen Sie dem Dienstkonto velos-manager die Rolle velos_manager zu.

    gcloud organizations add-iam-policy-binding organization-ID \
    --member serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com"\
    --role organizations/organization-ID/roles/"velos_manager"\
    --no-user-output-enabled --quiet
    
    gcloud iam service-accounts add-iam-policy-binding \
    "velos-manager@project-ID.iam.gserviceaccount.com" \
    --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
    --role=roles/iam.serviceAccountTokenCreator --project project-ID
    
  3. Fügen Sie der Rolle velos_manager weitere erforderliche Rollen hinzu:

    gcloud organizations add-iam-policy-binding organization-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/iam.serviceAccountUser"
     --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/logging.logWriter"
     --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/monitoring.metricWriter"
     --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
     serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
     --role "roles/monitoring.viewer"
     --no-user-output-enabled --quiet
    
    gcloud iam service-accounts add-iam-policy-binding \
    "velos-manager@project-ID.iam.gserviceaccount.com" \
    --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \
    --role=roles/iam.serviceAccountTokenCreator --project project-ID
    
    
  4. Erstellen Sie das Dienstkonto velos-cloud-extension in Google Cloud. Legen Sie dieses Konto in dem Projekt an, in dem Sie die Migrate for Compute Engine-Cloud-Erweiterung (CE) bereitstellen möchten.

    gcloud iam service-accounts create "velos-cloud-extension" \
    --display-name "velos-cloud-extension"
  5. Weisen Sie dem Dienstkonto velos-cloud-extension die Rolle velos_ce zu:

    gcloud projects add-iam-policy-binding project-ID \
    --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \
    --role "projects/project-ID/roles/velos_ce" \
    --no-user-output-enabled --quiet
    
  6. Weisen Sie dem Dienstkonto velos-cloud-extension weitere erforderliche Rollen zu:

    gcloud projects add-iam-policy-binding project-ID \
    --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \
    --role "roles/logging.logWriter" \
    --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID \
    --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \
    --role "roles/monitoring.metricWriter" \
    --no-user-output-enabled --quiet