Questo documento descrive come proteggere le informazioni sensibili con l'analisi dei secret integrata in Secure Source Manager.
La scansione dei secret in Secure Source Manager migliora la sicurezza del codebase. Analizza i commit di cui è stato eseguito il push nei tuoi repository o uniti tramite richieste di pull, eseguendo una scansione attiva delle informazioni sensibili che dovresti criptare o rimuovere. Se vengono rilevati dati di questo tipo, la scansione dei secret rifiuta automaticamente il push o blocca l'unione della richiesta di pull, impedendo l'unione involontaria di dettagli sensibili.
L'analisi dei secret in Secure Source Manager tratta le seguenti categorie di informazioni come sensibili:
- Chiavi di crittografia: sono inclusi elementi come le chiavi private SSH.
- Credenziali AWS: chiavi di accesso e chiavi segrete per Amazon Web Services.
- Google Cloud credenziali: chiavi dei service account e altri Google Cloud secret.
- Client secret OAuth: secret utilizzati per l'autenticazione delle applicazioni con OAuth.
- Chiavi secret: chiavi sensibili utilizzate per l'autenticazione o l'autorizzazione.
Abilita l'analisi dei secret
Assicurati che i seguenti ruoli e impostazioni siano abilitati per il tuo repository.
Ruoli obbligatori
Per ottenere l'autorizzazione necessaria per abilitare l'analisi dei secret, chiedi all'amministratore di concederti il ruolo IAM Amministratore repository Secure Source Manager (roles/securesourcemanager.repoAdmin) nel repository Secure Source Manager.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene l'autorizzazione securesourcemanager.repositories.update, necessaria per abilitare l'analisi dei secret.
Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Per informazioni sulla concessione dei ruoli di Secure Source Manager, consulta Controllo dell'accesso con IAM e Concedi agli utenti l'accesso alle istanze.
Autorizzazioni service account
Se configuri l'analisi dei secret in modo che utilizzi un modello di ispezione di Sensitive Data Protection personalizzato, il account di servizio utilizzato da Secure Source Manager deve disporre dell'autorizzazione per leggere il modello (ad esempio, il ruolo DLP Reader, roles/dlp.reader).
- Se per il repository è configurato un account di servizio per repository, Secure Source Manager utilizza esclusivamente quel account di servizio. Devi concedere l'autorizzazione in lettura del template al account di servizio per repository.
- Se non è configurato alcun account di servizio per repository, Secure Source Manager utilizza il account di servizio dell'istanza.
Aggiorna le impostazioni del repository
Puoi attivare l'analisi dei secret per i tuoi repository tramite l'interfaccia di Secure Source Manager:
- Vai al repository in cui vuoi attivare l'analisi dei secret.
- Fai clic sull'icona delle Impostazioni.
- Individua l'opzione di attivazione/disattivazione Analisi dei secret.
- Fai clic sul pulsante di attivazione/disattivazione per impostarlo su On.
- (Facoltativo) Nel campo Modello di ispezione, inserisci il nome della risorsa del modello di ispezione di Sensitive Data Protection.
- Fai clic sul pulsante Update Settings (Aggiorna impostazioni).
Utilizzo dell'analisi dei secret
Una volta attivata, la scansione dei secret monitora attivamente i commit nel tuo repository. Se vengono identificate informazioni sensibili in un commit di cui è stato eseguito il push utilizzando Git o unito tramite una richiesta di pull nell'interfaccia web, il commit viene rifiutato o l'unione viene bloccata.
Quando esegui il push dalla riga di comando, ricevi un errore che indica la presenza di dati sensibili. A questo punto, hai due opzioni:
Ripristina la modifica
Per rimuovere le informazioni sensibili, puoi ripristinare il commit problematico utilizzando il seguente comando:
git reset --soft COMMIT_ID
Sostituisci COMMIT_ID con l'ID commit effettivo.
Poiché Git conserva la cronologia di tutti i commit, il materiale sensibile può comunque essere recuperato dai commit precedenti. Per evitare questo problema, utilizza il comando git reset --soft. Poi, correggi i file ed esegui di nuovo il commit per rimuovere i dati dalla cronologia recente del branch.
Esegui il push forzato del commit (bypassando l'analisi dei secret)
In situazioni specifiche in cui le informazioni rilevate sono ritenute accettabili, gli utenti con le autorizzazioni appropriate possono scegliere di ignorare il controllo di scansione dei secret e forzare il push del commit.
git push -o dlpskip=true origin \
BRANCH_NAME
Sostituisci BRANCH_NAME con il nome del branch di cui stai eseguendo il merge.