Analisi dello spostamento dei progetti

Questa guida descrive come utilizzare l'API Cloud Asset Inventory Analyze Move per ottenere un report dettagliato su avvisi e blocchi da un elenco di criteri critici prima di spostare il progetto.

Abilita API

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

Questo progetto consumer può essere diverso dal progetto che prevedi di analizzare eseguire la migrazione. Il progetto consumer verrà utilizzato per generare le credenziali per effettuare la richiesta API.

Nella sezione successiva vengono descritti i ruoli e le autorizzazioni richiesti per il progetto di origine che intendi analizzare.

Assegnare le autorizzazioni

Per eseguire un'analisi dello spostamento di un progetto, devi avere un ruolo che conceda Autorizzazione cloudasset.assets.analyzeMove, ad esempio Visualizzatore di Cloud Asset oppure Visualizzatore.

Per ricevere l'analisi su un servizio, devi avere anche dei ruoli correlati a questi servizi. Queste autorizzazioni includono:

  • Se vuoi visualizzare i criteri IAM ereditati dall'origine risorsa dell'organizzazione padre del progetto, Autorizzazione resourcemanager.organizations.getIamPolicy nella risorsa dell'organizzazione padre del progetto di origine.

  • Se vuoi visualizzare i criteri IAM ereditati dall'origine cartella padre del progetto, è necessario resourcemanager.folders.getIamPolicy per la cartella principale del progetto di origine.

  • Per visualizzare i criteri IAM del progetto, devi disporre dell'autorizzazione resourcemanager.projects.getIamPolicy sull'origine progetto.

  • Se vuoi visualizzare i criteri dell'organizzazione ereditati su questo devi disporre dell'autorizzazione orgpolicy.policy.get per il progetto di origine.

  • Se vuoi visualizzare i criteri firewall di Compute Engine ereditati su questo progetto, è necessaria la compute.organizations.setSecurityPolicy di autorizzazione sulla cartella di origine o sulla risorsa organizzazione.

  • Se vuoi visualizzare i tag ereditati in questo progetto, devi disporre dell'autorizzazione resourcemanager.hierarchyNodes.listEffectiveTags nel progetto di origine o sui nodi predecessori.

Eseguire l'analisi

Puoi utilizzare Google Cloud CLI o l'API per analizzare la migrazione di un dalla posizione attuale nella gerarchia delle risorse.

gcloud

analizzare l'impatto della migrazione di un progetto dalla sua posizione attuale la 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 gli effetti dello spostamento di un progetto in un'altra cartella, esegui il comando con --destination-folder:

gcloud asset analyze-move --project=PROJECT_ID \
  --destination-folder=FOLDER_ID

Per analizzare l'impatto del trasferimento 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 progetto univoco del progetto di cui stai eseguendo la migrazione. Ad esempio, --myProject123.

  • FOLDER_ID è l'ID numerico della cartella del cartella di destinazione in cui eseguire l'analisi. Ad esempio, 45678901123.

  • ORGANIZATION_ID è l'organizzazione numerica ID dell'organizzazione di destinazione su cui eseguire l'analisi. Ad esempio, 78901123456.

di Gemini Advanced.

API

Per analizzare gli impatti della migrazione di un progetto dalla sua posizione corrente 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 per eseguire l'analisi. Sono supportate solo le risorse di progetto, perciò è necessario essere l'ID progetto o un numero di progetto. Ad esempio: projects/my-project-id o projects/12345.

  • DESTINATION_NAME è il nome del Cartella o risorsa organizzazione di Google Cloud per annullare l'associazione della destinazione risorsa. L'analisi verrà eseguita sull'impatto dello spostamento all'elemento padre di destinazione specificato. La destinazione deve essere un numero di cartella o un numero di risorsa dell'organizzazione. Ad esempio, folders/123 o organizations/123.

Sposta le risposte di analisi

La risposta che ricevi dall'API Move Analysis è raggruppata per nome del servizio. Sotto ogni servizio è presente un elenco di avvisi e blocchi applicabili migrazione dei progetti. Qualsiasi blocco restituito da questa analisi indica che Se procedi con lo spostamento, la migrazione del progetto verrà bloccata in fase di esecuzione prima di risolverle.

Risolvere gli errori

Se viene restituito un errore dall'API Move Analysis, viene inclusa una codice gRPC; inoltre, come messaggio che descrive il motivo dell'errore dell'analisi del movimento per analizzare il progetto.

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

Nome dell'errore Codice di errore Descrizione
Argomento non valido 3 Viene restituito se chiami l'API in un progetto con un argomento non valido, ad esempio un nome della risorsa errato.
Autorizzazione negata 7 Restituito se non disponi delle autorizzazioni necessarie per eseguire l'analisi o la fonte progetto inesistente.
Interno 13 Restituito se si verifica un problema con una chiamata a un come Identity and Access Management o criterio dell'organizzazione. Ciò non indica che non è possibile eseguire la migrazione, ma puoi riprovare l'analisi, dopo aver controllato il servizio o un'interruzione del servizio.
Non disponibile 14 Viene restituito se un sistema interno non è sincronizzato. Ciò non indica che la migrazione non è ed eseguire di nuovo l'analisi.
Non autenticato 16 Restituito se non hai fornito il corretto le credenziali per eseguire questa analisi.

Esempio di messaggio di errore

L'esempio seguente mostra il codice di errore restituito per un utente che non disponi dell'autorizzazione cloudasset.assets.analyzeMove sul 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. Le seguenti un esempio mostra l'errore restituito dal servizio Firewall gerarchico. quando l'utente non ha 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 aiutano a mitigare gli elementi che bloccano e altri problemi durante lo spostamento di un progetto da una risorsa dell'organizzazione a un'altra. Per maggiori informazioni informazioni sulla migrazione di progetti tra risorse dell'organizzazione, consulta Migrazione dei progetti.