Questa pagina fornisce i passaggi per eseguire la migrazione di un Google Cloud progetto da una risorsa dell'organizzazione a un'altra o da nessuna risorsa dell'organizzazione a una risorsa dell'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 sia su quelle 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:
-
Amministratore IAM progetto (
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 sia in quella di destinazione. Questi ruoli predefiniti contengono le autorizzazioni obbligatorie 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.getIamPolicysul progetto di cui vuoi eseguire la migrazione tra le risorse dell'organizzazioneresourcemanager.projects.updatesul progetto di cui vuoi eseguire la migrazione tra le risorse dell'organizzazioneresourcemanager.projects.movesulla risorsa padre del progetto (cartella o risorsa dell'organizzazione)- Se la risorsa di destinazione è una cartella:
resourcemanager.projects.movesulla risorsa di destinazione - Se la risorsa di destinazione è una risorsa dell'organizzazione:
resourcemanager.projects.createsulla risorsa di destinazione - Se vuoi eseguire la migrazione di un progetto non associato a un'organizzazione:
resourcemanager.projects.setIamPolicysul progetto di cui vuoi eseguire la migrazione
Puoi ottenere queste autorizzazioni anche 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 nella 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 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.
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 il comando seguente:
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 dell'organizzazione in cui stai spostando il progetto.
- FOLDER_ID: l'ID della cartella in cui stai spostando il progetto.
Puoi specificare una sola destinazione, 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
projectutilizzando il metodoprojects.get(). - Aggiorna il campo
parentcon l'ID della 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:
Verifica delle policy: verifica che il progetto erediti le policy dell'organizzazione previste dal nuovo elemento padre.
Controllo dell'accesso: esegui un audit dei ruoli IAM per assicurarti che gli utenti della nuova organizzazione dispongano dell'accesso necessario.
Fatturazione: aggiorna l'account di fatturazione se il progetto deve essere fatturato all'organizzazione di destinazione. Questo passaggio è facoltativo. Per maggiori dettagli, consulta Modificare l'account di fatturazione di un progetto ed Eseguire la migrazione di un account di fatturazione tra le risorse dell'organizzazione.
Pulizia: revoca i ruoli Project Mover temporanei e rimuovi i vincoli
allowedExportDestinationseallowedImportSources."
Modificare l'account di fatturazione di un progetto
Gli account di fatturazione Cloud possono essere utilizzati tra le risorse dell'organizzazione. Lo spostamento di un progetto da una risorsa dell'organizzazione a un'altra non influisce sulla fatturazione e gli addebiti continueranno a essere applicati al vecchio account di fatturazione. Tuttavia, la migrazione dei progetti tra le risorse dell'organizzazione spesso include anche il requisito di eseguire la migrazione a un nuovo account di fatturazione.
Per modificare l'account di fatturazione:
- Vai alla pagina Fatturazione nella Google Cloud console.
Vai alla pagina Fatturazione - Fai clic sul nome dell'account di fatturazione che vuoi modificare.
- 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.
- Fai clic su Modifica fatturazione e seleziona il nuovo account di fatturazione.
- Fai clic su Imposta account.
Gli addebiti già sostenuti e non ancora indicati nella cronologia delle transazioni verranno addebitati sul precedente account di fatturazione. Questi addebiti possono includere quelli fino a due giorni prima della migrazione del progetto.
Eseguire la migrazione di un account di fatturazione tra le risorse dell'organizzazione
È possibile eseguire la migrazione di un account di fatturazione da una risorsa dell'organizzazione a un'altra, anche se questo passaggio non è spesso necessario. La maggior parte delle risorse dell'organizzazione esistenti avrà già un account di fatturazione da utilizzare.
Se un nuovo account di fatturazione non ha una risorsa dell'organizzazione associata, devi ottenere il ruolo roles/billing.admin nell'account di fatturazione e i ruoli roles/billing.admin e roles/billing.creator nella risorsa dell'organizzazione che vuoi associare al tuo account di fatturazione.
Se devi eseguire la migrazione di un account di fatturazione esistente:
- Nella Google Cloud console, vai alla pagina Fatturazione.
Vai alla pagina Fatturazione - Fai clic sul nome dell'account di fatturazione di cui vuoi eseguire la migrazione.
- Nella parte superiore della pagina Gestione account, fai clic su Modifica organizzazione.
- Seleziona la risorsa dell'organizzazione di destinazione e 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:
- Scambia gli ID di origine e destinazione nelle policy dell'organizzazione (
allowedExportDestinationseallowedImportSources). - Ripeti il comando di migrazione, spostando il progetto di nuovo all'ID di origine originale.