Git-Quellcodeverwaltung verwenden

Secure Source Manager unterstützt alle Git-SCM-Clientbefehle und bietet integrierte Pull-Anfragen und Problemverfolgung. Sowohl HTTPS als auch die SSH-Authentifizierung werden unterstützt.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Interaktion mit einem Secure Source Manager-Repository über Git benötigen:

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 finden Sie unter Zugriffssteuerung mit IAM und Nutzern Instanzzugriff gewähren.

Git und Google Cloud CLI installieren

  1. Installieren Sie Git.

  2. Wenn Sie vom Git-Installationsprogramm aufgefordert werden, Choose a credential helper (Anmeldedaten-Helper auswählen) auszuwählen, wählen Sie None (Do not use a credential helper) (Kein Anmeldedaten-Helper verwenden) aus.

  3. Installieren Sie die gcloud CLI.

  4. Für die Verwendung von Git mit HTTPS ist die gcloud CLI-Version 395.0.0 oder höher erforderlich. Führen Sie den folgenden Befehl aus, um Ihre gcloud CLI-Version zu prüfen:

    gcloud --version
    
  5. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu aktualisieren.

    gcloud components update
    
  6. Führen Sie nach der Aktualisierung gcloud init aus, 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 externen 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 einen Mitarbeiteridentitäts-Pool erstellen.

Fügen Sie Ihrer globalen Git-Konfiguration den Authentifizierungs-Helper für Secure Source Manager hinzu, indem Sie den folgenden Befehl ausführen:

Linux

git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh

In früheren Versionen von Git werden möglicherweise keine Platzhalter unterstützt. Führen Sie den folgenden Befehl aus, um den Authentifizierungs-Helper ohne Platzhalter hinzuzufügen:

git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh

Ersetzen Sie Folgendes:

  • INSTANCE_ID durch den Namen Ihrer Secure Source Manager-Instanz.
  • PROJECT_NUMBER durch Ihre Projektnummer, Hilfe zum Ermitteln der Projektnummer finden Sie unter Projekte identifizieren.
  • LOCATION durch die Region der Instanz. Weitere Informationen zu Regionen finden Sie unter Standorte.

Windows

git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd

In früheren Versionen von Git werden möglicherweise keine Platzhalter unterstützt. Führen Sie den folgenden Befehl aus, um den Authentifizierungs-Helper ohne Platzhalter hinzuzufügen:

git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd

Ersetzen Sie Folgendes:

  • INSTANCE_ID durch den Namen Ihrer Secure Source Manager-Instanz.
  • PROJECT_NUMBER durch Ihre Projektnummer, Hilfe zum Ermitteln der Projektnummer finden Sie unter Projekte identifizieren.
  • LOCATION durch die Region der Instanz. Weitere Informationen zu Regionen finden Sie unter Standorte.

Der Authentifizierungs-Helper verwendet die gcloud CLI, um IhreGoogle 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 aus mit einem Dienstkonto authentifizieren

Sie können sich über ein angehängtes Dienstkonto auf einer Compute Engine-VM 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: Projekt-ID in Google Cloud .
  • ZONE: die Zone für Ihre VM.

Wenn Sie ein benutzerdefiniertes Dienstkonto verwenden, erstellen Sie das Dienstkonto und dann die VM.

  1. Erstellen Sie ein Dienstkonto:

    gcloud iam service-accounts create SA_NAME --project=PROJECT_ID
    

    Ersetzen Sie SA_NAME mit einem Namen für das Dienstkonto.

  2. Gewähren Sie die Berechtigung zur Verwendung des Dienstkontos. Wenn Sie eine VM mit einem Dienstkonto erstellen möchten, benötigen Sie die Rolle „Dienstkontonutzer“ (roles/iam.serviceAccountUser) für das Dienstkonto. Weisen Sie diese Rolle dem Hauptkonto zu, das 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_EMAIL durch die E-Mail-Adresse des Nutzers, der die VM erstellt.

  3. 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
    

Dienstkonto IAM-Rollen zuweisen

Gewähren Sie dem Dienstkonto Zugriff auf die Secure Source Manager-Instanz und das Repository:

  1. Instanzzugriff 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.instanceAccessor
    
  2. Gewähren Sie Lesezugriff auf das Repository.

    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.repoReader
    

    Ersetzen Sie Folgendes:

    • REPOSITORY_ID: Die Repository-ID.
    • INSTANCE_ID: Die Instanz-ID von Secure Source Manager.
    • LOCATION: Die Region der Secure Source Manager-Instanz.

    Verwenden Sie die Rolle roles/securesourcemanager.repoWriter, um Schreibzugriff zu gewähren.

    Um dem Prinzip der geringsten Berechtigung zu entsprechen, wird empfohlen, den Zugriff auf Repository-Ebene zu gewähren. 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

  1. Stellen Sie eine SSH-Verbindung zur VM her:

    gcloud compute ssh VM_NAME --project=PROJECT_ID --zone=ZONE
    
  2. Installieren Sie Git auf der VM:

    sudo apt-get install git
    
  3. Konfigurieren Sie auf der VM den Git-Credential Helper, wie unter Anmeldedaten einrichten beschrieben. Beispiel für Linux:

    git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
    

Nachdem Sie den Anmeldedaten-Helper konfiguriert haben, verwendet Git die Standardanmeldedaten für Anwendungen des Dienstkontos 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 Workforce Identity-Pool erstellen

Sie müssen diesen Abschnitt nur ausfüllen, wenn Sie die Mitarbeiteridentitätsföderation verwenden, um sich mit einem Drittanbieter-Identitätsanbieter bei Secure Source Manager zu authentifizieren.

Wenn Sie sich mit den Anmeldedaten Ihres Personalpools bei Ihrer Secure Source Manager-Instanz mit gcloud CLI- oder Git-Befehlen authentifizieren möchten, müssen Sie eine Anmeldekonfiguration mit Ihrem Personalpool erstellen.

Wenn Sie eine Anmeldekonfiguration für einen Workforce Identity-Pool erstellen möchten, folgen Sie der Anleitung unter Kurzlebige Tokens für die Workforce Identity-Föderation abrufen, um eine browserbasierte Anmeldung mit der gcloud CLI zu erstellen.

Nach der Authentifizierung können Sie mit Git-Befehlen mit Ihrer Secure Source Manager-Instanz interagieren. Sie müssen sich neu authentifizieren, wenn die Sitzungsdauer für Ihren Mitarbeiteridentitäts-Pool abläuft.

Repository klonen

Klonen Sie ein Repository mit dem folgenden Befehl:

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.

Vorhandenes Repository per Push an Secure Source Manager übertragen

Sie müssen ein Secure Source Manager-Repository erstellen, das als Remote-Repository fungiert, bevor Sie Inhalte per Push übertragen können.

Wenn Sie Ihr vorhandenes Git-Repository in ein leeres Secure Source Manager-Repository übertragen möchten, müssen Sie das Secure Source Manager-Repository als Remote-Repository hinzufügen und die Daten dorthin übertragen.

  1. Führen Sie den folgenden Befehl aus, um das Secure Source Manager-Repository als Remote-Repository festzulegen:

    git remote add origin REPOSITORY_URL
    

    Dabei ist REPOSITORY_URL die HTTPS- oder SSH-URL, die oben auf der Repository-Seite angezeigt wird.

  2. Führen Sie den folgenden Befehl aus, um per Push in das Repository zu übertragen:

    git push -u origin main
    

Weitere Informationen zur Git-Quellcodeverwaltung finden Sie in der Git-Dokumentation.

Nächste Schritte