Secure Source Manager unterstützt alle Git SCM Clientbefehle und bietet integrierte Pull-Anfragen und Problemverfolgung. Sowohl HTTPS als auch SSH-Authentifizierung werden unterstützt.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung von Git für die Interaktion mit einem Secure Source Manager-Repository benötigen:
- Auf Secure Source Manager-Instanzen zugreifende Person (
roles/securesourcemanager.instanceAccessor) für die Secure Source Manager-Instanz -
Zum Klonen eines Repositorys:
Secure Source Manager Repo Reader (
roles/securesourcemanager.repoReader) für das Repository -
Zum Pushen in ein Repository:
Secure Source Manager Repo Writer (
roles/securesourcemanager.repoWriter) für das Repository
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Informationen zum Zuweisen von Secure Source Manager-Rollen, siehe Zugriffssteuerung mit IAM und Nutzern Zugriff auf Instanzen gewähren.
Git und Google Cloud CLI installieren
Installieren Sie Git.
Wenn Sie vom Git-Installationsprogramm aufgefordert werden, Choose a credential helper (Anmeldedatenverwaltung auswählen) auszuwählen, wählen Sie None (Do not use a credential helper) (Keine (keine Anmeldedatenverwaltung verwenden)) aus.
Für die Verwendung von Git mit HTTPS ist die gcloud CLI-Version
395.0.0oder höher erforderlich. Führen Sie den folgenden Befehl aus, um Ihre gcloud CLI-Version zu prüfen:gcloud --versionFühren Sie den folgenden Befehl aus, um die gcloud CLI zu aktualisieren:
gcloud components updateFühren Sie nach der Aktualisierung
gcloud initaus, um die gcloud CLI zu initialisieren.Weitere Informationen finden Sie in der gcloud CLI-Dokumentation unter Komponenten aktualisieren.
Anmeldedaten einrichten
Wenn Sie sich mit einem Drittanbieter-Identitätsanbieter und der Mitarbeiteridentitätsföderation bei Secure Source Manager authentifizieren, müssen Sie diesen Abschnitt nicht ausführen. Stattdessen müssen Sie eine Anmeldekonfiguration für den Workforce Identity-Pool erstellen.
Fügen Sie Ihrer globalen Git-Konfiguration die Secure Source Manager-Authentifizierungshilfe hinzu, indem Sie den folgenden Befehl ausführen:
Linux
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Ältere Versionen von Git unterstützen möglicherweise keine Platzhalter. Führen Sie den folgenden Befehl aus, um die Authentifizierungshilfe ohne Platzhalter hinzuzufügen:
git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh
Ersetzen Sie Folgendes:
INSTANCE_IDdurch den Namen Ihrer Secure Source Manager-Instanz.PROJECT_NUMBERdurch Ihre Projektnummer. Informationen zum Ermitteln der Projektnummer finden Sie unter Projekte identifizieren.LOCATIONdurch die Region der Instanz. Weitere Informationen zu Regionen finden Sie unter Standorte.
Windows
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
Ältere Versionen von Git unterstützen möglicherweise keine Platzhalter. Führen Sie den folgenden Befehl aus, um die Authentifizierungshilfe ohne Platzhalter hinzuzufügen:
git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd
Ersetzen Sie Folgendes:
INSTANCE_IDdurch den Namen Ihrer Secure Source Manager-Instanz.PROJECT_NUMBERdurch Ihre Projektnummer. Informationen zum Ermitteln der Projektnummer finden Sie unter Projekte identifizieren.LOCATIONdurch die Region der Instanz. Weitere Informationen zu Regionen finden Sie unter Standorte.
Die Authentifizierungshilfe verwendet die gcloud CLI, um Ihre Google Cloud Anmeldedaten abzurufen, wenn Sie Git-Befehle mit Secure Source Manager verwenden.
Führen Sie den folgenden gcloud CLI-Befehl aus, um sich nach der ersten Einrichtung der Anmeldedaten noch einmal zu authentifizieren:
gcloud auth login
Von einer Compute Engine-VM mit einem Dienstkonto authentifizieren
Sie können sich von einer Compute Engine-VM (virtuelle Maschine) mit einem angehängten Dienstkonto authentifizieren.
VM und Dienstkonto konfigurieren
Wenn Sie das Compute Engine-Standarddienstkonto verwenden, erstellen Sie Ihre VM mit den erforderlichen OAuth-Bereichen:
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
Ersetzen Sie Folgendes:
VM_NAME: der Name Ihrer VM.PROJECT_ID: Ihre Google Cloud Projekt-ID.ZONE: die Zone für Ihre VM.
Wenn Sie ein benutzerdefiniertes Dienstkonto verwenden, erstellen Sie das Dienstkonto und dann die VM.
Erstellen Sie ein Dienstkonto:
gcloud iam service-accounts create SA_NAME --project=PROJECT_IDErsetzen Sie
SA_NAMEdurch einen Namen für das Dienstkonto.Erteilen Sie die Berechtigung zur Verwendung des Dienstkontos. Zum Erstellen einer VM mit einem Dienst konto benötigen Sie die Rolle „Dienstkontonutzer“ (
roles/iam.serviceAccountUser) für das Dienstkonto. Weisen Sie diese Rolle dem Prinzipal zu, der die VM erstellt:gcloud iam service-accounts add-iam-policy-binding SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"Ersetzen Sie
USER_EMAILdurch die E-Mail-Adresse des Nutzers, der die VM erstellt.Erstellen Sie die 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
Weisen Sie dem Dienstkonto IAM-Rollen zu
Gewähren Sie dem Dienstkonto Zugriff auf die Secure Source Manager-Instanz und das Repository:
Zugriff auf Instanz gewähren:
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.instanceAccessorLesezugriff auf Repository gewähren.
Führen Sie den folgenden Befehl aus, um Lesezugriff auf ein bestimmtes Repository zu gewähren:
gcloud ssm repos add-iam-policy-binding REPOSITORY_ID \ --instance=INSTANCE_ID \ --location=LOCATION \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.repoReaderErsetzen Sie Folgendes:
REPOSITORY_ID: Die Repository-ID.INSTANCE_ID: Die Secure Source Manager-Instanz-ID.LOCATION: Die Region der Secure Source Manager-Instanz.
Verwenden Sie die Rolle
roles/securesourcemanager.repoWriter, um Schreibzugriff zu gewähren.Es wird empfohlen, den Zugriff auf Repository-Ebene zu gewähren, um dem Prinzip der geringsten Berechtigung zu folgen. Wenn Sie Zugriff auf alle Repositories in einem Projekt gewähren müssen, lesen Sie den Abschnitt Zugriffssteuerung mit IAM.
Es kann einige Minuten dauern, bis IAM-Berechtigungen übernommen werden.
Git auf der VM konfigurieren
Stellen Sie eine SSH-Verbindung zur VM her:
gcloud compute ssh VM_NAME --project=PROJECT_ID --zone=ZONEInstallieren Sie Git auf der VM:
sudo apt-get install gitKonfigurieren Sie auf der VM die Git-Anmeldedatenverwaltung, wie unter Anmeldedaten einrichten beschrieben. Beispiel für Linux:
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Nachdem Sie die Anmeldedatenverwaltung konfiguriert haben, verwendet Git die Standardanmeldedaten für Anwendungen aus dem Dienstkonto der VM, um sich bei Secure Source Manager zu authentifizieren. Sie können jetzt ein Repository klonen. Sie müssen die HTTPS-Repository-URL verwenden, um sich mit Standardanmeldedaten für Anwendungen zu authentifizieren.
Anmeldekonfiguration für den Workforce Identity-Pool erstellen
Sie müssen diesen Abschnitt nur ausführen, wenn Sie die Mitarbeiteridentitätsföderation verwenden, um sich mit einem Drittanbieter-Identitätsanbieter bei Secure Source Manager zu authentifizieren.
Wenn Sie sich mit Ihren Anmeldedaten für den Workforce Identity-Pool bei Ihrer Secure Source Manager-Instanz mit gcloud CLI- oder Git-Befehlen authentifizieren möchten, müssen Sie eine Anmeldekonfiguration mit Ihrem Workforce Identity-Pool erstellen.
Um eine Anmeldekonfiguration für einen Mitarbeiteridentitätspool zu erstellen, folgen Sie der Anleitung in Kurzlebige Tokens für die Mitarbeiteridentitätsföderation abrufen, um eine browserbasierte Anmeldung mit der gcloud CLI zu erstellen.
Nachdem Sie sich authentifiziert haben, können Sie Git-Befehle verwenden, um mit Ihrer Secure Source Manager-Instanz zu interagieren. Sie müssen sich noch einmal authentifizieren, wenn die Sitzungsdauer für Ihren Workforce Identity-Pool abläuft.
Repository klonen
Führen Sie den folgenden Befehl aus, um ein Repository zu klonen:
git clone REPOSITORY_URL
Dabei ist REPOSITORY_URL die HTTPS- oder SSH-URL, die oben auf der Repository-Seite angezeigt wird, die Sie klonen möchten.
Mit Developer Connect klonen
Sie können Repositories mit dem Developer Connect Git-Proxy klonen, wenn Sie Ihr Secure Source Manager-Repository in Developer Connect verknüpft haben. Beim Klonen mit Developer Connect werden IAM zur Authentifizierung und Autorisierung des Repository-Zugriffs verwendet.
Hinweis
- Folgen Sie der Anleitung, um eine Verbindung zu einem Secure Source Manager-Repository in Developer Connect herzustellen.
- Prüfen Sie, ob der Git-Proxy für Ihre Developer Connect-Verbindung aktiviert ist. Eine Anleitung zum Aktivieren des Git-Proxys finden Sie unter Developer Connect-Proxy konfigurieren und verwenden.
- Weisen Sie Prinzipalen, die mit der Proxy-URI klonen müssen, die Rolle
roles/developerconnect.gitProxyReaderfür die RessourceGitRepositoryLinkin Developer Connect zu. Eine Anleitung zum Zuweisen von Rollen finden Sie unter Zugriffssteuerung für Developer Connect mit IAM.
Anmeldedaten für Developer Connect einrichten
Fügen Sie Ihrer globalen Git-Konfiguration die Developer Connect-Authentifizierungshilfe hinzu, indem Sie den folgenden Befehl ausführen:
Linux
git config --global credential.'https://*.developerconnect.dev'.helper gcloud.sh
Windows
git config --global credential.https://*.developerconnect.dev.helper gcloud.cmd
Mit der Proxy-URI klonen
Führen Sie den folgenden Befehl aus, um ein Repository mit der Developer Connect-Proxy-URI zu klonen:
git clone https://REGION-git.developerconnect.dev/v1/projects/PROJECT_ID/locations/REGION/connections/CONNECTION_ID/gitRepositoryLinks/LINK_ID
Ersetzen Sie Folgendes:
REGION: Die Region Ihrer Developer Connect-Ressourcen.PROJECT_ID: Die Projekt-ID Ihrer Developer Connect-Ressourcen.CONNECTION_ID: Die ID Ihrer Developer Connect-Verbindung.LINK_ID: Die ID Ihrer Developer Connect-RessourceGitRepositoryLink.
Eine Anleitung zum Aufrufen der Details Ihrer GitRepositoryLink Ressource finden Sie unter
gcloud developer-connect connections git-repository-links.
Sie können die Unterbefehle list oder describe verwenden, um Linkdetails aufzurufen.
Vorhandenes Repository in Secure Source Manager pushen
Sie müssen ein Secure Source Manager-Repository erstellen, das als Remote-Repository fungiert, bevor Sie Daten hinein pushen können.
Wenn Sie Ihr vorhandenes Git-Repository in ein leeres Secure Source Manager-Repository pushen möchten, müssen Sie das Secure Source Manager-Repository als Remote-Repository hinzufügen und Daten hinein pushen.
Führen Sie den folgenden Befehl aus, um das Secure Source Manager-Repository als Remote-Repository festzulegen:
git remote add origin REPOSITORY_URLDabei ist
REPOSITORY_URLdie HTTPS- oder SSH-URL, die oben auf der Repository-Seite angezeigt wird.Führen Sie den folgenden Befehl aus, um Daten in das Repository zu pushen:
git push -u origin main
Weitere Informationen zur Git-Quellcodeverwaltung finden Sie in der Git-Dokumentation.
Nächste Schritte
- Weitere Informationen zur Git-Quellcodeverwaltung
- Repositories auflisten und ansehen.