Konfigurationsschritte für HTTPS-Verbindungen zu AWS CodeCommit-Repositorys auf Windows mit dem AWS CLI-Hilfsprogramm für Anmeldeinformationen - AWS CodeCommit

Konfigurationsschritte für HTTPS-Verbindungen zu AWS CodeCommit-Repositorys auf Windows mit dem AWS CLI-Hilfsprogramm für Anmeldeinformationen

Bevor Sie AWS CodeCommit verwenden können, müssen Sie die Schritte für die erste Konfiguration ausführen. Für die meisten Benutzer lässt sich das am einfachsten mit den Schritten unter Für HTTPS-Benutzer, die Git-Anmeldeinformationen verwenden umsetzen. Wenn Sie jedoch über ein Root-Konto, über einen Verbundzugriff oder mit temporären Anmeldeinformationen eine Verbindung mit CodeCommit herstellen möchten, müssen Sie das AWS CLI-Hilfsprogramm für Anmeldeinformationen nutzen.

Anmerkung

Obwohl das Hilfsprogramm für Anmeldeinformationen eine unterstützte Methode für die Verbindung mit CodeCommit über den Verbundzugriff, über einen Identitätsanbieter oder mit temporären Anmeldeinformationen ist, empfiehlt sich die Installation und Verwendung des git-remote-codecommit-Dienstprogramms. Weitere Informationen finden Sie unter Einrichtungsschritte für HTTPS-Verbindungen mit AWS CodeCommit mit git-remote-codecommit.

Mit der schrittweisen Anleitung in diesem Thema können Sie die AWS CLI installieren, Ihren Computer und das AWS-Profil einrichten, die Verbindung zu einem CodeCommit-Repository herstellen und dieses Repository auf Ihrem Computer klonen – also ein lokales Repository erstellen. Wenn Sie mit Git noch nicht vertraut sind, finden Sie unter Wo erfahre ich mehr über Git? genauere Informationen.

Schritt 1: Erste Konfiguration für CodeCommit

Führen Sie die folgenden Schritte aus, um ein AWS-Konto einzurichten, einen IAM-Benutzer zu erstellen und zu konfigurieren und die AWS CLI zu installieren. Die AWS CLI enthält ein Hilfsprogramm für Anmeldeinformationen, das Sie für HTTPS-Verbindungen zu Ihren CodeCommit-Repositorys konfigurieren.

So erstellen und konfigurieren Sie einen IAM-Benutzer für den CodeCommit-Zugriff

  1. Erstellen Sie ein AWS-Konto. Rufen Sie dazu http://aws.amazon.com auf und wählen Sie Sign Up (Anmelden) aus.

  2. Legen Sie einen IAM-Benutzer für Ihr AWS-Konto an oder wählen Sie einen vorhandenen Benutzer aus. Legen Sie eine Zugriffsschlüssel-ID und einen geheimen Zugriffsschlüssel für den IAM-Benutzer fest. Weitere Informationen finden Sie unter Erstellen eines IAM-Benutzers in Ihrem AWS-Konto.

    Anmerkung

    CodeCommit erfordert AWS Key Management Service Bei der Verwendung eines vorhandenen IAM-Benutzers müssen Sie sicherstellen, dass mit diesem keine Richtlinien verknüpft sind, die explizit die von CodeCommit benötigten AWS KMS-Aktionen unterbinden. Weitere Informationen finden Sie unter AWS KMS und Verschlüsselung.

  3. Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  4. Wählen Sie im Navigationsbereich der IAM-Konsole den Eintrag Users (Benutzer) und anschließend den IAM-Benutzer aus, der für den CodeCommit-Zugriff konfiguriert werden soll.

  5. Wählen Sie auf der Registerkarte Permissions die Option Add Permissions.

  6. Wählen Sie unter Grant permissions die Option Attach existing policies directly aus.

  7. Wählen Sie in der Richtlinienliste den Eintrag AWSCodeCommitPowerUser oder eine andere verwaltete Richtlinie für den CodeCommit-Zugriff aus. Weitere Informationen finden Sie unter AWS-verwaltete (vordefinierte) Richtlinien für CodeCommit.

    Nachdem Sie die Richtlinie zugewiesen haben, wählen Sie Next: Review (Weiter: Überprüfung) aus, um die Liste der Richtlinien anzuzeigen, um den IAM-Benutzer zuzuweisen. Ist die Liste korrekt, wählen Sie Add permissions aus.

    Weitere Informationen über die verwalteten Richtlinien von CodeCommit und die Freigabe von Repositorys für andere Gruppen und Benutzer finden Sie unter Freigeben eines Repositorys und Authentifizierung und Zugriffskontrolle für AWS CodeCommit.

