Eseguire la migrazione

Questa pagina fornisce i passaggi per eseguire la migrazione di un progetto Google Cloud da una risorsa organizzazione a un'altra o da nessuna risorsa organizzazione a una risorsa organizzazione.

Per eseguire la migrazione di un progetto, devi assicurarti di disporre delle autorizzazioni IAM (Identity and Access Management) corrette e che siano configurate policy dell'organizzazione specifiche sia sulle risorse di origine che su quelle di destinazione.

Prima di iniziare

La migrazione di un progetto è un'operazione tra organizzazioni. Per impedire il movimento 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 i criteri 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 padre e in quella di destinazione.

  • Nella risorsa dell'organizzazione di origine: imposta il criterio 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.

Eseguire 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 che vuoi migrare.
  • ORGANIZATION_ID: l'ID della risorsa organizzazione a 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:

  • Ottieni 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 dei criteri: verifica che il progetto erediti le policy dell'organizzazione previste dal nuovo progetto padre.

  2. Controllo dell'accesso: esamina 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, vedi Modificare l'account di fatturazione di un progetto ed Eseguire la migrazione di un account di fatturazione tra le risorse dell'organizzazione.

  4. Pulizia: revoca dei ruoli temporanei di Autore spostamento progetto e rimozione dei vincoli allowedExportDestinations e allowedImportSources."

Modificare l'account di fatturazione di un progetto

Gli account fatturazione Cloud possono essere utilizzati in tutte le risorse 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 il requisito 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 poi 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. Ciò può includere addebiti fino a due giorni prima della migrazione del progetto.

Eseguire la migrazione di un account di fatturazione tra risorse dell'organizzazione

È possibile eseguire la migrazione di un account di fatturazione da una risorsa organizzazione a un'altra, anche se questo passaggio non è spesso necessario. La maggior parte delle risorse organizzazione esistenti avrà già un account di fatturazione da utilizzare.

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 poi fai clic su Ok.

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

Eseguire il rollback di una migrazione

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

Per invertire una migrazione:

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

Passaggi successivi