Questa pagina mostra come risolvere i problemi relativi a Secure Source Manager.
Messaggio di errore durante la creazione di un repository
Quando tenti di 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 disponi del ruolo di amministratore del repository nel tuo progetto o delle 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 Amministratore repository (
roles/securesourcemanager.repoAdmin) nel tuo progetto. - Funzione di accesso alle istanze (
roles/securesourcemanager.instanceAccessor) nell'istanza Secure Source Manager. - Creatore repository di istanze
(
roles/securesourcemanager.instanceRepositoryCreator) nell'istanza Secure Source Manager.
- Ruolo Amministratore repository (
Per ulteriori dettagli, consulta la pagina Controllo dell'accesso con IAM.
Messaggio di errore durante la clonazione di un repository su un Mac
Quando tenti di 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 è installata utilizzando Homebrew o un'altra installazione non standard.
git-credential-gcloud.shnon è aggiunto al tuo percorso.
Per risolvere il problema:
- Esegui
source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc Controlla che
git-credential-gcloud.shsia nel percorso eseguendo questo comando:which git-credential-gcloud.sh
La connessione SSH non riesce con l'errore "nessuna corrispondenza"
Quando tenti di eseguire operazioni Git tramite SSH, potresti ricevere uno dei seguenti messaggi di errore:
Unable to negotiate with <host> port <port>: no matching key exchange method found.Unable to negotiate with <host> port <port>: no matching cipher found.Unable to negotiate with <host> port <port>: no matching MAC found.
Questo problema si verifica quando il client SSH non supporta gli algoritmi crittografici richiesti da Secure Source Manager. Ciò può verificarsi se utilizzi un client SSH precedente o se il client non è configurato per utilizzare algoritmi supportati.
Secure Source Manager richiede uno dei seguenti algoritmi:
- Algoritmi di scambio delle chiavi:
curve25519-sha256,diffie-hellman-group14-sha256 - Cifrari:
chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com - MAC:
hmac-sha2-256-etm@openssh.com,hmac-sha2-256
Per risolvere il problema, aggiorna il client SSH a una versione recente che supporti questi algoritmi.
Le richieste HTTPS Git non riescono a causa di un errore di autorizzazione negata o non autorizzata
Quando vengono tentati comandi Git tramite HTTPS, viene visualizzato un messaggio di errore di autorizzazione negata o non autorizzata.
Questo problema si verifica quando si verifica uno dei seguenti eventi:
- Nel file di configurazione Git globale manca l'helper di autenticazione 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 delle 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:
Esegui questo comando per determinare i contenuti della configurazione Git globale.
git config --list | grep credentialSe visualizzi una riga simile a
*credential*.helper=storesu macOS ocredential.helper = managersu Windows, rimuovila e autenticati di nuovo utilizzandogcloud auth loginprima di riprovare a eseguire il comando Git.Se la risposta non include
credential.https://*.*.sourcemanager.dev.helper=gcloud.shsu macOS o Linux oppurecredential.https://*.*.sourcemanager.dev.helper=gcloud.cmdsu Windows, aggiungi l'helper di autenticazione di Secure Source Manager alla configurazione Git globale:Linux
Per aggiungere l'helper di autenticazione di Secure Source Manager alla configurazione Git globale, esegui questo comando:
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.shVerifica che la riga dell'helper di autenticazione sia stata aggiunta alla configurazione Git globale eseguendo questo comando:
git config --list | grep credentialL'output dovrebbe includere
credential.https://*.*.sourcemanager.dev.helper=gcloud.sh.Esegui l'autenticazione eseguendo
gcloud auth login.Esegui un comando Git per testare l'autenticazione.
Windows
- Controlla la versione di gcloud CLI seguendo le istruzioni riportate in Installa Git e Google Cloud CLI.
Per aggiungere l'helper di autenticazione di Secure Source Manager alla configurazione Git globale, esegui questo comando:
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmdVerifica che la riga dell'helper di autenticazione sia stata aggiunta alla configurazione Git globale eseguendo questo comando:
git config --list | grep credentialL'output dovrebbe includere
credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd.Esegui l'autenticazione eseguendo
gcloud auth login.Esegui un comando Git per testare l'autenticazione.
Se in precedenza hai impostato la credenziale per l'host Git su
gcloud.sh, ma ricevi un errore come'credential-gcloud.sh' is not a git command, significa che Git non riesce a trovare lo scriptgit-credential-gcloud.shinPATHper la tua macchina. AggiornaPATHo sostituiscigcloud.shnel file gitconfig con il percorso assoluto.
Le richieste HTTPS Git non vanno a buon fine con un token non valido
È necessario un token OAuth valido come password per le operazioni HTTPS di Git. Questa operazione viene normalmente gestita da Git credential helper, 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 dell'utente dal token in entrata. Esistono diverse cause possibili di questo errore:
Il tuo 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-platformhttps://www.googleapis.com/auth/userinfo.email
Puoi controllare l'ambito del token chiamando
curl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}Stai utilizzando un token generato da GKE fleet workload identity:
- I token non elaborati generati da Workload Identity del parco risorse GKE non sono supportati. Per saperne di più, vedi SSM restituisce un errore quando si utilizzano token KSA con l'identità del workload del parco risorse GKE.
Hai criteri dell'organizzazione che impediscono l'utilizzo di token al di fuori di determinati perimetri, ad esempio l'accesso sensibile al contesto.
Per risolvere il problema, imposta la proprietà di configurazione
git_helper_use_adcgcloud CLI sutruee aggiorna le credenziali predefinite dell'applicazione (ADC):Accedi utilizzando il valore predefinito dell'applicazione:
gcloud auth application-default loginImposta la proprietà
git_helper_use_adc:gcloud config set auth/git_helper_use_adc true
Le richieste HTTPS Git non vanno a buon fine su macOS con errore 403 a causa di credenziali non aggiornate
Quando esegui operazioni Git su 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 gcloud CLI memorizzando e sincronizzando token
obsoleti. Questi token obsoleti possono causare errori di 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:
- Apri l'applicazione Accesso Portachiavi sul Mac
(si trova in
/Applications/Utilities/). - Cerca
sourcemanager.dev. - Elimina tutte le voci di tipo "password internet" che corrispondono a
*.*.sourcemanager.devo all'URL dell'istanza di Secure Source Manager facendo clic con il tasto destro del mouse sulla voce e selezionando Elimina. - Dopo aver eliminato le voci, riprova 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 loginprima di riprovare.
SSM restituisce un errore quando si utilizzano token del service account 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 assumere l'identità di un service account e associare il workload 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 dei 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/consentAd esempio, se l'URL dell'istanza è
https://my-instance-098765432123.us-central1.sourcemanager.dev/, inseriscihttps://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consentnella 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 branch predefinito.
- Il formato del file dei trigger non è valido. Questo errore è indicato da un banner
nella pagina del repository che riporta il 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 indicaValid build triggers configuration.
Errore di configurazione dei trigger di build
Dopo aver inviato il file triggers.yaml al repository Secure Source Manager, nel banner viene visualizzato il seguente errore:
Build cannot be created.
Questo problema si verifica per i seguenti motivi:
- Il file di configurazione di Cloud Build ha opzioni o formato non validi.
- L'agente di servizio Secure Source Manager non dispone del ruolo Creatore token service account sull'account di servizio gestito dall'utente del repository.
- Il account di servizio gestito dall'utente non dispone del ruolo Utente service account nel account di servizio Cloud Build.
- Il account di servizio gestito dall'utente non dispone del ruolo Editor Cloud Build nel progetto in cui vengono eseguite le build.
- La policy dell'organizzazione
iam.disableCrossProjectServiceAccountUsageblocca l'utilizzo del account di servizio gestito dall'utente (se il account di servizio si trova in un progetto diverso).
Per risolvere questo problema:
- Assicurati di seguire lo schema del file dei trigger corretto.
- Verifica che tutti i ruoli richiesti siano concessi. Consulta Ruoli del service account richiesti.
- Se utilizzi un account di servizio gestito dall'utente in un altro progetto, verifica che il criterio dell'organizzazione
iam.disableCrossProjectServiceAccountUsagesia disattivato nel progetto che ospita il account di servizio.
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 Risoluzione degli errori di build.
Push Git rifiutato a causa di dati sensibili rilevati
Quando esegui il push dei commit in un repository con la scansione dei segreti abilitata, il push non riesce e viene visualizzato un messaggio di errore simile al seguente:
remote: Push rejected: Sensitive data detected.
Questo problema si verifica quando la scansione dei segreti o un modello di ispezione personalizzato identifica informazioni sensibili nella cronologia dei commit.
Per risolvere il problema:
- Ripristina il commit problematico utilizzando
git reset --softe rimuovi le informazioni sensibili prima di eseguire nuovamente il commit. Se le informazioni rilevate sono accettabili e disponi delle autorizzazioni appropriate, ignora il controllo utilizzando l'opzione di push
-o dlpskip=true:git push -o dlpskip=true origin BRANCH_NAME
Quota giornaliera non reimpostata dopo la ricreazione
Se elimini un'istanza di Secure Source Manager e la ricrei con lo stesso ID istanza nello stesso giorno, potresti ricevere un errore di quota esaurita o limite raggiunto per la scansione dei segreti.
Questo problema si verifica perché la quota di scansione dei secret è una quota di velocità giornaliera collegata all'ID istanza. Se elimini e ricrei un'istanza con lo stesso ID nello stesso giorno, l'utilizzo della quota non viene reimpostato.
Per risolvere il problema, puoi procedere in uno dei seguenti modi:
- Attendi il secondo giorno per il ripristino automatico a 0 dell'utilizzo della quota giornaliera.
- Ricrea l'istanza utilizzando un ID istanza diverso e univoco.
- Salta temporaneamente la scansione dei segreti o richiedi un aumento della quota. Per saperne di più, consulta Aumentare la quota disponibile.
Errore durante la configurazione del account di servizio del repository
Quando tenti di creare o aggiornare un repository con un account di servizio gestito dall'utente, viene visualizzato il seguente errore:
Permission denied on resource ...
Questo problema si verifica quando non disponi del ruolo Utente service account
(roles/iam.serviceAccountUser) nel account di servizio che stai tentando
di associare al repository. Secure Source Manager verifica che tu disponga dell'autorizzazione per agire come account di servizio prima di consentirti di associarlo al repository.
Per risolvere il problema, chiedi all'amministratore di concederti il ruolo Utente service account per il account di servizio.