So installieren und konfigurieren Sie die AWS CLI

  1. Laden Sie die AWS CLI auf den lokalen Computer herunter und installieren Sie. Dies ist eine Voraussetzung für das Arbeiten mit CodeCommit über die Befehlszeile. Weitere Informationen finden Sie unter Erste Schritte mit der AWS-Befehlszeilenschnittstelle.

    Anmerkung

    CodeCommit funktioniert nur mit den AWS CLI-Versionen 1.7.38 und höher. Als bewährte Methode installieren oder aktualisieren Sie die AWS CLI auf die neueste verfügbare Version. Führen Sie den Befehl aws --version aus, um zu überprüfen, welche Version der AWS CLI installiert ist.

    Informationen zum Upgraden von einer älteren auf die aktuelle Version der AWS CLI finden Sie unter Installieren der AWS Command Line Interface.

  2. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die CodeCommit-Befehle für die AWS CLI-installiert sind:

    aws codecommit help

    Dieser Befehl sollte eine Liste von CodeCommit-Befehlen zurückgeben.

  3. Konfigurieren Sie die AWS CLI mit einem Profil wie folgt mithilfe des configure-Befehls:

    aws configure

    Wenn Sie dazu aufgefordert werden, geben Sie den AWS-Zugriffsschlüssel und den geheimen AWS-Zugriffsschlüssel des IAM-Benutzers ein, den Sie in CodeCommit verwenden werden. Achten Sie auch darauf, die AWS-Region anzugeben, in der sich das Repository befindet, z. B: us-east-2. Wenn Sie nach dem standardmäßigen Ausgabeformat gefragt werden, geben Sie json an. Beispiel:

    AWS Access Key ID [None]: Type your target AWS access key ID here, and then press Enter AWS Secret Access Key [None]: Type your target AWS secret access key here, and then press Enter Default region name [None]: Type a supported region for CodeCommit here, and then press Enter Default output format [None]: Type json here, and then press Enter

    Weitere Informationen zum Erstellen und Konfigurieren von Profilen für die AWS CLI finden Sie unter:

    Um eine Verbindung mit einem Repository oder einer Ressource in einer anderen AWS-Region herzustellen, müssen Sie die AWS CLI mit dem Standardregionsnamen neu konfigurieren. Zu den Standardregionsnamen für CodeCommit zählen:

    • us-east-2

    • us-east-1

    • eu-west-1

    • us-west-2

    • ap-northeast-1

    • ap-southeast-1

    • ap-southeast-2

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • ap-south-1

    • ca-central-1

    • us-gov-west-1

    • us-gov-east-1

    • eu-north-1

    • ap-east-1

    • me-south-1

    • cn-north-1

    • cn-northwest-1

    Weitere Informationen über CodeCommit und AWS-Regionen finden Sie unter Regionen und Git-Verbindungsendpunkte. Weitere Informationen über IAM, Zugriffsschlüssel und geheime Schlüssel finden Sie unter Wie erhalte ich Anmeldeinformationen? und Verwalten von Zugriffsschlüsseln für IAM-Benutzer. Weitere Informationen zur AWS CLI und zu Profilen finden Sie unter Benannte Profile.

Schritt 2: Installieren von Git

Um mit Dateien, Commits und anderen Informationen in CodeCommit-Repositorys arbeiten zu können, müssen Sie Git auf Ihrem lokalen Computer installieren. CodeCommit unterstützt die Git-Versionen 1.7.9 und höher. Wir empfehlen die Verwendung einer aktuellen Version von Git.

Für die Installation von Git empfehlen wir Websites wie Git for Windows. Wenn Sie diesen Link für die Installation von Git verwenden, können Sie alle Standardeinstellungen für die Installation mit Ausnahme der folgenden akzeptieren:

  • Wenn Sie während des SchrittsAdjusting your PATH environment (Anpassen Ihrer PATH-Umgebung) dazu aufgefordert werden, wählen Sie die Option zur Verwendung von Git aus der Befehlszeile.

  • (Optional) Wenn Sie HTTPS mit dem in der AWS CLI enthaltenen Hilfsprogramm für Anmeldeinformationen verwenden möchten, anstatt Git-Anmeldeinformationen für CodeCommit auf der Seite Configuring extra options (Konfiguration zusätzlicher Optionen) zu konfigurieren, deaktivieren Sie die Option Enable Git Credential Manager (Git Credential Manager aktivieren). Der Git Credential Manager ist nur dann mit CodeCommit kompatibel, wenn IAM-Benutzer Git-Anmeldeinformationen konfigurieren. Weitere Informationen finden Sie unter Für HTTPS-Benutzer, die Git-Anmeldeinformationen verwenden und Git für Windows: Ich habe Git für Windows installiert, aber mir wird der Zugriff auf mein Repository verweigert (403).

