AWS CodeCommit ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. Erfahren Sie mehr“
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verbindung zuAWS CodeCommit Repositorys mit wechselnden Anmeldeinformationen herstellen
Sie können Benutzern Zugriff auf IhreAWS CodeCommit Repositorys gewähren, ohne IAM-Benutzer für sie zu konfigurieren oder einen Zugriffsschlüssel und einen geheimen Schlüssel zu verwenden. Um Berechtigungen Berechtigungen erstellen Sie eine Rolle und definieren Berechtigungen. Wenn eine Verbundidentität authentifiziert wird, wird die Identität der Rolle zugeordnet und erhält die von der Rolle definierten Berechtigungen. Informationen zu Rollen für den Verbund finden Sie unter Erstellen von Rollen für externe Identitätsanbieter im IAM-Benutzerhandbuch. Wenn Sie IAM Identity Center verwenden, konfigurieren Sie einen Berechtigungssatz. Wenn Sie steuern möchten, worauf Ihre Identitäten nach der Authentifizierung zugreifen können, korreliert IAM Identity Center den Berechtigungssatz mit einer Rolle in IAM. Informationen zu Berechtigungssätzen finden Sie unter Berechtigungssätze im AWS IAM Identity Center-Benutzerhandbuch. Sie können auch den rollenbasierten Zugriff für IAM-Benutzer konfigurieren, um aufCodeCommit Repositorys in separaten Amazon Web Services Services-Konten zuzugreifen (eine Technik, die als kontoübergreifender Zugriff bezeichnet wird). Eine schrittweise Anleitung zur Konfiguration des kontoübergreifenden Zugriffs auf ein Repository finden Sie unter Konfiguriere den kontoübergreifenden Zugriff auf ein AWS CodeCommit Repository mithilfe von Rollen.
Sie können den Zugriff für Benutzer konfigurieren, die sich über folgende Methoden authentifizieren möchten oder müssen:
-
Security Assertion Markup Language (SAML)
-
Multifaktor-Authentifizierung (MFA)
-
Verbund
-
Login with Amazon
-
Amazon Cognito
-
Facebook
-
Google
-
OpenID Connect-kompatibler (OIDC) Identitätsanbieter
Anmerkung
Die folgenden Informationen sind nur relevant, wenn die Verbindung mit CodeCommit-Repositorys über git-remote-codecommit oder das AWS CLI-Hilfsprogramm für Anmeldeinformationen hergestellt wird. Da der empfohlene Ansatz für den temporären oder Verbundzugriff auf CodeCommit das Einrichten von git-remote-codecommit ist, enthält dieses Thema Beispiele für dieses Dienstprogramm. Weitere Informationen finden Sie unter Einrichtungsschritte für HTTPS-Verbindungen zuAWS CodeCommitmitgit-remote-codecommit.
Sie können keine SSH- oder Git-Anmeldeinformationen und kein HTTPS verwenden, um mit rotierenden oder temporären Anmeldeinformationen eine Verbindung zu CodeCommit-Repositorys herzustellen.
Sie müssen die folgenden Schritte nicht ausführen, wenn alle der folgenden Bedingungen zutreffen:
-
Sie sind bei einer Amazon-EC2-Instance angemeldet.
-
Sie verwenden Git und HTTPS mit demAWS CLI Credential-Helper, um eine Verbindung von der Amazon EC2 EC2-Instance zuCodeCommit Repositorys herzustellen.
-
Die Amazon EC2 EC2-Instance hat ein angehängtes IAM-Instance-Profil, das die inFür HTTPS-Verbindungen unter Linux, MacOS oder Unix mit demAWS CLICredential-Helper oder beschriebenen Zugriffsberechtigungen enthältFür HTTPS-Verbindungen unter Windows mit demAWS CLICredential-Helper.
-
Sie haben den Git Credential Helper auf der Amazon EC2 EC2-Instance installiert und konfiguriert, wie inFür HTTPS-Verbindungen unter Linux, MacOS oder Unix mit demAWS CLICredential-Helper oder beschriebenFür HTTPS-Verbindungen unter Windows mit demAWS CLICredential-Helper.
Amazon EC2 EC2-Instances, die die oben genannten Anforderungen erfüllen, sind bereits so eingerichtet, dass sie inCodeCommit Ihrem Namen temporäre Zugangsdaten übermitteln.
Anmerkung
Sie könnengit-remote-codecommit Amazon EC2 EC2-Instances konfigurieren und verwenden.
Führen Sie die folgenden Schritte aus, um Benutzern temporär Zugriff auf Ihre CodeCommit-Repositorys zu gewähren.
Schritt 1: Erfüllen der Voraussetzungen
Führen Sie die Einrichtungsschritte aus, um einem Benutzer mit rotierenden Anmeldeinformationen Zugriff auf Ihre CodeCommit-Repositorys zu gewähren:
-
Informationen zum kontoübergreifenden Zugriff finden Sie unter Exemplarische Vorgehensweise: Delegieren des Zugriffs über Amazon Web Services Services-Konten mithilfe von IAM-Rollen undKonfiguriere den kontoübergreifenden Zugriff auf ein AWS CodeCommit Repository mithilfe von Rollen.
-
Weitere Informationen über SAML und einen Verbund finden Sie unter Verwendung des Authentifizierungssystems Ihres Unternehmens für die Erteilung von Zugriff auf AWS-Ressourcen und Informationen über den auf AWS STS SAML 2.0-basierten Verbund.
-
Informationen zu MFA finden Sie unter Verwenden von MFA-Geräten (Multi-Factor Authentication) mitAWS und Erstellen temporärer Sicherheitsanmeldeinformationen zur Aktivierung des Zugriffs für IAM-Benutzer.
Unter Authentifizierung und Zugriffskontrolle für AWS CodeCommit erfahren Sie, mit welchen CodeCommit-Berechtigungen Sie dem Benutzer Zugriff erteilen können.
Schritt 2: Abrufen des Rolle oder Anmeldeinformationen
Wenn Sie möchten, dass Ihre Benutzer auf Repositorys zugreifen, indem sie eine Rolle übernehmen, geben Sie Ihren Benutzern den Amazon-Ressourcennamen (ARN) dieser Rolle an. Andernfalls kann der Benutzer je nach Einrichtung des Zugriffs rotierende Anmeldeinformationen auf eine der folgenden Arten abrufen:
-
Rufen Sie für den kontoübergreifenden Zugriff den BefehlAWS CLI assume-role oder dieAWS STS AssumeRoleAPI auf.
-
Rufen Sie für SAML denAWS CLI assume-role-with-samlBefehl oder dieAWS STS AssumeRoleWithSAML-API auf.
-
Rufen Sie für den Verbund die get-federation-tokenBefehleAWS CLI assume-roleAWS STSAssumeRoleoder die GetFederationTokenOR-APIs auf.
-
Rufen Sie für MFA denAWS CLI get-session-tokenBefehl oder dieAWS STS GetSessionTokenAPI auf.
-
Rufen Sie für die Anmeldung mit Amazon, Amazon Cognito, Facebook, Google oder einem anderen OIDC-kompatiblen Identitätsanbieter den BefehlAWS CLI assume-role-with-web-identity oder dieAWS STS AssumeRoleWithWebIdentityAPI auf.
Schritt 3: Installierengit-remote-codecommit und konfigurieren Sie denAWS CLI
Sie müssen Ihren lokalen Computer so konfigurieren, dass die Anmeldeinformationen verwendet werden, indem Sie git-remote-codecommit
-
Folgen Sie den Anweisungen in Einrichtung , um die AWS CLI einzurichten. Verwenden Sie den aws configure-Befehl, um ein oder mehrere Profile zu konfigurieren. Erwägen Sie, ein benanntes Profil zu erstellen, das verwendet werden soll, wenn Sie eine Verbindung mit CodeCommit-Repositorys mithilfe rotierender Anmeldeinformationen herstellen.
-
Sie können die Anmeldeinformationen nach einem der folgenden Verfahren mit dem benannten AWS CLI-Profil des Benutzers verknüpfen.
-
Wenn Sie eine Rolle für den Zugriff auf CodeCommit übernehmen, konfigurieren Sie ein benanntes Profil mit den Informationen, die für die Übernahme dieser Rolle erforderlich sind. Wenn Sie beispielsweise eine Rolle annehmen möchten, die
CodeCommitAccess
im Amazon Web Services Services-Konto 1111111111 benannt ist, können Sie ein Standardprofil für die Arbeit mit anderenAWS Ressourcen und ein benanntes Profil konfigurieren, das verwendet wird, wenn Sie diese Rolle übernehmen. Mit den folgenden Befehlen wird ein benanntes Profil erstelltCodeAccess
, das eine benannte Rolle annimmtCodeCommitAccess
. Der BenutzernameMaria_Garcia
ist mit der Sitzung verknüpft und das Standardprofil wird als Quelle derAWS Anmeldeinformationen festgelegt:aws configure set role_arn arn:aws:iam::111111111111:role/
CodeCommitAccess
--profileCodeAccess
aws configure set source_profile default --profileCodeAccess
aws configure set role_session_name "Maria_Garcia
" --profileCodeAccess
Wenn Sie die Änderungen überprüfen möchten, können Sie die
~/.aws/config
-Datei (für Linux) oder die%UserProfile%.aws\config
-Datei (für Windows) manuell anzeigen oder bearbeiten und die Informationen unter dem benannten Profil überprüfen. Zum Beispiel ähnelt Ihre Datei möglicherweise dem Folgenden:[default] region = us-east-1 output = json [profile CodeAccess] source_profile = default role_session_name = Maria_Garcia role_arn = arn:aws:iam::111111111111:role/
CodeCommitAccess
Nachdem Sie Ihr benanntes Profil konfiguriert haben, können Sie CodeCommit-Repositorys mit dem git-remote-codecommit-Dienstprogramm mithilfe des benannten Profils klonen. Beispielsweise löschen Sie das Repository namens
MyDemoRepo
wie folgt:git clone codecommit://
CodeAccess
@MyDemoRepo
-
Wenn Sie Web-Identitätsverbund und OpenID Connect (OIDC) verwenden, konfigurieren Sie ein benanntes Profil, das die AWS Security Token Service (AWS STS)
AssumeRoleWithWebIdentity
-API in Ihrem Namen aufruft, um temporäre Anmeldeinformationen zu aktualisieren. Verwenden Sie den aws configure set-Befehl oder bearbeiten Sie die~/.aws/credentials
-Datei (für Linux) oder die%UserProfile%.aws\credentials
-Datei (für Windows) manuell, um ein benanntes AWS CLI-Profil mit den erforderlichen Einstellungswerten hinzuzufügen. Um beispielsweise ein Profil zu erstellen, das dieCodeCommitAccess
Rolle übernimmt und eine Web-Identitätstoken-Datei ~/my-credentials
/
verwendetmy-token-file:[
CodeCommitWebIdentity
] role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
web_identity_token_file=~/
role_session_name = Maria_Garciamy-credentials
/my-token-file
Weitere Informationen finden Sie unter KonfigurationAWS Command Line Interface und Verwendung einer IAM-RolleAWS CLI imAWS Command Line Interface Benutzerhandbuch.
-
Schritt 4: Zugriff auf dieCodeCommit Repositorys
Nachdem der Benutzer die Anweisungen unter Herstellen einer Verbindung mit einem Repository ausgeführt hat, um eine Verbindung mit den CodeCommit-Repositorys herzustellen, verwendet er die von git-remote-codecommit und Git bereitgestellte erweiterte Funktionalität, um git clone, git push und git pull aufzurufen, um die CodeCommit-Repositorys, auf die er temporären Zugriff hat, zu klonen oder Push- und Pull-Übertragungen durchzuführen. Beispiel zum Klonen eines Repositorys:
git clone codecommit://
CodeAccess
@MyDemoRepo
Git-Commit-, Push- und Pull-Befehle verwenden reguläre Git-Syntax.
Wenn der Benutzer in der AWS CLI das benannte AWS CLI-Profil angibt, das den rotierenden Anmeldeinformationen zugewiesen ist, werden die Ergebnisse zurückgegeben, die für dieses Profil gültig sind.