Creazione manuale di ruoli e account di servizio Google Cloud

Questo argomento descrive come configurare le autorizzazioni per una migrazione manuale di Google Cloud Migrate for Compute Engine (in precedenza Velostrata). 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

Prerequisiti

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 di ruoli

Crea i ruoli a livello di progetto:

  1. Apri un prompt dei comandi ed esegui questo comando. Sostituisci il parametro di accesso con le informazioni di accesso del tuo account Google Cloud.
    gcloud auth login login@google.com --no-launch-browser --brief
    
  2. Scarica il file di Cloud Deployment Manager dalla pagina Download.
  3. Espandi il file scaricato e salvalo in una directory a cui puoi accedere durante la creazione dei ruoli.
  4. Nelle directory espanse, apri la directory manual.
    cd google/migrate/gce/manual
    
  5. Utilizzando i file YAML in quella directory, assegna le autorizzazioni ai ruoli:

    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
    

Creazione account di servizio

  1. Crea l'account di servizio velos-manager in Google Cloud. Nota: project-ID è il tuo progetto di infrastruttura.

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

  2. Assegna il ruolo velos_manager all'account di servizio velos-manager.

    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. Aggiungi altri ruoli obbligatori al ruolo velos_manager:

    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. Crea l'account di servizio velos-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 "velos-cloud-extension" \
    --display-name "velos-cloud-extension"
  5. Assegna il ruolo velos_ce all'account di servizio velos-cloud-extension:

    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. Assegna altri ruoli obbligatori all'account di servizio velos-cloud-extension:

    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
    

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 ruoli

I seguenti passaggi creano ruoli per Migrate for Compute Engine su Google Cloud.

  1. Crea i ruoli Migrate for Compute Engine in Google Cloud a livello di organizzazione:
    gcloud auth login orgadmin@google.com --no-launch-browser --brief
  2. Scarica il file di Cloud Deployment Manager dalla pagina Download.
  3. Espandi il file scaricato e salvalo in una directory a cui puoi accedere durante la creazione dei ruoli.
  4. Nelle directory espanse, apri la directory manual.
    cd google/migrate/gce/manual
    
  5. Utilizzando i file YAML in quella directory, assegna le autorizzazioni ai ruoli:

    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
    

Creazione di account di servizio e assegnazione dei ruoli

  1. Crea l'account di servizio velos-manager in Google Cloud. Anche se puoi creare l'account di servizio velos-manager in qualsiasi progetto, Migrate for Compute Engine 4.5 consiglia di creare questo servizio nel progetto host per semplificare la configurazione.

    gcloud config set project project-ID
    gcloud iam service-accounts create "velos-manager" \
    --display-name "velos-manager"
  2. Assegna il ruolo velos_manager all'account di servizio velos-manager.

    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. Aggiungi altri ruoli obbligatori al ruolo velos_manager:

    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. Crea l'account di servizio velos-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 "velos-cloud-extension" \
    --display-name "velos-cloud-extension"
  5. Assegna il ruolo velos_ce all'account di servizio velos-cloud-extension:

    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. Assegna altri ruoli obbligatori all'account di servizio velos-cloud-extension:

    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