Anmerkung

Git ist eine stetig weiterentwickelte und regelmäßig aktualisierte Plattform. Es kommt vor, dass sich die Änderung eines Features darauf auswirkt, wie Git mit CodeCommit zusammen funktioniert. Sollten Sie Probleme mit einer bestimmten Version von Git und CodeCommit haben, lesen Sie die Informationen in Fehlersuche.

Schritt 3: Einrichten des Hilfsprogramms für Anmeldeinformationen

Die AWS CLI enthält ein Git-Hilfsprogramm für Anmeldeinformationen, das mit CodeCommit verwendet werden kann. Das Git-Hilfsprogramm für Anmeldeinformationen erfordert ein AWS-Anmeldeinformationsprofil, in dem eine Kopie der AWS-Zugriffsschlüssel-ID und des geheimen AWS-Zugriffsschlüssels (zusammen mit dem Namen der AWS-Standardregion und dem Standardausgabeformat) des IAM-Benutzers gespeichert wird. Das Git-Hilfsprogramm für Anmeldeinformationen verwendet diese Informationen für die automatische Authentifizierung bei CodeCommit, sodass Sie diese Daten nicht jedes Mal erneut eingeben müssen, wenn Sie Git für die Interaktion mit CodeCommit nutzen.

  1. Öffnen Sie ein Befehlszeilenfenster und führen Sie den Git-Befehl git config aus. Geben Sie an, dass das Git-Hilfsprogramm für Anmeldeinformationen mit dem AWS-Anmeldeinformationsprofil verwendet werden soll, damit das Git-Hilfsprogramm für Anmeldeinformationen den Pfad an die Repositorys senden kann:

    git config --global credential.helper "!aws codecommit credential-helper $@" git config --global credential.UseHttpPath true

    Das Git-Hilfsprogramm für Anmeldeinformationen schreibt folgende Werte in die .gitconfig-Datei:

    [credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true
    Wichtig
    • Falls Sie anstelle der Windows-Befehlszeile einen Bash-Emulator einsetzen, müssen Sie einfache (statt doppelte) Anführungszeichen eingeben.

    • Das Hilfsprogramm für Anmeldeinformationen verwendet das AWS-Standardprofil oder die Amazon EC2-Instance-Rolle. Wenn Sie ein eigenes erstelltes AWS-Anmeldeinformationsprofil verwenden möchten (z. B. CodeCommitProfile), können Sie den Befehl folgendermaßen anpassen:

      git config --global credential.helper "!aws codecommit credential-helper --profile CodeCommitProfile $@"

      Dann werden folgende Werte in die .gitconfig-Datei geschrieben:

      [credential] helper = !aws codecommit credential-helper --profile=CodeCommitProfile $@ UseHttpPath = true
    • Falls Ihr Profilname Leerzeichen enthält, müssen Sie nach der Ausführung dieses Befehls den Namen in der .gitconfig-Datei in einfache Anführungszeichen (') setzen. Andernfalls können Sie das Hilfsprogramm für Anmeldeinformationen nicht nutzen.

    • Wenn Sie im Rahmen der Installation von Git für Windows auch das Git-Dienstprogramm zur Verwaltung von Anmeldeinformationen (Git Credential Manager) implementiert haben, werden Ihnen nach den ersten Verbindungsversuchen entweder 403-Fehlermeldungen angezeigt oder Sie werden vom Dienstprogramm aufgefordert, Ihre Anmeldeinformationen einzugeben. Dieses Problem lässt sich am besten lösen, indem Sie Git für Windows deinstallieren und dann ohne den Git Credential Manager erneut installieren, da das Dienstprogramm mit CodeCommit nicht kompatibel ist. Sofern Sie das Git Credential Manager-Dienstprogramm und CodeCommit verwenden möchten, sind weitere Konfigurationsschritte erforderlich. Beispielsweise müssen Sie die .gitconfig-Datei manuell ändern und angeben, dass bei einer Verbindungserstellung zu AWS CodeCommit das CodeCommit-Hilfsprogramm für Anmeldeinformationen verwendet werden soll. Entfernen Sie sämtliche gespeicherten Anmeldeinformationen aus dem Credential Manager-Dienstprogramm (dies finden Sie in der Systemsteuerung). Nachdem Sie alle gespeicherten Anmeldeinformationen gelöscht haben, fügen Sie folgenden Abschnitt zur .gitconfig-Datei hinzu, speichern diese und versuchen, über ein neues Befehlszeilenfenster eine Verbindung herzustellen:

      [credential "https://git-codecommit.us-east-2.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true [credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

      Möglicherweise ist zusätzlich eine Neukonfiguration der Einstellungen für git config erforderlich. Dabei geben Sie --system anstelle von --global oder --local an, damit alle Verbindungen ordnungsgemäß hergestellt werden können.

    • Sollen verschiedene IAM-Benutzer auf demselben lokalen Computer für CodeCommit verwendet werden, geben Sie git config --local anstelle von git config --global an und führen Sie dann die Konfiguration für jedes AWS-Anmeldeinformationsprofil aus.

  2. Führen Sie den Befehl git config --global --edit aus, um zu prüfen, ob die vorigen Werte in die .gitconfig-Datei Ihres Benutzerprofils geschrieben wurden (standardmäßig %HOME%\.gitconfig oder drive:\Users\UserName\.gitconfig). War der Schreibvorgang erfolgreich, werden die Werte angezeigt (zusätzlich zu den Werten, die ggf. bereits in der globalen Git-Konfigurationsdatei vorhanden sind). Zum Beenden geben Sie :q ein und drücken die Eingabetaste.

Schritt 4: Herstellen einer Verbindung mit der CodeCommit-Konsole und Klonen des Repositorys

Wenn Sie den Namen und die Verbindungsdetails für das CodeCommit-Repository bereits von einem Administrator erhalten haben, können Sie diesen Schritt überspringen und das Repository direkt klonen.

So stellen Sie eine Verbindung mit einem CodeCommit-Repository her

  1. Öffnen Sie die CodeCommit-Konsole unter https://console.aws.amazon.com/codesuite/codecommit/home.

  2. Wählen Sie in der Regionsauswahl die AWS-Region aus, in der das Repository erstellt wurde. Die Repositorys sind spezifisch für eine AWS-Region. Weitere Informationen finden Sie unter Regionen und Git-Verbindungsendpunkte.

  3. Suchen Sie das Repository, zu dem Sie eine Verbindung herstellen möchten, in der Liste und wählen Sie es aus. Wählen Sie Clone URL (URL klonen) und dann das Protokoll aus, das Sie beim Klonen oder bei der Verbindung zu dem Repository verwenden möchten. Dadurch wird die Klon-URL kopiert.

    • Kopieren Sie die HTTPS-URL, wenn Sie Git-Anmeldeinformationen mit Ihrem IAM-Benutzer oder das in AWS CLI enthaltene Hilfsprogramm für Anmeldeinformationen verwenden.

    • Kopieren Sie die HTTPS-URL (GRC), wenn Sie den Befehl git-remote-codecommit auf Ihrem lokalen Computer verwenden.

    • Kopieren Sie die SSH-URL, wenn Sie ein öffentliches/privates SSH-Schlüsselpaar mit Ihrem IAM-Benutzer verwenden.

    Anmerkung

    Wird anstelle einer Liste mit Repositorys eine Willkommensseite (Welcome) angezeigt, sind in der AWS-Region, in der Sie angemeldet sind, keine Repositorys mit Ihrem AWS-Konto verknüpft. Informationen zur Erstellung eines Repositorys finden Sie unter Erstellen eines AWS CodeCommit-Repositorys, oder befolgen Sie die Schritte im Tutorial Erste Schritte mit Git und CodeCommit.

  4. Öffnen Sie eine Eingabeaufforderung und führen Sie den git clone-Befehl mit der kopierten HTTPS-URL aus. Dadurch wird das lokale Repository in einem Unterverzeichnis des Verzeichnisses erstellt, in dem Sie den Befehl ausgeführt haben. Beispielsweise können Sie das Repository MyDemoRepo wie folgt in ein lokales Repository mit dem Namen my-demo-repo in der Region USA Ost (Ohio) klonen:

    git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    Bei einigen Windows-Versionen werden Sie möglicherweise über eine Popup-Meldung aufgefordert, Ihren Benutzernamen und Ihr Passwort einzugeben. Dabei handelt es sich um das integrierte System für die Anmeldeinformationsverwaltung von Windows, dieses ist jedoch nicht mit dem AWS CodeCommit-Hilfsprogramm für Anmeldeinformationen kompatibel. Klicken Sie auf Abbrechen.

Nächste Schritte

Sie haben die Voraussetzungen erfüllt. Befolgen Sie die Schritte in Erste Schritte mit CodeCommit , um mit der Verwendung von CodeCommit zu beginnen.