Risoluzione dei problemi

Questa pagina mostra come risolvere i problemi relativi a Secure Source Manager.

Messaggio di errore durante la creazione di un repository

Quando provi a creare un repository, viene visualizzato il seguente errore:

There was an error while loading /repo/create. Try refreshing the page.

Questo problema si verifica quando:

  • L'API Secure Source Manager non è abilitata nel tuo progetto.
  • Non hai il ruolo di amministratore del repository nel tuo progetto o le autorizzazioni per creare repository nell'istanza Secure Source Manager.

Per risolvere il problema:

  • Abilita l'API Secure Source Manager nel tuo progetto.
  • Chiedi all'amministratore di concederti i seguenti ruoli:
    • Ruolo di amministratore del repository (roles/securesourcemanager.repoAdmin) nel tuo progetto.
    • Ruolo di accesso all'istanza (roles/securesourcemanager.instanceAccessor) nell'istanza Secure Source Manager.
    • Ruolo di creatore del repository dell'istanza (roles/securesourcemanager.instanceRepositoryCreator) nell'istanza Secure Source Manager.

Per ulteriori dettagli, consulta la pagina Controllo dell'accesso con IAM.

Messaggio di errore durante la clonazione di un repository su un Mac

Quando provi a clonare un repository, viene visualizzato il seguente errore:

git: 'credential-gcloud.sh' is not a git command.  See 'git --help'.
fatal: Authentication failed for [repo-url]

Questo problema si verifica quando:

  • gcloud CLI è installato utilizzando Homebrew o un'altra installazione non standard.
  • git-credential-gcloud.sh non è aggiunto al tuo PATH.

Per risolvere il problema:

  • Esegui source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc
  • Controlla che git-credential-gcloud.sh sia nel tuo percorso eseguendo il seguente comando:

    which git-credential-gcloud.sh
    

Le richieste HTTPS di Git non riescono con l'errore Autorizzazione negata o Non autorizzato

Quando si tentano di eseguire comandi Git tramite HTTPS, viene visualizzato un messaggio di errore Autorizzazione negata o Non autorizzato.

Questo problema si verifica quando:

  • Nel file di configurazione Git globale manca l'helper di autenticazione di Secure Source Manager.
  • Viene utilizzato l'archivio delle credenziali integrato di Git anziché chiamare l'helper di autenticazione di Secure Source Manager per ottenere una nuova credenziale.
  • Viene utilizzato un helper di credenziali di sistema anziché chiamare l'helper di autenticazione di Secure Source Manager per ottenere una nuova credenziale.
  • Quando interagisci con i repository Secure Source Manager utilizzando HTTPS, viene utilizzata una versione precedente di Google Cloud CLI. Secure Source Manager richiede Google Cloud CLI versione 395.0.0 o successive.

Per risolvere il problema:

  1. Esegui il seguente comando per determinare i contenuti della configurazione Git globale.

    git config --list | grep credential
    
  2. Se vedi una riga simile a *credential*.helper=store su macOS o credential.helper = manager su Windows, rimuovi queste righe e poi esegui nuovamente l'autenticazione utilizzando gcloud auth login prima di riprovare a eseguire il comando Git.

  3. Se la risposta non include credential.https://*.*.sourcemanager.dev.helper=gcloud.sh su macOS o Linux o credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd su Windows, aggiungi l'helper di autenticazione di Secure Source Manager alla configurazione Git globale:

    Linux

    1. Per aggiungere l'helper di autenticazione di Secure Source Manager alla configurazione Git globale, esegui il seguente comando:

      git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
      
    2. Verifica che la riga dell'helper di autenticazione sia stata aggiunta alla configurazione Git globale eseguendo il seguente comando:

      git config --list | grep credential
      

      L'output deve includere credential.https://*.*.sourcemanager.dev.helper=gcloud.sh.

    3. Esegui l'autenticazione eseguendo gcloud auth login.

    4. Esegui un comando Git per testare l'autenticazione.

    Windows

    1. Controlla la versione di gcloud CLI seguendo le istruzioni riportate in Installare Git e Google Cloud CLI.
    2. Per aggiungere l'helper di autenticazione di Secure Source Manager alla configurazione Git globale, esegui il seguente comando:

      git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
      
    3. Verifica che la riga dell'helper di autenticazione sia stata aggiunta alla configurazione Git globale eseguendo il seguente comando:

      git config --list | grep credential
      

      L'output deve includere credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd.

    4. Esegui l'autenticazione eseguendo gcloud auth login.

    5. Esegui un comando Git per testare l'autenticazione.

Le richieste HTTPS di Git non riescono con il token non valido

È necessario un token OAuth valido come password per le operazioni HTTPS di Git. In genere, questa operazione viene gestita dall'helper delle credenziali di Git, ma può funzionare anche con i token OAuth generati utilizzando altri approcci (ad esempio, le credenziali predefinite dell'applicazione).

