Secure Source Manager est compatible avec toutes les commandes client Git SCM et intègre des demandes d'extraction et un suivi des problèmes. L'authentification HTTPS et SSH sont toutes deux acceptées.
Rôles requis
Pour obtenir les autorisations nécessaires pour utiliser Git afin d'interagir avec un dépôt Secure Source Manager, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Accesseur d'instances Secure Source Manager (
roles/securesourcemanager.instanceAccessor) sur l'instance Secure Source Manager -
Pour cloner un dépôt :
Lecteur de dépôts Secure Source Manager (
roles/securesourcemanager.repoReader) sur le dépôt -
Pour envoyer des données à un dépôt :
Rédacteur de dépôts Secure Source Manager (
roles/securesourcemanager.repoWriter) sur le dépôt
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour savoir comment accorder des rôles Secure Source Manager, consultez Contrôle des accès avec IAM et Accorder aux utilisateurs l'accès à l'instance.
Installer Git et Google Cloud CLI
Installez Git.
Si le programme d'installation de Git vous invite à choisir un assistant d'identification, sélectionnez Aucun (ne pas utiliser d'assistant d'identification).
La version
395.0.0ou ultérieure de gcloud CLI est requise pour utiliser Git avec HTTPS. Pour vérifier votre version de gcloud CLI, exécutez la commande suivante :gcloud --versionPour mettre à jour gcloud CLI, exécutez la commande suivante.
gcloud components updateAprès la mise à jour, exécutez
gcloud initpour initialiser gcloud CLI.Pour en savoir plus, consultez la documentation gcloud CLI sur la mise à jour des composants.
Configurer vos identifiants
Si vous vous authentifiez auprès de Secure Source Manager à l'aide d'un fournisseur d'identité tiers et de la fédération d'identité de personnel, vous n'avez pas besoin de suivre les étapes de cette section. Vous devez plutôt créer une configuration de connexion au pool d'identités de personnel.
Ajoutez l'assistant d'authentification Secure Source Manager à votre configuration Git globale en exécutant la commande suivante :
Linux
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Il est possible que les versions antérieures de Git ne soient pas compatibles avec les caractères génériques. Pour ajouter l'assistant d'authentification sans caractères génériques, exécutez la commande suivante :
git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh
Remplacez les éléments suivants :
INSTANCE_IDpar le nom de votre instance Secure Source Manager.PROJECT_NUMBERpar votre numéro de projet. Pour savoir comment trouver votre numéro de projet, consultez Identifier des projets.LOCATIONpar la région de l'instance. Pour en savoir plus sur les régions, consultez la section Emplacements.
Windows
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
Il est possible que les versions antérieures de Git ne soient pas compatibles avec les caractères génériques. Pour ajouter l'assistant d'authentification sans caractères génériques, exécutez la commande suivante :
git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd
Remplacez les éléments suivants :
INSTANCE_IDpar le nom de votre instance Secure Source Manager.PROJECT_NUMBERpar votre numéro de projet. Pour savoir comment trouver votre numéro de projet, consultez Identifier des projets.LOCATIONpar la région de l'instance. Pour en savoir plus sur les régions, consultez la section Emplacements.
L'outil d'authentification utilise gcloud CLI pour récupérer vos identifiantsGoogle Cloud lorsque vous utilisez des commandes Git avec Secure Source Manager.
Pour vous réauthentifier après la configuration initiale des identifiants, exécutez la commande gcloud CLI suivante :
gcloud auth login
S'authentifier à partir d'une VM Compute Engine à l'aide d'un compte de service
Vous pouvez vous authentifier à partir d'une machine virtuelle (VM) Compute Engine à l'aide d'un compte de service associé.
Configurer la VM et le compte de service
Si vous utilisez le compte de service Compute Engine par défaut, créez votre VM avec les niveaux d'accès OAuth requis :
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
Remplacez les éléments suivants :
VM_NAME: nom de votre VM.PROJECT_ID: ID de votre projet Google Cloud .ZONE: zone de votre VM.
Si vous utilisez un compte de service personnalisé, créez-le, puis créez la VM.
Créez un compte de service :
gcloud iam service-accounts create SA_NAME --project=PROJECT_IDRemplacez
SA_NAMEpar le nom que vous souhaitez donner au compte de service.Accordez l'autorisation d'utiliser le compte de service. Pour créer une VM avec un compte de service, vous devez disposer du rôle Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur le compte de service. Attribuez ce rôle au compte principal qui crée 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"Remplacez
USER_EMAILpar l'adresse e-mail de l'utilisateur qui crée la VM.Créez 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
Attribuer des rôles IAM au compte de service
Accordez au compte de service l'accès à l'instance et au dépôt Secure Source Manager :
Accorder l'accès à l'instance :
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.instanceAccessorAccorder l'accès en lecture au dépôt.
Pour accorder l'accès en lecture à un dépôt spécifique, exécutez la commande suivante :
gcloud ssm repos add-iam-policy-binding REPOSITORY_ID \ --instance=INSTANCE_ID \ --location=LOCATION \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.repoReaderRemplacez les éléments suivants :
REPOSITORY_ID: ID du dépôt.INSTANCE_ID: ID de l'instance Secure Source Manager.LOCATION: région de l'instance Secure Source Manager.
Pour accorder un accès en écriture, utilisez le rôle
roles/securesourcemanager.repoWriter.Nous vous recommandons d'accorder l'accès au niveau du dépôt pour suivre le principe du moindre privilège. Si vous devez accorder l'accès à tous les dépôts d'un projet, consultez Contrôle des accès avec IAM.
La propagation des autorisations IAM peut prendre quelques minutes.
Configurer Git sur la VM
Connectez-vous à la VM à l'aide de SSH :
gcloud compute ssh VM_NAME --project=PROJECT_ID --zone=ZONEInstallez Git sur la VM :
sudo apt-get install gitSur la VM, configurez l'assistant d'identification Git comme décrit dans Configurer vos identifiants. Par exemple, sous Linux :
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Une fois l'assistant d'identifiants configuré, Git utilise les identifiants par défaut de l'application du compte de service de la VM pour s'authentifier auprès de Secure Source Manager. Vous pouvez désormais cloner un dépôt. Vous devez utiliser l'URL du dépôt HTTPS pour vous authentifier avec les Identifiants par défaut de l'application.
Créer une configuration de connexion pour un pool d'identités de personnel
Vous n'avez pas besoin de remplir cette section, sauf si vous utilisez la fédération des identités des employés pour vous authentifier auprès de Secure Source Manager avec un fournisseur d'identité tiers.
Pour vous authentifier auprès de votre instance Secure Source Manager avec vos identifiants de pool d'identités des employés à l'aide de commandes gcloud CLI ou Git, vous devez créer une configuration de connexion avec votre pool d'identités des employés.
Pour créer une configuration de connexion à un pool d'identités de personnel, suivez les instructions de la section Obtenir des jetons de courte durée pour la fédération d'identité de personnel afin de créer une connexion basée sur le navigateur avec gcloud CLI.
Une fois que vous vous êtes authentifié, vous pouvez utiliser les commandes Git pour interagir avec votre instance Secure Source Manager. Vous devez vous réauthentifier lorsque la durée de la session de votre pool d'identités d'employés expire.
Cloner un dépôt
Clonez un dépôt en exécutant la commande suivante :
git clone REPOSITORY_URL
Où REPOSITORY_URL correspond à l'URL HTTPS ou SSH affichée en haut de la page du dépôt que vous souhaitez cloner.
Transférer un dépôt existant vers Secure Source Manager
Vous devez créer un dépôt Secure Source Manager pour qu'il serve de dépôt distant avant de pouvoir y transférer des données.
Pour transférer votre dépôt Git existant vers un dépôt Secure Source Manager vide, vous devez ajouter le dépôt Secure Source Manager en tant que dépôt distant et y transférer les données.
Pour définir le dépôt Secure Source Manager comme dépôt distant, exécutez la commande suivante :
git remote add origin REPOSITORY_URLOù
REPOSITORY_URLcorrespond à l'URL HTTPS ou SSH affichée en haut de la page du dépôt.Pour envoyer le fichier au dépôt, exécutez la commande suivante :
git push -u origin main
Pour en savoir plus sur la gestion du code source Git, consultez la documentation Git.
Étapes suivantes
- En savoir plus sur la gestion du code source Git
- Lister et afficher les dépôts