Creazione manuale di ruoli e account di servizio Google Cloud

Questo argomento descrive come configurare manualmente le autorizzazioni necessarie per la migrazione delle VM. Queste indicazioni hanno lo scopo di aiutare chi vuole comprendere o controllare le autorizzazioni concesse per il processo di migrazione e i carichi di lavoro migrati.

In questa pagina viene descritto il processo di creazione del ruolo per la migrazione a:

  • Un singolo progetto Google Cloud
  • Più progetti Google Cloud

Prima di iniziare

Per le migrazioni di Migrate for Compute Engine sono necessari due account di servizio. Per ulteriori informazioni su ciascuno di questi account di servizio e sui ruoli associati, consulta Configurazione di Google Cloud. Per ulteriori informazioni sui comandi gcloud e sui relativi parametri, consulta la documentazione dell'interfaccia a riga di comando di gcloud.

  1. Devi installare Google Cloud SDK.
  2. Crea un progetto Google Cloud per ospitare l'infrastruttura Migrate for Compute Engine su Google Cloud. Chiameremo questo progetto progetto di infrastruttura. Utilizza questo progetto ovunque vedi project-ID.
  3. Abilita le API seguenti nel tuo progetto di infrastruttura.
    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
    

Per continuare, seleziona se stai eseguendo la migrazione a un solo progetto o a più progetti.

Progetto singolo

Questa sezione descrive come creare gli account di servizio necessari per un singolo progetto autonomo e assegnare i ruoli appropriati a tali account.

Creazione account di servizio

  1. Crea l'account di servizio migration-manager in Google Cloud.

    gcloud config set project project-ID
    gcloud iam service-accounts create "migration-manager" --display-name "migration-manager"
  2. Assegna ruoli all'account di servizio migration-manager.

    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. Crea l'account di servizio migration-cloud-extension in Google Cloud. Crea questo account nel progetto in cui prevedi di eseguire il deployment dell'estensione Cloud Migrate for Compute Engine (CE).

    gcloud iam service-accounts create "migration-cloud-extension" \
    --display-name "migration-cloud-extension"
  4. Assegna ruoli all'account di servizio migration-cloud-extension.

    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
    

Più progetti

Questa sezione descrive come creare i ruoli necessari per le migrazioni in più progetti e come assegnarli agli account di servizio.

Creazione di account di servizio e assegnazione dei ruoli

  1. Crea l'account di servizio migration-manager in Google Cloud. Anche se puoi creare l'account di servizio migration-manager in qualsiasi progetto, la creazione di questo servizio nel progetto host semplificherà la configurazione.

    gcloud config set project project-ID
    gcloud iam service-accounts create "migration-manager" \
    --display-name "migration-manager"
  2. Assegna ruoli all'account di servizio migration-manager.

    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. Crea l'account di servizio migration-cloud-extension in Google Cloud. Crea questo account nel progetto in cui prevedi di eseguire il deployment dell'estensione Cloud Migrate for Compute Engine (CE).

    gcloud iam service-accounts create "migration-cloud-extension" \
      --display-name "migration-cloud-extension"
  4. Assegna ruoli all'account di servizio migration-cloud-extension.

    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