Analisi dello spostamento dei progetti

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa guida descrive come utilizzare l'API Cloud Asset Inventory Analysis Move per ottenere un rapporto dettagliato sugli avvisi e sui blocchi da un elenco di sistemi dei criteri critici prima di spostare effettivamente il progetto.

Abilita API

Seleziona o crea un progetto come progetto consumer API, abilita Cloud Asset API

Questo progetto consumer può essere diverso da quello che intendi analizzare ed eseguire la migrazione. Il progetto consumer verrà utilizzato per generare le credenziali per la richiesta API.

La sezione seguente descrive i ruoli e le autorizzazioni necessari che devono essere concessi al progetto di origine che vuoi analizzare.

Assegnare le autorizzazioni

Per eseguire l'analisi di spostamento di un progetto, devi avere un ruolo che conceda l'autorizzazione cloudasset.assets.analyzeMove, ad esempio Visualizzatore asset cloud o Visualizzatore.

Per ricevere analisi su un servizio, devi anche disporre dei ruoli correlati. Queste autorizzazioni includono:

  • Se vuoi visualizzare i criteri IAM ereditati dall'organizzazione principale del progetto di origine, devi avere l'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.

  • Per 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 in questo progetto, devi disporre dell'autorizzazione compute.organizations.setSecurityPolicy per la cartella o l'organizzazione di origine.

Eseguire l'analisi

Puoi utilizzare l'interfaccia a riga di comando di Google Cloud 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, utilizza 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 gli effetti dello spostamento di un progetto in un'altra organizzazione, 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 l'analisi. Ad esempio, --destination-organization=78901123456.

API

Per analizzare l'impatto 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. Sono supportate solo le risorse del progetto, quindi deve essere l'ID progetto o un numero di progetto. Ad esempio, projects/my-project-id o projects/12345.

  • DESTINATION_NAME è il nome della cartella o dell'organizzazione Google Cloud per annullare la risorsa di destinazione. L'analisi verrà eseguita sugli effetti dello spostamento della risorsa nell'elemento padre di destinazione specificato. La destinazione deve essere un numero di cartella o di organizzazione. Ad esempio, folders/123 o organizations/123.

Sposta le risposte di analisi

Le risposte ricevute dall'API Move Analysis vengono raggruppate per nome del servizio. Sotto ciascun servizio è presente un elenco di avvisi e blocchi applicabili alla migrazione del progetto. Gli eventuali blocchi restituiti da questa analisi comportano il blocco della migrazione del progetto 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 e un messaggio che descrive il motivo per cui l'API Move Analysis non riesce ad analizzare il progetto.

La tabella seguente descrive i codici di errore che potrebbero essere restituiti dall'API Move Analysis:

Nome errore Codice di errore Descrizione
Argomento non valido 3 Restituisce un errore se chiami l'API su un progetto con un argomento non valido, ad esempio un nome di risorsa errato.
Autorizzazione negata 7 Restituisce se non hai le autorizzazioni necessarie per eseguire l'analisi o se il progetto di origine non esiste.
Interno 13 Restituito se si verifica un problema con una chiamata a un sistema di criteri come Identity and Access Management o criterio dell'organizzazione. Questo non indica che la migrazione non è possibile e che puoi riprovare a eseguire l'analisi dopo aver verificato l'interruzione del servizio.
Non disponibile 14 Restituisce se un sistema interno non è sincronizzato. Questo non indica che la migrazione non è possibile e che puoi ripetere l'analisi.
Non autenticato 16 Restituisce 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 che non dispone dell'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 del firewall gerarchico quando l'utente non dispone dell'autorizzazione compute.organizations.setSecurityPolicy sul progetto di cui eseguire la migrazione:

{
  "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 consentono di mitigare i blocchi e altri problemi quando si sposta un progetto da un'organizzazione a un'altra. Per ulteriori informazioni sulla migrazione dei progetti tra organizzazioni, consulta Migrazione dei progetti.