Google Cloud-Rollen und -Dienstkonten manuell erstellen

In diesem Thema wird beschrieben, wie Berechtigungen, die für die Migration von VMs erforderlich sind, manuell eingerichtet werden. 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 Erstellungsprozess für Rollen für die Migration zu folgenden Projekten beschrieben:

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

Hinweis

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.

Dienstkonten erstellen

  1. Erstellen Sie das Dienstkonto migration-manager in Google Cloud.

    gcloud config set project project-ID
    gcloud iam service-accounts create "migration-manager" --display-name "migration-manager"
  2. Weisen Sie dem Dienstkonto migration-manager Rollen zu.

    gcloud projects add-iam-policy-binding project-ID --member \
      serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role "roles/cloudmigration.inframanager" \
      --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
      serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role "roles/cloudmigration.storageaccess" \
      --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
      serviceAccount:"migration-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:"migration-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:"migration-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:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role "roles/monitoring.viewer" \
      --no-user-output-enabled --quiet
    
    gcloud iam service-accounts add-iam-policy-binding \
      "migration-manager@project-ID.iam.gserviceaccount.com" \
      --member=serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role=roles/iam.serviceAccountTokenCreator --project project-ID
    
  3. Erstellen Sie das Dienstkonto migration-cloud-extension in Google Cloud. Erstellen Sie das Konto in dem Projekt, in dem Sie die Cloud-Erweiterung für Migrate for Compute Engine bereitstellen möchten.

    gcloud iam service-accounts create "migration-cloud-extension" \
    --display-name "migration-cloud-extension"
  4. Weisen Sie dem Dienstkonto migration-cloud-extension Rollen zu.

    gcloud projects add-iam-policy-binding project-ID \
      --member serviceAccount:"migration-cloud-extension@project-ID.iam.gserviceaccount.com" \
      --role "roles/cloudmigration.storageaccess" \
      --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID \
      --member serviceAccount:"migration-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:"migration-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.

Dienstkonten erstellen und ihnen Rollen zuweisen

  1. Erstellen Sie das Dienstkonto migration-manager in Google Cloud. Obwohl Sie das Dienstkonto migration-manager in jedem Ihrer Projekte erstellen können, vereinfacht die Erstellung dieses Dienstkontos im Hostprojekt die Konfiguration.

    gcloud config set project project-ID
    gcloud iam service-accounts create "migration-manager" \
    --display-name "migration-manager"
  2. Weisen Sie dem Dienstkonto migration-manager Rollen zu.

    gcloud organizations add-iam-policy-binding organization-ID --member \
      serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role "roles/cloudmigration.inframanager" \
      --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID --member \
      serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role "roles/cloudmigration.storageaccess" \
      --no-user-output-enabled --quiet
    
    gcloud organizations add-iam-policy-binding organization-ID --member \
      serviceAccount:"migration-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:"migration-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:"migration-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:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role "roles/monitoring.viewer" \
      --no-user-output-enabled --quiet
    
    gcloud iam service-accounts add-iam-policy-binding \
      "migration-manager@project-ID.iam.gserviceaccount.com" \
      --member=serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \
      --role=roles/iam.serviceAccountTokenCreator --project project-ID
    
  3. Erstellen Sie das Dienstkonto migration-cloud-extension in Google Cloud. Erstellen Sie das Konto in dem Projekt, in dem Sie die Cloud-Erweiterung für Migrate for Compute Engine bereitstellen möchten.

    gcloud iam service-accounts create "migration-cloud-extension" \
      --display-name "migration-cloud-extension"
  4. Weisen Sie dem Dienstkonto migration-cloud-extension Rollen zu.

    gcloud projects add-iam-policy-binding project-ID \
      --member serviceAccount:"migration-cloud-extension@project-ID.iam.gserviceaccount.com" \
      --role "roles/cloudmigration.storageaccess" \
      --no-user-output-enabled --quiet
    
    gcloud projects add-iam-policy-binding project-ID \
      --member serviceAccount:"migration-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:"migration-cloud-extension@project-ID.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter" \
      --no-user-output-enabled --quiet