Se una richiesta Git viene rifiutata a causa di un token non valido, in genere significa che non è stato possibile estrarre le informazioni utente dal token in entrata. Esistono diverse cause possibili di questo errore:

  • L'accesso a gcloud CLI potrebbe essere scaduto.

    Accedi di nuovo utilizzando gcloud auth login.

  • Il token non ha un ambito sufficiente. I token OAuth devono avere i seguenti ambiti:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/userinfo.email

    Puoi controllare l'ambito del token chiamandocurl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}

  • Stai utilizzando un token generato da Workload Identity del parco risorse GKE:

  • Hai policy dell'organizzazione che impediscono l'utilizzo di token al di fuori di determinati perimetri, ad esempio Accesso sensibile al contesto.

    Per risolvere il problema, imposta la proprietà di configurazione di gcloud CLI git_helper_use_adc su true e aggiorna le credenziali predefinite dell'applicazione (ADC):

    1. Imposta la proprietà git_helper_use_adc:

      gcloud config set auth/git_helper_use_adc true
      
    2. Aggiorna le credenziali predefinite dell'applicazione:

      gcloud auth login --update-adc
      

Le richieste HTTPS di Git non riescono su macOS con l'errore 403 a causa di credenziali obsolete

Quando esegui operazioni Git tramite HTTPS su macOS, potresti ricevere un errore 403.

Questo problema può verificarsi su macOS se utilizzi il Portachiavi iCloud, che può interferire con i token di autenticazione di gcloud CLI memorizzando e sincronizzando i token obsoleti. Questi token obsoleti possono causare il mancato funzionamento dell'autenticazione con Secure Source Manager, anche dopo aver eseguito nuovamente l'autenticazione utilizzando gcloud auth login.

Per risolvere il problema, elimina manualmente le credenziali obsolete da Accesso Portachiavi:

  1. Apri l'applicazione Accesso Portachiavi sul Mac (si trova in /Applications/Utilities/).
  2. Cerca sourcemanager.dev.
  3. Elimina tutte le voci di tipo "password internet" che corrispondono a *.*.sourcemanager.dev o all'URL dell'istanza Secure Source Manager facendo clic con il tasto destro del mouse sulla voce e selezionando Elimina.
  4. Dopo aver eliminato le voci, riprova a eseguire l'operazione Git. Potrebbe esserti chiesto di eseguire nuovamente l'autenticazione con gcloud CLI. Se le operazioni Git continuano a non riuscire, esegui gcloud auth login prima di riprovare.

SSM restituisce un errore quando si utilizzano i token dell'account di servizio Kubernetes (KSA) con Workload Identity del parco risorse GKE

Quando utilizzi Workload Identity del parco risorse GKE, i token KSA non elaborati non sono supportati da Secure Source Manager. L'utilizzo di questi token genera un errore.

Per risolvere il problema, devi rappresentare un service account e associare il carico di lavoro a un account di servizio Google. Devi anche aggiungere la seguente annotazione alla configurazione KSA:

iam.gke.io/gcp-service-account: SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Il progetto non viene visualizzato nel selettore di prodotti dell'interfaccia web

Quando utilizzi il selettore di prodotti dell'interfaccia web di Secure Source Manager, il tuo progetto non viene visualizzato.

Questo problema si verifica quando hai più credenziali di accesso per Secure Source Manager.

Per risolvere il problema:

  • Cancella i cookie aggiungendo quanto segue all'URL dell'istanza Secure Source Manager: /_oauth/consent

    Ad esempio, se l'URL dell'istanza è https://my-instance-098765432123.us-central1.sourcemanager.dev/, inserisci https://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consent nella barra degli indirizzi del browser e poi accedi con le credenziali corrette.

Il file dei trigger non attiva le build

Se le build non vengono attivate come previsto dopo l'invio del file dei trigger, potresti riscontrare uno dei seguenti problemi:

  • Il file dei trigger non si trova nel ramo predefinito. Per risolvere il problema, sposta il file dei trigger nel ramo predefinito.
  • Il file dei trigger ha un formato non valido. Questo errore è indicato da un banner nella pagina del repository con il seguente messaggio: Build triggers configuration error: .... Per risolvere il problema, leggi lo schema del file dei trigger. Quando la configurazione del file dei trigger è corretta, il banner nella pagina del repository riporta il seguente messaggio: Valid build triggers configuration.

Errore di configurazione dei trigger di build

Dopo aver inviato il file triggers.yaml al repository Secure Source Manager, viene visualizzato il seguente errore in un banner:

Build cannot be created.

Questo problema si verifica per i seguenti motivi:

  • Il file di configurazione di Cloud Build contiene opzioni non valide.
  • Il file di configurazione di Cloud Build ha un formato non valido.
  • Il account di servizio Secure Source Manager non dispone delle autorizzazioni necessarie per utilizzare il account di servizio Cloud Build specificato dall'utente.

Per risolvere il problema:

  • Assicurati di seguire lo schema corretto del file dei trigger .
  • Assicurati che il account di servizio Secure Source Manager e il account di servizio Cloud Build dispongano delle autorizzazioni necessarie. Per visualizzare le autorizzazioni richieste, consulta Ruoli account di servizio richiesti.

La build non riesce durante l'esecuzione

Se una build viene attivata correttamente, ma non riesce durante l'esecuzione, il commit associato ha lo stato di commit Errore.

Per risolvere i problemi relativi a una build non riuscita, nella pagina del repository, accanto allo stato del commit non riuscito, fai clic su Dettagli.

Si apre il log di esecuzione di Cloud Build. Per saperne di più sulla risoluzione dei problemi relativi alle build in Cloud Build, consulta Risolvere gli errori relativi alle build.