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 zu AWS CodeCommit Repositorys mit rotierenden Anmeldeinformationen herstellen
Sie können Benutzern Zugriff auf Ihre AWS CodeCommit Repositorys gewähren, ohne IAM-Benutzer für sie zu konfigurieren oder einen Zugriffsschlüssel und einen geheimen Schlüssel zu verwenden. Um einer föderierten Identität Berechtigungen zuzuweisen, erstellen Sie eine Rolle und definieren Berechtigungen für die Rolle. Wird eine Verbundidentität authentifiziert, so 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 (Verbund) 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 auf CodeCommit 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)
-
Multi-Faktor-Authentifizierung (MFA)
-
Verbund
-
Login with Amazon
-
Amazon Cognito
-
Facebook
-
Google
-
OpenID Connect-kompatibler (OIDC) Identitätsanbieter
Anmerkung
Die folgenden Informationen beziehen sich nur auf die Verwendung von git-remote-codecommit oder des AWS CLI Credential Helper zur Verbindung mit Repositorys. CodeCommit Da der empfohlene Ansatz für den temporären oder föderierten Zugriff auf die Einrichtung CodeCommit istgit-remote-codecommit, finden Sie in diesem Thema Beispiele für die Verwendung dieses Dienstprogramms. Weitere Informationen finden Sie unter Einrichtungsschritte für HTTPS-Verbindungen AWS CodeCommit mit git-remote-codecommit.
Sie können SSH- oder Git-Anmeldeinformationen und HTTPS nicht verwenden, um eine Verbindung zu CodeCommit Repositorys mit rotierenden oder temporären Zugangsdaten herzustellen.
Sie müssen die folgenden Schritte nicht ausführen, wenn alle der folgenden Bedingungen zutreffen:
-
Sie sind bei einer EC2 Amazon-Instance angemeldet.
-
Sie verwenden Git und HTTPS mit dem AWS CLI Credential Helper, um eine Verbindung von der EC2 Amazon-Instance zu CodeCommit Repositorys herzustellen.
-
Die EC2 Amazon-Instance hat ein angehängtes IAM-Instance-Profil, das die unter Für HTTPS-Verbindungen unter Linux, macOS oder Unix mit dem AWS CLI Credential Helper oder Für HTTPS-Verbindungen unter Windows mit dem Credential Helper AWS CLI beschriebenen Zugriffsberechtigungen enthält.
-
Sie haben den Git Credential Helper auf der EC2 Amazon-Instance installiert und konfiguriert, wie unter Für HTTPS-Verbindungen unter Linux, macOS oder Unix mit dem AWS CLI Credential Helper oder Für HTTPS-Verbindungen unter Windows mit dem Credential Helper AWS CLI beschrieben.
EC2 Amazon-Instances, die die oben genannten Anforderungen erfüllen, sind bereits so eingerichtet, dass sie in Ihrem Namen temporäre Zugangsdaten CodeCommit an sie weiterleiten.
Anmerkung
Sie können git-remote-codecommit auf EC2 Amazon-Instances konfigurieren und verwenden.
Gehen Sie wie folgt vor, um Benutzern temporären Zugriff auf Ihre CodeCommit Repositorys zu gewähren.
Schritt 1: Erfüllen der Voraussetzungen
Schließe die Einrichtungsschritte ab, um einem Benutzer mit wechselnden Zugangsdaten Zugriff auf deine 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 und. Konfiguriere den kontoübergreifenden Zugriff auf ein AWS CodeCommit Repository mithilfe von Rollen
-
Informationen zu SAML und Verbund finden Sie unter Verwenden des Authentifizierungssystems Ihrer Organisation, um Zugriff auf AWS Ressourcen zu gewähren und Über den SAML 2.0-basierten Verbund. AWS STS
-
Informationen zu MFA finden Sie unter Verwenden von Multi-Factor Authentication (MFA) -Geräten mit AWS und Erstellen temporärer Sicherheitsanmeldedaten, um den Zugriff für IAM-Benutzer zu ermöglichen.
-
Informationen zur Login with Amazon, Amazon Cognito, Facebook, Google oder einem anderen OIDC-kompatiblen Identitätsanbieter finden Sie unter Über AWS STS Web Identity Federation.
Verwenden Sie die Informationen inAuthentifizierung und Zugriffskontrolle für AWS CodeCommit, um die CodeCommit Berechtigungen anzugeben, die Sie dem Benutzer gewähren möchten.
Schritt 2: Holen Sie sich den Rollennamen oder die Zugangsdaten
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 kontoübergreifenden Zugriff den Befehl AWS CLI assume-role auf oder rufen Sie die API auf. AWS STS AssumeRole
-
Rufen Sie für SAML den AWS CLIassume-role-with-samlBefehl oder die SAML-API auf. AWS STS AssumeRoleWith
-
Rufen Sie für den Verbund die get-federation-tokenBefehle AWS CLI assume-role oder oder or auf. AWS STS AssumeRoleGetFederationToken APIs
-
Rufen Sie für MFA den AWS CLI get-session-tokenBefehl oder die AWS STS GetSessionTokenAPI auf.
-
Um sich mit Amazon, Amazon Cognito, Facebook, Google oder einem anderen OIDC-kompatiblen Identitätsanbieter anzumelden, rufen Sie den Befehl AWS CLI assume-role-with-web-identity oder die API auf. AWS STS AssumeRoleWithWebIdentity
Schritt 3: Installieren und konfigurieren Sie den git-remote-codecommit AWS 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 Sie verwenden können, wenn Sie mithilfe rotierender Anmeldeinformationen eine Verbindung zu CodeCommit Repositorys herstellen.
-
Sie können die Anmeldeinformationen auf eine der folgenden Arten AWS CLI dem benannten Profil des Benutzers zuordnen.
-
Wenn Sie eine Rolle für den Zugriff annehmen CodeCommit, 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 anderen AWS Ressourcen und ein benanntes Profil für die Übernahme dieser Rolle konfigurieren. Die folgenden Befehle erstellen ein benanntes Profil mit dem Namen, das eine Rolle mit dem NamenCodeAccess
annimmt.CodeCommitAccess
Der BenutzernameMaria_Garcia
ist der Sitzung zugeordnet, und das Standardprofil wird als Quelle für die AWS 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 Identity Federation und OpenID Connect (OIDC) verwenden, konfigurieren Sie ein benanntes Profil, das in Ihrem Namen den
AssumeRoleWithWebIdentity
API-Aufruf AWS Security Token Service (AWS STS) durchführt, 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 AWS CLI benanntes Profil mit den erforderlichen Einstellungswerten hinzuzufügen. Um beispielsweise ein Profil zu erstellen, das dieCodeCommitAccess
Rolle übernimmt und eine Web-Identity-Token-Datei ~/my-credentials
/my-token-file
verwendet:[
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 Konfiguration AWS Command Line Interface und Verwendung einer IAM-Rolle AWS CLI im AWS Command Line Interface Benutzerhandbuch.
-
Schritt 4: Greifen Sie auf die Repositorys zu CodeCommit
Angenommen, Ihr Benutzer hat die Anweisungen unter befolgt, Herstellen einer Verbindung mit einem Repository um eine Verbindung zu den CodeCommit Repositorys herzustellen, dann verwendet der Benutzer die erweiterten Funktionen von git-remote-codecommit und Git, um die CodeCommit Repositorys git clonegit push, git pull auf die er Zugriff hat, aufzurufen und zu klonen, zu ihnen zu pushen und von ihnen abzurufen. Beispiel zum Klonen eines Repositorys:
git clone codecommit://
CodeAccess
@MyDemoRepo
Git-Commit-, Push- und Pull-Befehle verwenden reguläre Git-Syntax.
Wenn der Benutzer das AWS CLI und das AWS CLI benannte Profil verwendet, das mit den rotierenden Zugangsdaten verknüpft ist, werden Ergebnisse zurückgegeben, die auf dieses Profil beschränkt sind.