Secure Source Manager supporta tutti i comandi client Git SCM e dispone di richieste di pull e monitoraggio dei problemi integrati. Sono supportati sia HTTPS sia l'autenticazione SSH.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per utilizzare Git per interagire con un repository Secure Source Manager, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Funzione di accesso alle istanze Secure Source Manager (
roles/securesourcemanager.instanceAccessor) nell'istanza Secure Source Manager -
Per clonare un repository:
Secure Source Manager Repo Reader (
roles/securesourcemanager.repoReader) sul repository -
Per eseguire il push in un repository:
Secure Source Manager Repo Writer (
roles/securesourcemanager.repoWriter) nel repository
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Per informazioni sulla concessione dei ruoli Secure Source Manager, consulta Controllo dell'accesso con IAM e Concedere agli utenti l'accesso all'istanza.
Installa Git e Google Cloud CLI
Installa Git.
Se il programma di installazione di Git ti chiede di Scegliere un helper delle credenziali, seleziona Nessuno (non utilizzare un helper delle credenziali).
Per utilizzare Git con HTTPS è necessaria gcloud CLI versione
395.0.0o successive. Per controllare la versione di gcloud CLI, esegui questo comando:gcloud --versionPer aggiornare gcloud CLI, esegui questo comando.
gcloud components updateDopo l'aggiornamento, esegui
gcloud initper inizializzare gcloud CLI.Per saperne di più, consulta la documentazione di gcloud CLI sull'aggiornamento dei componenti.
Configurare le credenziali
Se esegui l'autenticazione a Secure Source Manager utilizzando un provider di identità di terze parti e la federazione delle identità per la forza lavoro, non devi completare questa sezione. Devi invece creare una configurazione di accesso al pool di identità per la forza lavoro.
Aggiungi l'helper di autenticazione di Secure Source Manager alla configurazione Git globale eseguendo questo comando:
Linux
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Le versioni precedenti di Git potrebbero non supportare i caratteri jolly. Per aggiungere l'helper di autenticazione senza caratteri jolly, esegui questo comando:
git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh
Sostituisci quanto segue:
INSTANCE_IDcon il nome dell'istanza Secure Source Manager.PROJECT_NUMBERcon il numero del tuo progetto. Per assistenza su come trovare il numero del progetto, consulta Identificazione dei progetti.LOCATIONcon la regione dell'istanza. Per saperne di più sulle regioni, consulta Località.
Windows
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
Le versioni precedenti di Git potrebbero non supportare i caratteri jolly. Per aggiungere l'helper di autenticazione senza caratteri jolly, esegui questo comando:
git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd
Sostituisci quanto segue:
INSTANCE_IDcon il nome dell'istanza Secure Source Manager.PROJECT_NUMBERcon il numero del tuo progetto. Per assistenza su come trovare il numero del progetto, consulta Identificazione dei progetti.LOCATIONcon la regione dell'istanza. Per saperne di più sulle regioni, consulta Località.
L'helper per l'autenticazione utilizza gcloud CLI per recuperare le tue credenzialiGoogle Cloud quando utilizzi i comandi Git con Secure Source Manager.
Per eseguire nuovamente l'autenticazione dopo la configurazione iniziale delle credenziali, esegui questo comando gcloud CLI:
gcloud auth login
Autenticazione da una VM Compute Engine utilizzando un account di servizio
Puoi autenticarti da una macchina virtuale (VM) Compute Engine utilizzando un account di servizio collegato.
Configura la VM e il account di servizio
Se utilizzi il account di servizio Compute Engine predefinito, crea la VM con gli ambiti OAuth richiesti:
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform
Sostituisci quanto segue:
VM_NAME: il nome della VM.PROJECT_ID: il tuo ID progetto Google Cloud .ZONE: la zona della VM.
Se utilizzi un account di servizio personalizzato, crealo e poi crea la VM.
Crea un service account:
gcloud iam service-accounts create SA_NAME --project=PROJECT_IDSostituisci
SA_NAMEcon un nome per il account di servizio.Concedi l'autorizzazione per utilizzare il account di servizio. Per creare una VM con un service account, devi disporre del ruolo Utente service account (
roles/iam.serviceAccountUser) nel account di servizio. Concedi questo ruolo all'entità che crea la VM:gcloud iam service-accounts add-iam-policy-binding SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"Sostituisci
USER_EMAILcon l'email dell'utente che crea la VM.Crea la VM:
gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform \ --service-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Concedi ruoli IAM al account di servizio
Concedi al account di servizio l'accesso all'istanza e al repository Secure Source Manager:
Concedi l'accesso all'istanza:
SA_EMAIL=$(gcloud compute instances describe VM_NAME --project=PROJECT_ID --zone=ZONE --format="get(serviceAccounts[0].email)") gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.instanceAccessorConcedi l'accesso in lettura al repository.
Per concedere l'accesso in lettura a un repository specifico, esegui questo comando:
gcloud ssm repos add-iam-policy-binding REPOSITORY_ID \ --instance=INSTANCE_ID \ --location=LOCATION \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.repoReaderSostituisci quanto segue:
REPOSITORY_ID: l'ID repository.INSTANCE_ID: l'ID istanza di Secure Source Manager.LOCATION: la regione dell'istanza Secure Source Manager.
Per concedere l'accesso in scrittura, utilizza il ruolo
roles/securesourcemanager.repoWriter.Per seguire il principio del privilegio minimo, ti consigliamo di concedere l'accesso a livello di repository. Se devi concedere l'accesso a tutti i repository di un progetto, consulta Controllo dell'accesso con IAM.
La propagazione delle autorizzazioni IAM può richiedere alcuni minuti.
Configura Git sulla VM
Connettiti alla VM tramite SSH:
gcloud compute ssh VM_NAME --project=PROJECT_ID --zone=ZONESulla VM, installa Git:
sudo apt-get install gitSulla VM, configura l'helper delle credenziali Git come descritto in Configurare le credenziali. Ad esempio, su Linux:
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Dopo aver configurato l'helper delle credenziali, Git utilizza le credenziali predefinite dell'applicazione del account di servizio della VM per l'autenticazione a Secure Source Manager. Ora puoi clonare un repository. Per l'autenticazione con le Credenziali predefinite dell'applicazione#39;applicazione, devi utilizzare l'URL del repository HTTPS.
Crea una configurazione di accesso al pool di identità per la forza lavoro
Non devi completare questa sezione a meno che tu non stia utilizzando la federazione delle identità per la forza lavoro per l'autenticazione in Secure Source Manager con un provider di identità di terze parti.
Per autenticarti con le credenziali del tuo pool di identità della forza lavoro nell'istanza di Secure Source Manager utilizzando i comandi gcloud CLI o Git, devi creare una configurazione di accesso con il tuo pool di identità della forza lavoro.
Per creare una configurazione di accesso al pool di identità della forza lavoro, segui le istruzioni riportate in Recuperare token di breve durata per la federazione delle identità per la forza lavoro per creare un accesso basato sul browser con gcloud CLI.
Una volta eseguita l'autenticazione, puoi utilizzare i comandi Git per interagire con l'istanza di Secure Source Manager. Devi eseguire nuovamente l'autenticazione quando scade la durata della sessione per il tuo pool di identità della forza lavoro.
Clonare un repository
Clona un repository eseguendo il seguente comando:
git clone REPOSITORY_URL
dove REPOSITORY_URL è l'URL HTTPS o SSH visualizzato nella parte superiore
della pagina del repository che vuoi clonare.
Eseguire il push di un repository esistente in Secure Source Manager
Prima di poter eseguire il push, devi creare un repository Secure Source Manager da utilizzare come repository remoto.
Per eseguire il push del repository Git esistente in un repository Secure Source Manager vuoto, devi aggiungere il repository Secure Source Manager come repository remoto ed eseguire il push.
Per impostare il repository Secure Source Manager come repository remoto, esegui questo comando:
git remote add origin REPOSITORY_URLDove
REPOSITORY_URLè l'URL HTTPS o SSH visualizzato nella parte superiore della pagina del repository.Per eseguire il push nel repository, esegui questo comando:
git push -u origin main
Per ulteriori informazioni sulla gestione del codice sorgente Git, consulta la documentazione di Git.
Passaggi successivi
- Scopri di più sulla gestione del codice sorgente Git.
- Elencare e visualizzare i repository.