Eseguire la migrazione

Puoi eseguire la migrazione di un progetto Google Cloud tra le risorse dell'organizzazione o spostare un progetto autonomo (senza una risorsa dell'organizzazione) in una risorsa dell'organizzazione. Per eseguire la migrazione di un progetto tra organizzazioni, devi disporre delle autorizzazioni Identity and Access Management (IAM) richieste e configurare le policy dell'organizzazione necessarie sulle risorse dell'organizzazione di origine e di destinazione. Per spostare un progetto autonomo, devi solo disporre delle autorizzazioni IAM necessarie per il progetto e la risorsa dell'organizzazione di destinazione, oltre alle policy dell'organizzazione necessarie per la risorsa dell'organizzazione di destinazione.

Prima di iniziare

La migrazione di un progetto è un'operazione tra organizzazioni. Per impedire lo spostamento non autorizzato delle risorse, devi soddisfare i seguenti requisiti.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire la migrazione dei progetti tra le risorse dell'organizzazione, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Project IAM Admin (roles/resourcemanager.projectIamAdmin) sul progetto di cui vuoi eseguire la migrazione tra le risorse dell'organizzazione
  • Project Mover (roles/resourcemanager.projectMover) sulla risorsa padre del progetto (cartella o risorsa dell'organizzazione)
  • Se la risorsa di destinazione è una cartella: Project Mover (roles/resourcemanager.projectMover) sulla risorsa di destinazione
  • Se la risorsa di destinazione è un'organizzazione: Project Creator (roles/resourcemanager.projectCreator) sulla risorsa di destinazione

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Questi ruoli devono essere concessi allo stesso account utente sia nell'organizzazione di origine che in quella di destinazione. Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire la migrazione dei progetti. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie.

Autorizzazioni obbligatorie

Per eseguire la migrazione dei progetti sono necessarie le seguenti autorizzazioni:

  • resourcemanager.projects.getIamPolicy sul progetto di cui vuoi eseguire la migrazione tra le risorse dell'organizzazione
  • resourcemanager.projects.update sul progetto di cui vuoi eseguire la migrazione tra le risorse dell'organizzazione
  • resourcemanager.projects.move sulla risorsa padre del progetto (cartella o risorsa organizzazione)
  • Se la risorsa di destinazione è una cartella: resourcemanager.projects.move sulla risorsa di destinazione
  • Se la risorsa di destinazione è una risorsa dell'organizzazione: resourcemanager.projects.create sulla risorsa di destinazione
  • Se vuoi eseguire la migrazione di un progetto non associato a un'organizzazione: resourcemanager.projects.setIamPolicy sul progetto di cui vuoi eseguire la migrazione

Puoi anche ottenere queste autorizzazioni con un ruolo personalizzato o altri ruoli predefiniti.

Policy dell'organizzazione obbligatorie

Per impostazione predefinita, la migrazione dei progetti è limitata. Devi consentire esplicitamente l'esportazione e l'importazione impostando le policy dell'organizzazione alla radice di entrambe le organizzazioni. Per configurare le policy dell'organizzazione richieste per la migrazione, devi disporre del ruolo roles/orgPolicy.policyAdmin nell'organizzazione principale e in quella di destinazione.

  • Nella risorsa dell'organizzazione di origine: imposta la policy constraints/resourcemanager.allowedExportDestinations. Aggiungi l'ID dell'organizzazione di destinazione come valore consentito.

  • Nella risorsa dell'organizzazione di destinazione: imposta la policy constraints/resourcemanager.allowedImportSources. Aggiungi l'ID dell'organizzazione di origine come valore consentito.

Esegui la migrazione

Una volta concesse le autorizzazioni e applicate le policy, puoi eseguire la migrazione del progetto utilizzando Google Cloud CLI o l'API Resource Manager.

gcloud

Per eseguire la migrazione di un progetto a un'altra risorsa dell'organizzazione, esegui questo comando:

gcloud beta projects move PROJECT_ID \
    --organization ORGANIZATION_ID

Puoi anche specificare una cartella come risorsa di destinazione con il seguente comando:

gcloud beta projects move PROJECT_ID \
    --folder FOLDER_ID

Sostituisci i seguenti campi:

  • PROJECT_ID: l'ID o il numero del progetto di cui vuoi eseguire la migrazione.
  • ORGANIZATION_ID: l'ID della risorsa organizzazione in cui stai spostando il progetto.
  • FOLDER_ID: l'ID della cartella in cui stai spostando il progetto.

Puoi specificare un solo target, una cartella o una risorsa dell'organizzazione.

API

Utilizzando l'API Resource Manager v1, puoi eseguire la migrazione di un progetto tra le risorse dell'organizzazione impostando il campo parent sull'ID della risorsa di destinazione.

Per eseguire la migrazione di un progetto:

  • Recupera l'oggetto project utilizzando il metodo projects.get().
  • Aggiorna il campo parent con l'ID risorsa di destinazione.
  • Esegui il metodo projects.update().

Il seguente snippet di codice mostra questi passaggi:

    project = crm.projects().get(projectId=flags.projectId).execute()
    project['parent'] = {
        'type': 'organization',
        'id': flags.organizationId
    }

    project = crm.projects().update(
    projectId=flags.projectId, body=project).execute()

Attività post-migrazione

Dopo aver eseguito la migrazione del progetto, devi eseguire diverse attività post-migrazione per garantire la continuità delle operazioni, la conformità alla sicurezza e la fatturazione corretta. La migrazione di un progetto modifica la gerarchia delle risorse, il che influisce sulle autorizzazioni ereditate e sulle policy a livello di organizzazione.

Ecco alcuni passaggi che puoi completare dopo la migrazione:

  1. Verifica delle policy: verifica che il progetto erediti le policy dell'organizzazione previste dal nuovo elemento principale.

  2. Controllo degli accessi: controlla i ruoli IAM per assicurarti che gli utenti della nuova organizzazione dispongano dell'accesso necessario.

  3. Fatturazione: aggiorna l'account di fatturazione se il progetto deve essere fatturato all'organizzazione di destinazione. Questo passaggio è facoltativo. Per maggiori dettagli, consulta Modifica l'account di fatturazione di un progetto ed Esegui la migrazione di un account di fatturazione tra le risorse dell'organizzazione.

  4. Pulizia: revoca i ruoli temporanei Autore spostamento progetto e rimuovi i vincoli allowedExportDestinations e allowedImportSources."

Modifica l'account di fatturazione di un progetto

Gli account di fatturazione Cloud possono essere utilizzati in tutte le risorse dell'organizzazione. Lo spostamento di un progetto da una risorsa organizzazione a un'altra non influirà sulla fatturazione e gli addebiti continueranno a essere applicati al vecchio account di fatturazione. Tuttavia, la migrazione dei progetti tra risorse dell'organizzazione spesso include anche l'obbligo di eseguire la migrazione a un nuovo account di fatturazione.

Per modificare l'account di fatturazione:

  1. Vai alla pagina Fatturazione nella console Google Cloud .
    Vai alla pagina Fatturazione
  2. Fai clic sul nome dell'account di fatturazione che vuoi modificare.
  3. In Progetti collegati a questo account di fatturazione, trova il nome del progetto di cui eseguire la migrazione e fai clic sul pulsante del menu a destra.
  4. Fai clic su Modifica fatturazione e seleziona il nuovo account di fatturazione.
  5. Fai clic su Imposta account.

Gli addebiti già sostenuti che non sono ancora stati registrati nella cronologia delle transazioni verranno fatturati al precedente account di fatturazione. Sono inclusi gli addebiti fino a due giorni prima della migrazione del progetto.

Esegui la migrazione di un account di fatturazione tra risorse di organizzazione

Un account di fatturazione può essere migrato da una risorsa organizzazione a un'altra, anche se spesso questo passaggio non è necessario. La maggior parte delle risorse organizzazione esistenti avrà già un account di fatturazione che deve essere utilizzato.

Se un nuovo account di fatturazione non ha una risorsa organizzazione associata, devi ottenere il ruolo roles/billing.admin per l'account di fatturazione e i ruoli roles/billing.admin e roles/billing.creator per la risorsa organizzazione che vuoi associare al tuo account di fatturazione.

Se devi eseguire la migrazione di un account di fatturazione esistente:

  1. Nella console Google Cloud , vai alla pagina Fatturazione.
    Vai alla pagina Fatturazione
  2. Fai clic sul nome dell'account di fatturazione di cui vuoi eseguire la migrazione.
  3. Nella parte superiore della pagina Gestione account, fai clic su Cambia organizzazione.
  4. Seleziona la risorsa dell'organizzazione di destinazione e fai clic su Ok.

L'account di fatturazione è ora associato alla risorsa organizzazione specificata.

Esegui il rollback di una migrazione

Le migrazioni diGoogle Cloud tra organizzazioni non vengono rollback automaticamente se si verifica un problema durante o dopo la migrazione. Se devi annullare una migrazione, devi eseguire manualmente un rollback.

Se hai eseguito la migrazione di un progetto per errore, puoi eseguire il rollback dell'operazione eseguendo nuovamente la migrazione, con la vecchia origine come nuova destinazione e la vecchia destinazione come nuova origine. Devi disporre delle autorizzazioni IAM necessarie e delle policy dell'organizzazione applicate per consentire questa operazione come se si trattasse di una migrazione completamente nuova.

Per annullare una migrazione:

  1. Scambia gli ID di origine e di destinazione nelle policy dell'organizzazione (allowedExportDestinations e allowedImportSources).
  2. Ripeti il comando di migrazione, spostando il progetto nuovamente nell'ID di origine originale.

Passaggi successivi