Questa guida descrive come utilizzare l'API Cloud Asset Inventory Analyzer Move per ottenere un report dettagliato su avvisi e blocchi da un elenco di sistemi di criteri critici prima di spostare il progetto.
Abilita API
Seleziona o crea un progetto come progetto consumer dell'API, abilita l'API Cloud Asset
Questo progetto consumer può essere diverso dal progetto che intendi analizzare e di cui eseguire la migrazione. Il progetto consumer verrà utilizzato per generare le credenziali per effettuare una richiesta API.
La sezione successiva descrive i ruoli e le autorizzazioni richiesti che devono essere concessi nel progetto di origine che intendi analizzare.
Assegnare le autorizzazioni
Per eseguire un'analisi di spostamento dei progetti, devi avere un ruolo che conceda l'autorizzazione cloudasset.assets.analyzeMove
, ad esempio Visualizzatore asset cloud o Visualizzatore.
Per ricevere le analisi su un servizio, devi anche avere ruoli correlati a quei servizi. tra cui:
Se vuoi visualizzare i criteri IAM ereditati dall'organizzazione principale del progetto di origine, devi disporre dell'autorizzazione
resourcemanager.organizations.getIamPolicy
per l'organizzazione principale del progetto di origine.Se vuoi visualizzare i criteri IAM ereditati dalla cartella principale del progetto di origine, devi disporre dell'autorizzazione
resourcemanager.folders.getIamPolicy
per la cartella principale del progetto di origine.Se vuoi visualizzare i criteri IAM sul progetto, devi disporre dell'autorizzazione
resourcemanager.projects.getIamPolicy
per il progetto di origine.Se vuoi visualizzare i criteri dell'organizzazione ereditati da questo progetto, devi disporre dell'autorizzazione
orgpolicy.policy.get
per il progetto di origine.Se vuoi visualizzare i criteri firewall di Compute Engine ereditati da questo progetto, devi disporre dell'autorizzazione
compute.organizations.setSecurityPolicy
per la cartella o l'organizzazione di origine.Se vuoi visualizzare i tag ereditati in questo progetto, devi disporre dell'autorizzazione
resourcemanager.hierarchyNodes.listEffectiveTags
per il progetto di origine o per i suoi nodi precedenti.
Esegui l'analisi
Puoi utilizzare Google Cloud CLI o l'API per analizzare la migrazione di una risorsa dalla sua posizione attuale nella gerarchia delle risorse.
gcloud
Per analizzare gli effetti della migrazione di un progetto dalla sua posizione attuale nella gerarchia delle risorse, usa il comando gcloud asset analyze-move
:
gcloud asset analyze-move --project=PROJECT_ID \ (--destination-folder=FOLDER_ID \ | --destination-organization=ORGANIZATION_ID)
Per analizzare l'impatto dello spostamento di un progetto in una cartella diversa, esegui il comando con --destination-folder
:
gcloud asset analyze-move --project=PROJECT_ID \ --destination-folder=FOLDER_ID
Per analizzare l'impatto dello spostamento di un progetto in un'organizzazione diversa, esegui il comando con --destination-organization
:
gcloud asset analyze-move --project=PROJECT_ID \ --destination-organization=ORGANIZATION_ID
Dove:
PROJECT_ID
è l'ID univoco del progetto di cui stai eseguendo la migrazione. Ad esempio,projects/12345678901
.FOLDER_ID
è l'ID cartella di destinazione per eseguire l'analisi. Ad esempio,--destination-folder=45678901123
.ORGANIZATION_ID
è l'ID organizzazione di destinazione per eseguire l'analisi. Ad esempio:--destination-organization=78901123456
.
API
Per analizzare gli effetti della migrazione di un progetto dalla sua posizione attuale nella gerarchia delle risorse senza eseguire lo spostamento, utilizza il metodo cloudasset.analyzeMove:
GET https://cloudasset.googleapis.com/v1/{resource=*/*}: \ analyzeMove?destinationParent=DESTINATION_NAME
Dove:
resource
è il nome della risorsa su cui eseguire l'analisi. Poiché sono supportate solo le risorse di progetto, questo deve essere l'ID progetto o un numero di progetto. Ad esempio,projects/my-project-id
oprojects/12345
.DESTINATION_NAME
è il nome della cartella o dell'organizzazione Google Cloud a cui associare la risorsa di destinazione. L'analisi verrà eseguita sull'impatto dello spostamento della risorsa nella risorsa padre di destinazione specificata. La destinazione deve essere un numero di cartella o un numero di organizzazione. Ad esempio,folders/123
oorganizations/123
.
Sposta le risposte dell'analisi
La risposta che ricevi dall'API Move Analysis viene raggruppata in base al nome del servizio. Sotto ogni servizio è presente un elenco di avvisi e blocchi applicati a questa migrazione del progetto. Qualsiasi blocco restituito da questa analisi significa che la migrazione del progetto sarà bloccata in fase di esecuzione se procedi con lo spostamento prima di risolverli.
Risolvere gli errori
Se viene restituito un errore dall'API Move Analysis, include un codice gRPC standard, nonché un messaggio che descrive il motivo per cui l'API non è stata analizzata per l'analisi del progetto.
La seguente tabella descrive i codici di errore che potrebbero essere restituiti dall'API Move Analysis:
Nome errore | Codice di errore | Descrizione |
---|---|---|
Argomento non valido | 3 | Errore restituito se chiami l'API per un progetto con un argomento non valido, ad esempio un nome risorsa errato. |
Autorizzazione negata | 7 | Errore restituito se non hai le autorizzazioni necessarie per eseguire l'analisi o se il progetto di origine non esiste. |
Interno | 13 | Errore restituito se si verifica un problema con una chiamata a un sistema di criteri, ad esempio Identity and Access Management oppure un criterio dell'organizzazione. Questo non indica che la migrazione non è possibile e puoi riprovare a eseguire l'analisi dopo aver verificato l'interruzione del servizio. |
Non disponibile | 14 | Errore restituito se un sistema interno non è sincronizzato. Questo non indica che la migrazione non è possibile e puoi riprovare a eseguire l'analisi. |
Non autenticati | 16 | Errore restituito se non hai fornito le credenziali corrette per eseguire questa analisi. |
Esempio di messaggio di errore
L'esempio seguente mostra il codice di errore restituito per un utente senza
l'autorizzazione cloudasset.assets.analyzeMove
per il progetto di cui eseguire la migrazione:
{ "error": { "code": 403, "message": "Failed to fetch Project: projects/test-project-service-3 to perform move analysis.", "status": "PERMISSION_DENIED"} }
Alcuni sistemi dei criteri potrebbero non riuscire ad analizzare lo spostamento delle risorse. L'esempio seguente mostra l'errore restituito dal servizio Firewall gerarchico quando l'utente non dispone dell'autorizzazione compute.organizations.setSecurityPolicy
per eseguire la migrazione del progetto:
{ "moveAnalysis": [{ "displayName": "name hidden", "analysis": { "warnings": [{ "detail": "details hidden" }] } }, { "displayName": "name hidden", "analysis": { "warnings": [{ "detail": "details hidden" }] } }, { "displayName": "Hierarchical Firewall", "error": { "code": 7, "message": "Failed to retrieve inherited security policies to perform analysis. Required 'compute.organizations.setSecurityPolicy' permission for {resource ID}" }}] }
Passaggi successivi
L'API Move Analysis fornisce dettagli che aiutano a mitigare i blocchi e altri problemi quando si sposta un progetto da un'organizzazione all'altra. Per ulteriori informazioni sulla migrazione dei progetti tra le organizzazioni, consulta Migrazione dei progetti.