

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.

# Sicherheit in AWS CodeCommit
<a name="security"></a>

Cloud-Sicherheit AWS hat höchste Priorität. Als AWS Kunde profitieren Sie von einem Rechenzentrum und einer Netzwerkarchitektur, die darauf ausgelegt sind, die Anforderungen der sicherheitssensibelsten Unternehmen zu erfüllen.

Sicherheit ist eine gemeinsame Verantwortung von Ihnen AWS und Ihnen. Das [Modell der geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) beschreibt dies als Sicherheit *der* Cloud selbst und Sicherheit *in* der Cloud:
+ **Sicherheit der Cloud** — AWS ist verantwortlich für den Schutz der Infrastruktur, die AWS Dienste in der AWS Cloud ausführt. AWS bietet Ihnen auch Dienste, die Sie sicher nutzen können. Externe Prüfer testen und verifizieren regelmäßig die Wirksamkeit unserer Sicherheitsmaßnahmen im Rahmen der [AWS](https://aws.amazon.com/compliance/programs/) . Weitere Informationen zu den Compliance-Programmen, die für gelten AWS CodeCommit, finden Sie unter [AWS Services im Umfang nach Compliance-Programmen AWS](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sicherheit in der Cloud** — Ihre Verantwortung richtet sich nach dem AWS Dienst, den Sie nutzen. Sie sind auch für andere Faktoren verantwortlich, etwa für die Vertraulichkeit Ihrer Daten, für die Anforderungen Ihres Unternehmens und für die geltenden Gesetze und Vorschriften. 

Diese Dokumentation hilft Ihnen zu verstehen, wie Sie das Modell der gemeinsamen Verantwortung bei der Nutzung anwenden können CodeCommit. In den folgenden Themen erfahren Sie, wie Sie die Konfiguration vornehmen CodeCommit , um Ihre Sicherheits- und Compliance-Ziele zu erreichen. Sie erfahren auch, wie Sie andere AWS Dienste nutzen können, die Sie bei der Überwachung und Sicherung Ihrer CodeCommit Ressourcen unterstützen. 

**Topics**
+ [Datenschutz in AWS CodeCommit](data-protection.md)
+ [Identity and Access Management für AWS CodeCommit](security-iam.md)
+ [Resilienz in AWS CodeCommit](disaster-recovery-resiliency.md)
+ [Infrastruktursicherheit in AWS CodeCommit](infrastructure-security.md)

# Datenschutz in AWS CodeCommit
<a name="data-protection"></a>

Als verwalteter Service ist es durch AWS globale Netzwerksicherheit geschützt. Informationen zu AWS Sicherheitsdiensten und zum AWS Schutz der Infrastruktur finden Sie unter [AWS Cloud-Sicherheit](https://aws.amazon.com/security/). Informationen zum Entwerfen Ihrer AWS Umgebung unter Verwendung der bewährten Methoden für die Infrastruktursicherheit finden Sie unter [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected Framework*.

Sie verwenden AWS veröffentlichte API-Aufrufe für den Zugriff über das Netzwerk. Kunden müssen Folgendes unterstützen:
+ Transport Layer Security (TLS). Wir benötigen TLS 1.2 und empfehlen TLS 1.3.
+ Verschlüsselungs-Suiten mit Perfect Forward Secrecy (PFS) wie DHE (Ephemeral Diffie-Hellman) oder ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Die meisten modernen Systeme wie Java 7 und höher unterstützen diese Modi.

CodeCommit Repositorys werden im Ruhezustand automatisch verschlüsselt. Es ist keine Kundenaktion erforderlich. CodeCommit verschlüsselt Repository-Daten auch während der Übertragung. Sie können entweder das HTTPS-Protokoll, das SSH-Protokoll oder beide mit CodeCommit Repositorys verwenden. Weitere Informationen finden Sie unter [Einrichtung für AWS CodeCommit](setting-up.md). Sie können auch den [kontoübergreifenden Zugriff auf](cross-account.md) Repositorys konfigurieren. CodeCommit 

**Topics**
+ [AWS Key Management Service und Verschlüsselung für AWS CodeCommit Repositorien](encryption.md)
+ [Verbindung zu AWS CodeCommit Repositorys mit rotierenden Anmeldeinformationen herstellen](temporary-access.md)

# AWS Key Management Service und Verschlüsselung für AWS CodeCommit Repositorien
<a name="encryption"></a>

Daten in CodeCommit Repositorys werden bei der Übertragung und im Speicher verschlüsselt. Wenn Daten in ein CodeCommit Repository übertragen werden (z. B. durch einen Anruf**git push**), werden die empfangenen Daten so CodeCommit verschlüsselt, wie sie im Repository gespeichert sind. Wenn Daten aus einem CodeCommit Repository abgerufen werden (z. B. durch einen Anruf**git pull**), werden die Daten CodeCommit entschlüsselt und anschließend an den Aufrufer gesendet. Dabei wird davon ausgegangen, dass der mit der Push- oder Pull-Anfrage verknüpfte IAM-Benutzer von authentifiziert wurde. AWS Gesendete oder empfangene Daten werden über die HTTPS- oder SSH-verschlüsselten Netzwerkprotokolle übertragen.

Sie können entweder einen Von AWS verwalteter Schlüssel oder einen vom Kunden verwalteten Schlüssel zum Verschlüsseln und Entschlüsseln der Daten in Ihrem Repository verwenden. Weitere Informationen zu den Unterschieden zwischen vom Kunden verwalteten Schlüsseln und finden Sie unter Von AWS verwaltete Schlüssel Vom [Kunden verwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt) und. Von AWS verwaltete Schlüssel Wenn Sie keinen vom Kunden verwalteten Schlüssel angeben, verwenden CodeCommit Sie einen Von AWS verwalteter Schlüssel zum Verschlüsseln und Entschlüsseln der Daten in Ihrem Repository. Dieser Von AWS verwalteter Schlüssel wird automatisch für Sie in Ihrem erstellt. AWS-Konto Wenn Sie zum ersten Mal ein CodeCommit Repository in einem neuen Konto AWS-Region in Ihrem Amazon Web Services Services-Konto erstellen und keinen vom Kunden verwalteten Schlüssel angeben, CodeCommit wird in demselben AWS-Region in Von AWS verwalteter Schlüssel () ein AWS Key Management Service (der `aws/codecommit` Schlüssel AWS KMS) erstellt. Dieser `aws/codecommit` Schlüssel wird nur von verwendet CodeCommit. Es ist in Ihrem Amazon Web Services Services-Konto gespeichert. Je nachdem, was Sie angeben, wird CodeCommit entweder der vom Kunden verwaltete Schlüssel oder der Von AWS verwalteter Schlüssel zum Verschlüsseln und Entschlüsseln der Daten im Repository verwendet. 

**Wichtig**  
 CodeCommit führt die folgenden AWS KMS Aktionen mit dem AWS KMS Schlüssel aus, der zum Verschlüsseln und Entschlüsseln von Daten in einem Repository verwendet wird. Wenn Sie einen verwenden Von AWS verwalteter Schlüssel, benötigt ein Benutzer keine ausdrücklichen Berechtigungen für diese Aktionen, aber dem Benutzer dürfen keine Richtlinien zugeordnet sein, die diese Aktionen für den `aws/codecommit` Schlüssel verweigern. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, für den eine AWS-Konto ID als Richtlinienprinzipal festgelegt ist, müssen diese Berechtigungen explizit auf festgelegt werden`allow`. Insbesondere wenn Sie Ihr erstes Repository erstellen und Schlüssel für Ihr Repository aktualisieren, darf keine der folgenden Berechtigungen aktiviert sein, wenn Sie einen verwenden Von AWS verwalteter Schlüssel, und müssen auf gesetzt sein, `deny` wenn Sie einen vom Kunden verwalteten Schlüssel mit einem Policy-Prinzipal verwenden: `allow`  
`"kms:Encrypt"`
`"kms:Decrypt"`
`"kms:ReEncrypt"`(Je nach Kontext kann dies Folgendes erfordern`kms:ReEncryptFrom`:   
`kms:ReEncryptTo`, oder `kms:ReEncrypt*` nicht auf Verweigern gesetzt)
`"kms:GenerateDataKey"`
`"kms:GenerateDataKeyWithoutPlaintext"`
`"kms:DescribeKey"`

Wenn Sie Ihren eigenen, vom Kunden verwalteten Schlüssel verwenden möchten, muss der Schlüssel dort verfügbar sein, AWS-Region wo sich das Repository befindet. CodeCommit unterstützt die Verwendung von kundenverwalteten Schlüsseln sowohl für einzelne als auch für mehrere Regionen. Es werden zwar alle wichtigen Materialherkunftstypen unterstützt, wir empfehlen jedoch, die Standardoption **KMS** zu verwenden. Bei Kunden, die die Option **Externer Schlüsselspeicher** verwenden, kann es zu Verzögerungen bei ihrem Shop-Anbieter kommen. Darüber hinaus. CodeCommit hat die folgenden Anforderungen für vom Kunden verwaltete Schlüssel:
+ CodeCommit unterstützt nur die Verwendung symmetrischer Schlüssel.
+ Der Schlüsselverwendungstyp muss auf Verschlüsseln **und Entschlüsseln** gesetzt sein.

Weitere Informationen zur Erstellung von kundenverwalteten Schlüsseln finden Sie unter [Konzepte](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt) und Schlüssel [erstellen](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).

Gehen Sie wie folgt vor, um Informationen über die Datei zu erhalten CodeCommit, die von Von AWS verwalteter Schlüssel generiert wurde:

1. Melden Sie sich bei der AWS Key Management Service (AWS KMS) -Konsole an AWS-Managementkonsole und öffnen Sie sie unter [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Um das zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

1. Wählen Sie im Navigationsbereich des Dienstes. **Von AWS verwaltete Schlüssel** Stellen Sie sicher, dass Sie bei dem Ort angemeldet sind, in AWS-Region dem Sie die Schlüssel überprüfen möchten. 

1. Wählen Sie in der Liste der Verschlüsselungsschlüssel den Von AWS verwalteter Schlüssel mit dem Alias **aws/codecommit** aus. Grundlegende Informationen über die AWS-eigener Schlüssel werden angezeigt.

Sie können dies nicht ändern oder löschen Von AWS verwalteter Schlüssel. 

## Wie Verschlüsselungsalgorithmen zur Verschlüsselung von Repository-Daten verwendet werden
<a name="encryption-algorithms"></a>

CodeCommit verwendet zwei verschiedene Ansätze zur Verschlüsselung von Daten. Einzelne Git-Objekte unter 6 MB werden mit AES-GCM-256 verschlüsselt, was eine Validierung der Datenintegrität ermöglicht. Objekte zwischen 6 MB und maximal 2 GB für ein einzelnes Blob werden mit AES-CBC-256 verschlüsselt. CodeCommit validiert immer den Verschlüsselungskontext.

## Verschlüsselungskontext
<a name="encryption-context"></a>

Jeder Dienst, in AWS KMS den integriert ist, spezifiziert einen Verschlüsselungskontext für die Verschlüsselungs- und Entschlüsselungsvorgänge. Der Verschlüsselungskontext enthält zusätzliche authentifizierte Informationen, anhand derer AWS KMS die Datenintegrität überprüft. Wenn dieser für den Verschlüsselungsvorgang angegeben ist, muss er auch für den Entschlüsselungsvorgang angegeben werden. Andernfalls schlägt die Entschlüsselung fehl. CodeCommit verwendet die CodeCommit Repository-ID für den Verschlüsselungskontext. Sie können den **get-repository** Befehl oder die CodeCommit Konsole verwenden, um die Repository-ID zu ermitteln. Suchen Sie in den AWS CloudTrail Protokollen nach der CodeCommit Repository-ID, um zu erfahren, welche Verschlüsselungsvorgänge mit welchem Schlüssel durchgeführt wurden AWS KMS , um Daten im Repository zu verschlüsseln oder zu entschlüsseln. CodeCommit 

Weitere Informationen AWS KMS dazu finden Sie im [AWS Key Management Service Entwicklerhandbuch](https://docs.aws.amazon.com/kms/latest/developerguide/).

# Verbindung zu AWS CodeCommit Repositorys mit rotierenden Anmeldeinformationen herstellen
<a name="temporary-access"></a>

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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) 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](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) 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](cross-account.md). 

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 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 ist**git-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](setting-up-git-remote-codecommit.md).   
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 Amazon EC2 EC2-Instance angemeldet.
+ Sie verwenden Git und HTTPS mit dem AWS CLI Credential Helper, um eine Verbindung von der Amazon EC2 EC2-Instance zu CodeCommit Repositorys herzustellen.
+ Die Amazon EC2 EC2-Instance hat ein angehängtes IAM-Instance-Profil, das die unter oder beschriebenen Zugriffsberechtigungen enthält. [Für HTTPS-Verbindungen unter Linux, macOS oder Unix mit dem AWS CLI Credential Helper](setting-up-https-unixes.md) [Für HTTPS-Verbindungen unter Windows mit dem Credential Helper AWS CLI ](setting-up-https-windows.md)
+ Sie haben den Git Credential Helper auf der Amazon EC2 EC2-Instance installiert und konfiguriert, wie unter oder beschrieben[Für HTTPS-Verbindungen unter Linux, macOS oder Unix mit dem AWS CLI Credential Helper](setting-up-https-unixes.md). [Für HTTPS-Verbindungen unter Windows mit dem Credential Helper AWS CLI ](setting-up-https-windows.md)

Amazon EC2 EC2-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 Amazon EC2 EC2-Instances konfigurieren und verwenden**git-remote-codecommit**.

Gehen Sie wie folgt vor, um Benutzern temporären Zugriff auf Ihre CodeCommit Repositorys zu gewähren.



## Schritt 1: Erfüllen der Voraussetzungen
<a name="temporary-access-prerequisites"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-walkthrough-crossacct.html) und. [Konfiguriere den kontoübergreifenden Zugriff auf ein AWS CodeCommit Repository mithilfe von Rollen](cross-account.md)
+ [Informationen zu SAML und Verbund finden Sie unter [Verwenden des Authentifizierungssystems Ihrer Organisation, um Zugriff auf AWS Ressourcen zu gewähren](https://docs.aws.amazon.com/STS/latest/UsingSTS/STSUseCases.html#IdentityBrokerApplication) und Über den SAML 2.0-basierten Verbund. AWS STS](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSAML.html)
+ Informationen zu MFA finden Sie unter [Verwenden von Multi-Factor Authentication (MFA) -Geräten mit AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingMFA.html) und [Erstellen temporärer Sicherheitsanmeldedaten, um den Zugriff für IAM-Benutzer zu ermöglichen](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSessionTokens.html).
+ Informationen zur Login with Amazon, Amazon Cognito, Facebook, Google oder einem anderen OIDC-kompatiblen Identitätsanbieter finden Sie unter [Über AWS STS](https://docs.aws.amazon.com/STS/latest/UsingSTS/web-identity-federation.html) Web Identity Federation.

Verwenden Sie die Informationen in[Authentifizierung und Zugriffskontrolle für AWS CodeCommit](auth-and-access-control.md), um die CodeCommit Berechtigungen anzugeben, die Sie dem Benutzer gewähren möchten.

## Schritt 2: Holen Sie sich den Rollennamen oder die Zugangsdaten
<a name="temporary-access-get-credentials"></a>

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](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) auf oder rufen Sie die API auf. AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)
+ [Rufen Sie für SAML den AWS CLI[assume-role-with-saml](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)Befehl oder die SAML-API auf. AWS STS AssumeRoleWith](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)
+ Rufen Sie für den Verbund die [get-federation-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html)Befehle AWS CLI [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) oder oder or auf. AWS STS [AssumeRole[GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) APIs
+ Rufen Sie für MFA den AWS CLI [get-session-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-session-token.html)Befehl oder die AWS STS [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)API 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](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html) auf. AWS STS [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)



## Schritt 3: Installieren und konfigurieren Sie den git-remote-codecommit AWS CLI
<a name="temporary-access-configure-credentials"></a>

Sie müssen Ihren lokalen Computer so konfigurieren, dass die Anmeldeinformationen verwendet werden, indem Sie [https://pypi.org/project/git-remote-codecommit/](https://pypi.org/project/git-remote-codecommit/) installieren und ein Profil in der AWS CLI konfigurieren.

1. Folgen Sie den Anweisungen in [Einrichtung ](setting-up.md), 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.

1. 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 Namen *CodeAccess* annimmt. *CodeCommitAccess* Der Benutzername *Maria\$1Garcia* 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 --profile CodeAccess
     aws configure set source_profile default --profile CodeAccess
     aws configure set role_session_name "Maria_Garcia" --profile CodeAccess
     ```

     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 die *CodeCommitAccess* Rolle übernimmt und eine Web-Identity-Token-Datei \$1/ *my-credentials* */my-token-file* verwendet:

     ```
     [CodeCommitWebIdentity]
     role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
     web_identity_token_file=~/my-credentials/my-token-file
     role_session_name = Maria_Garcia
     ```

   Weitere Informationen finden Sie unter [Konfiguration AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) und [Verwendung einer IAM-Rolle AWS CLI im AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html) *Benutzerhandbuch*.

## Schritt 4: Greifen Sie auf die Repositorys zu CodeCommit
<a name="temporary-access-use-credentials"></a>

Angenommen, Ihr Benutzer hat die Anweisungen unter befolgt, [Herstellen einer Verbindung mit einem Repository](how-to-connect.md) 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 clone****git 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.



# Identity and Access Management für AWS CodeCommit
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) hilft einem Administrator AWS-Service , den Zugriff auf AWS Ressourcen sicher zu kontrollieren. IAM-Administratoren kontrollieren, wer *authentifiziert* (angemeldet) und *autorisiert* werden kann (über Berechtigungen verfügt), um Ressourcen zu verwenden. CodeCommit IAM ist ein Programm AWS-Service , das Sie ohne zusätzliche Kosten nutzen können.

**Topics**
+ [Zielgruppe](#security_iam_audience)
+ [Authentifizierung mit Identitäten](#security_iam_authentication)
+ [Verwalten des Zugriffs mit Richtlinien](#security_iam_access-manage)
+ [Authentifizierung und Zugriffskontrolle für AWS CodeCommit](auth-and-access-control.md)
+ [Wie AWS CodeCommit funktioniert mit IAM](security_iam_service-with-iam.md)
+ [CodeCommit ressourcenbasierte Richtlinien](#security_iam_service-with-iam-resource-based-policies)
+ [Autorisierung auf der Grundlage von Tags CodeCommit](#security_iam_service-with-iam-tags)
+ [CodeCommit IAM-Rollen](#security_iam_service-with-iam-roles)
+ [AWS CodeCommit Beispiele für identitätsbasierte Richtlinien](#security_iam_id-based-policy-examples)
+ [Problembehandlung bei AWS CodeCommit Identität und Zugriff](#security_iam_troubleshoot)

## Zielgruppe
<a name="security_iam_audience"></a>

Wie Sie AWS Identity and Access Management (IAM) verwenden, hängt von Ihrer Rolle ab:
+ **Servicebenutzer** – Fordern Sie von Ihrem Administrator Berechtigungen an, wenn Sie nicht auf Features zugreifen können (siehe [Problembehandlung bei AWS CodeCommit Identität und Zugriff](#security_iam_troubleshoot)).
+ **Serviceadministrator** – Bestimmen Sie den Benutzerzugriff und stellen Sie Berechtigungsanfragen (siehe [Wie AWS CodeCommit funktioniert mit IAM](security_iam_service-with-iam.md)).
+ **IAM-Administrator** – Schreiben Sie Richtlinien zur Zugriffsverwaltung (siehe [AWS CodeCommit Beispiele für identitätsbasierte Richtlinien](#security_iam_id-based-policy-examples)).

## Authentifizierung mit Identitäten
<a name="security_iam_authentication"></a>

Authentifizierung ist die Art und Weise, wie Sie sich AWS mit Ihren Identitätsdaten anmelden. Sie müssen sich als IAM-Benutzer authentifizieren oder eine IAM-Rolle annehmen. Root-Benutzer des AWS-Kontos

Sie können sich als föderierte Identität anmelden, indem Sie Anmeldeinformationen aus einer Identitätsquelle wie AWS IAM Identity Center (IAM Identity Center), Single Sign-On-Authentifizierung oder Anmeldeinformationen verwenden. Google/Facebook Weitere Informationen zum Anmelden finden Sie unter [So melden Sie sich bei Ihrem AWS-Konto an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *Benutzerhandbuch für AWS-Anmeldung *.

 AWS Bietet für den programmatischen Zugriff ein SDK und eine CLI zum kryptografischen Signieren von Anfragen. Weitere Informationen finden Sie unter [AWS Signature Version 4 for API requests](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) im *IAM-Benutzerhandbuch*.

### AWS-Konto Root-Benutzer
<a name="security_iam_authentication-rootuser"></a>

 Wenn Sie einen erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, dem sogenannten AWS-Konto *Root-Benutzer*, der vollständigen Zugriff auf alle AWS-Services Ressourcen hat. Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden. Eine Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter [Tasks that require root user credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) im *IAM-Benutzerhandbuch*. 

### IAM-Benutzer und -Gruppen
<a name="security_iam_authentication-iamuser"></a>

Ein *[IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* ist eine Identität mit bestimmten Berechtigungen für eine einzelne Person oder Anwendung. Wir empfehlen die Verwendung temporärer Anmeldeinformationen anstelle von IAM-Benutzern mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [Erfordern, dass menschliche Benutzer für den Zugriff AWS mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) verwenden müssen.

Eine [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spezifiziert eine Sammlung von IAM-Benutzern und erleichtert die Verwaltung von Berechtigungen für große Gruppen von Benutzern. Weitere Informationen finden Sie unter [Anwendungsfälle für IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) im *IAM-Benutzerhandbuch*.

### IAM-Rollen
<a name="security_iam_authentication-iamrole"></a>

Eine *[IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* ist eine Identität mit spezifischen Berechtigungen, die temporäre Anmeldeinformationen bereitstellt. Sie können eine Rolle übernehmen, indem Sie [von einer Benutzer- zu einer IAM-Rolle (Konsole) wechseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) AWS CLI oder einen AWS API-Vorgang aufrufen. Weitere Informationen finden Sie unter [Methoden, um eine Rolle zu übernehmen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) im *IAM-Benutzerhandbuch*.

IAM-Rollen sind nützlich für den Verbundbenutzer-Zugriff, temporäre IAM-Benutzerberechtigungen, kontoübergreifenden Zugriff, serviceübergreifenden Zugriff und Anwendungen, die auf Amazon EC2 laufen. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

## Verwalten des Zugriffs mit Richtlinien
<a name="security_iam_access-manage"></a>

Sie kontrollieren den Zugriff, AWS indem Sie Richtlinien erstellen und diese an AWS Identitäten oder Ressourcen anhängen. Eine Richtlinie definiert Berechtigungen, wenn sie mit einer Identität oder Ressource verknüpft sind. AWS bewertet diese Richtlinien, wenn ein Principal eine Anfrage stellt. Die meisten Richtlinien werden AWS als JSON-Dokumente gespeichert. Weitere Informationen zu JSON-Richtliniendokumenten finden Sie unter [Übersicht über JSON-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) im *IAM-Benutzerhandbuch*.

Mit Hilfe von Richtlinien legen Administratoren fest, wer Zugriff auf was hat, indem sie definieren, welches **Prinzipal** welche **Aktionen** auf welchen **Ressourcen**und unter welchen **Bedingungen**durchführen darf.

Standardmäßig haben Benutzer, Gruppen und Rollen keine Berechtigungen. Ein IAM-Administrator erstellt IAM-Richtlinien und fügt sie zu Rollen hinzu, die die Benutzer dann übernehmen können. IAM-Richtlinien definieren Berechtigungen unabhängig von der Methode, die zur Ausführung der Operation verwendet wird.

### Identitätsbasierte Richtlinien
<a name="security_iam_access-manage-id-based-policies"></a>

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität (Benutzer, Gruppe oder Rolle) anfügen können. Diese Richtlinien steuern, welche Aktionen Identitäten für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter [Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Identitätsbasierte Richtlinien können *Inline-Richtlinien* (direkt in eine einzelne Identität eingebettet) oder *verwaltete Richtlinien* (eigenständige Richtlinien, die mit mehreren Identitäten verbunden sind) sein. Informationen dazu, wie Sie zwischen verwalteten und Inline-Richtlinien wählen, finden Sie unter [Choose between managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) im *IAM-Benutzerhandbuch*.

### Ressourcenbasierte Richtlinien
<a name="security_iam_access-manage-resource-based-policies"></a>

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele hierfür sind *Vertrauensrichtlinien für IAM-Rollen* und Amazon S3*-Bucket-Richtlinien*. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Sie müssen in einer ressourcenbasierten Richtlinie [einen Prinzipal angeben](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

Ressourcenbasierte Richtlinien sind Richtlinien innerhalb dieses Diensts. Sie können AWS verwaltete Richtlinien von IAM nicht in einer ressourcenbasierten Richtlinie verwenden.

### Zugriffskontrolllisten () ACLs
<a name="security_iam_access-manage-acl"></a>

Zugriffskontrolllisten (ACLs) steuern, welche Principals (Kontomitglieder, Benutzer oder Rollen) über Zugriffsberechtigungen für eine Ressource verfügen. ACLs ähneln ressourcenbasierten Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

Amazon S3 und Amazon VPC sind Beispiele für Dienste, die Unterstützung ACLs bieten. AWS WAF Weitere Informationen finden Sie unter [Übersicht über ACLs die Zugriffskontrollliste (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) im *Amazon Simple Storage Service Developer Guide*.

### Weitere Richtlinientypen
<a name="security_iam_access-manage-other-policies"></a>

AWS unterstützt zusätzliche Richtlinientypen, mit denen die maximalen Berechtigungen festgelegt werden können, die durch gängigere Richtlinientypen gewährt werden:
+ **Berechtigungsgrenzen** – Eine Berechtigungsgrenze legt die maximalen Berechtigungen fest, die eine identitätsbasierte Richtlinie einer IAM-Entität erteilen kann. Weitere Informationen finden Sie unter [Berechtigungsgrenzen für IAM-Entitäten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) im *-IAM-Benutzerhandbuch*.
+ **Richtlinien zur Dienstkontrolle (SCPs)** — Geben Sie die maximalen Berechtigungen für eine Organisation oder Organisationseinheit in an AWS Organizations. Weitere Informationen finden Sie unter [Service-Kontrollrichtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) im *AWS Organizations -Benutzerhandbuch*.
+ **Richtlinien zur Ressourcenkontrolle (RCPs)** — Legen Sie die maximal verfügbaren Berechtigungen für Ressourcen in Ihren Konten fest. Weitere Informationen finden Sie im *AWS Organizations Benutzerhandbuch* unter [Richtlinien zur Ressourcenkontrolle (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html).
+ **Sitzungsrichtlinien** – Sitzungsrichtlinien sind erweiterte Richtlinien, die als Parameter übergeben werden, wenn Sie eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer erstellen. Weitere Informationen finden Sie unter [Sitzungsrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) im *IAM-Benutzerhandbuch*.

### Mehrere Richtlinientypen
<a name="security_iam_access-manage-multiple-policies"></a>

Wenn für eine Anfrage mehrere Arten von Richtlinien gelten, sind die daraus resultierenden Berechtigungen schwieriger zu verstehen. Informationen darüber, wie AWS bestimmt wird, ob eine Anfrage zulässig ist, wenn mehrere Richtlinientypen betroffen sind, finden Sie unter [Bewertungslogik für Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) im *IAM-Benutzerhandbuch*.

# Authentifizierung und Zugriffskontrolle für AWS CodeCommit
<a name="auth-and-access-control"></a>

Für den Zugriff auf AWS CodeCommit sind Anmeldeinformationen erforderlich. Diese Anmeldeinformationen müssen über Zugriffsberechtigungen für AWS Ressourcen wie CodeCommit Repositorys und Ihren IAM-Benutzer verfügen, mit dem Sie Ihre Git-Anmeldeinformationen oder den öffentlichen SSH-Schlüssel verwalten, den Sie für die Herstellung von Git-Verbindungen verwenden. In den folgenden Abschnitten erfahren Sie, wie Sie [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) verwenden und CodeCommit wie Sie den Zugriff auf Ihre Ressourcen sichern können:
+ [Authentifizierung](#authentication)
+ [Zugriffskontrolle](#access-control)

## Authentifizierung
<a name="authentication"></a>

Da CodeCommit Repositorys Git-basiert sind und die grundlegenden Funktionen von Git unterstützen, einschließlich Git-Anmeldeinformationen, empfehlen wir, dass Sie bei der Arbeit mit einem IAM-Benutzer arbeiten. CodeCommit Du kannst CodeCommit mit anderen Identitätstypen darauf zugreifen, aber die anderen Identitätstypen unterliegen Einschränkungen, wie unten beschrieben.

Identitätstypen:
+ **IAM-Benutzer** — Ein [IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) ist eine Identität innerhalb Ihres Amazon Web Services Services-Kontos, die über spezifische benutzerdefinierte Berechtigungen verfügt. Ein IAM-Benutzer kann beispielsweise über Berechtigungen zum Erstellen und Verwalten von Git-Anmeldeinformationen für den Zugriff auf CodeCommit Repositorys verfügen. **Dies ist der empfohlene Benutzertyp für die Arbeit mit. CodeCommit** [Sie können einen IAM-Benutzernamen und ein Passwort verwenden, um sich auf sicheren AWS Webseiten wie den [AWS-ManagementkonsoleAWS](https://console.aws.amazon.com/)[Diskussionsforen](https://forums.aws.amazon.com/) oder dem AWS Support Center anzumelden.](https://console.aws.amazon.com/support/home#/) 

  Sie können Git-Anmeldeinformationen generieren oder öffentliche SSH-Schlüssel mit Ihrem IAM-Benutzer verknüpfen, oder Sie können sie installieren und konfigurieren. **git-remote-codecommit** Dies sind die einfachsten Möglichkeiten, Git so einzurichten, dass es mit deinen CodeCommit Repositorys funktioniert. Mit [Git-Anmeldeinformationen](setting-up-gc.md) generieren Sie einen statischen Benutzernamen und ein statisches Passwort in IAM. Sie können dieselben Anmeldeinformationen für HTTPS-Verbindungen dann auch mit Git und jedem Drittanbieter-Tool verwenden, das die Authentifizierung mit Git-Benutzername und -Passwort unterstützt. Mit SSH-Verbindungen erstellen Sie öffentliche und private Schlüsseldateien auf Ihrem lokalen Computer, die Git CodeCommit verwenden und für die SSH-Authentifizierung verwenden. Sie verknüpfen den öffentlichen Schlüssel mit Ihrem IAM-Benutzer und speichern den privaten Schlüssel auf Ihrem lokalen Computer. **[git-remote-codecommit](setting-up-git-remote-codecommit.md)**erweitert Git selbst und erfordert keine Einrichtung von Git-Anmeldeinformationen für den Benutzer.

  Darüber hinaus können Sie [Zugriffsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) für jeden Benutzer erstellen. Verwenden Sie Zugriffstasten, wenn Sie programmgesteuert auf AWS Dienste zugreifen, entweder über [einen der AWS SDKs](https://aws.amazon.com/tools/) oder mithilfe von [AWS Command Line Interface ()AWS CLI](https://aws.amazon.com/cli/). Das SDK und die CLI-Tools verwenden die Zugriffsschlüssel, um Ihre Anfragen verschlüsselt zu signieren. Wenn Sie die AWS Tools nicht verwenden, müssen Sie die Anfragen selbst signieren. CodeCommit unterstützt *Signature Version 4*, ein Protokoll zur Authentifizierung eingehender API-Anfragen. Weitere Informationen zur Authentifizierung von Anfragen finden Sie unter [Signature Version 4-Signaturprozess](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) im *Allgemeine AWS-Referenz*.
+ **Root-Benutzer für das Amazon Web Services Services-Konto** — Wenn Sie sich registrieren AWS, geben Sie eine E-Mail-Adresse und ein Passwort an, die mit Ihrem Amazon Web Services Services-Konto verknüpft sind. Dies sind Ihre *Root-Anmeldeinformationen*. Sie bieten vollständigen Zugriff auf alle Ihre AWS -Ressourcen. Einige CodeCommit Funktionen sind für Benutzer mit Root-Konten nicht verfügbar. Darüber hinaus besteht die einzige Möglichkeit, Git mit Ihrem Root-Konto zu verwenden, darin, entweder den Credential Helper zu installieren und zu konfigurieren **git-remote-codecommit** (empfohlen) oder den AWS Credential Helper zu konfigurieren, der AWS CLI im Lieferumfang von enthalten ist. Sie können mit Ihrem Stammkonto-Benutzer keine GIT-Anmeldeinformationen oder öffentliche/private SSH-Schlüsselpaare verwenden. Aus diesen Gründen empfehlen wir nicht, den Benutzer Ihres Root-Kontos zu verwenden, wenn Sie mit CodeCommit interagieren.
**Wichtig**  
Aus Sicherheitsgründen empfehlen wir, die Root-Anmeldeinformationen nur zum Erstellen eines *Administrator-Benutzers* zu verwenden. Hierbei handelt es sich um einen *IAM-Benutzer* mit vollständigen Berechtigungen für Ihr AWS -Konto. Anschließend können Sie mit diesem Administrator-Benutzer andere IAM-Benutzer und -Rollen mit eingeschränkten Berechtigungen erstellen. Weitere Informationen finden Sie unter [Bewährte Methoden für IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users) und [Erstellen eines Administratorbenutzers und einer Gruppe](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) im *IAM-Benutzerhandbuch*.
+ **IAM Identity Center und Benutzer in IAM Identity Center** — AWS IAM Identity Center erweitert die Funktionen von AWS Identity and Access Management und bietet einen zentralen Ort, an dem die Benutzerverwaltung und deren Zugriff auf Cloud-Anwendungen sowie deren Zugriff auf Cloud-Anwendungen AWS-Konten zusammengeführt werden. Obwohl IAM Identity Center für die meisten Benutzer, die damit arbeiten AWS, als bewährte Methode empfohlen wird, bietet es derzeit keine Mechanismen für Git-Anmeldeinformationen oder SSH-Schlüsselpaare. Diese Benutzer können CodeCommit Repositorys so installieren und konfigurieren, **git-remote-codecommit** dass sie lokal geklont werden, aber nicht alle integrierten Entwicklungsumgebungen (IDEs) unterstützen das Klonen, Pushen oder Ziehen mit. **git-remote-codecommit**

  Als bewährte Methode sollten menschliche Benutzer für den Zugriff AWS-Services mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter verwenden.

  Eine *föderierte Identität* ist ein Benutzer aus Ihrem Unternehmensverzeichnis, Ihrem Directory Service Web-Identitätsanbieter oder der AWS-Services mithilfe von Anmeldeinformationen aus einer Identitätsquelle zugreift. Verbundene Identitäten übernehmen Rollen, die temporäre Anmeldeinformationen bereitstellen.

  Für die zentrale Zugriffsverwaltung empfehlen wir AWS IAM Identity Center. Weitere Informationen finden Sie unter [Was ist IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ **IAM-Rolle** — Wie ein IAM-Benutzer ist auch eine [IAM-Rolle eine IAM-Identität](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html), die Sie in Ihrem Konto erstellen können, um bestimmte Berechtigungen zu gewähren.

  Eine *[IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* ist eine Identität mit spezifischen Berechtigungen, die temporäre Anmeldeinformationen bereitstellt. Sie können eine Rolle übernehmen, indem Sie [von einem Benutzer zu einer IAM-Rolle (Konsole) wechseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) oder einen API-Vorgang aufrufen. AWS CLI AWS Weitere Informationen finden Sie unter [Methoden, um eine Rolle zu übernehmen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) im *IAM-Benutzerhandbuch*.

  IAM-Rollen sind nützlich für den Verbundbenutzer-Zugriff, temporäre IAM-Benutzerberechtigungen, kontoübergreifenden Zugriff, serviceübergreifenden Zugriff und Anwendungen, die auf Amazon EC2 laufen. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.
**Anmerkung**  
 Sie können mit verbundenen Benutzern keine GIT-Anmeldeinformationen oder öffentliche/private SSH-Schlüsselpaare verwenden. Darüber hinaus stehen für verbundene Benutzer keine Benutzereinstellungen zur Verfügung. Informationen zum Einrichten von Verbindungen mithilfe des Verbundzugriffs finden Sie unter [Einrichtungsschritte für HTTPS-Verbindungen AWS CodeCommit mit git-remote-codecommit](setting-up-git-remote-codecommit.md).

## Zugriffskontrolle
<a name="access-control"></a>

Sie können über gültige Anmeldeinformationen verfügen, um Ihre Anfragen zu authentifizieren, aber ohne die entsprechenden Berechtigungen können Sie keine CodeCommit Ressourcen erstellen oder darauf zugreifen. Beispielsweise müssen Sie über Berechtigungen zum Anzeigen von Repositorys, zum Senden von Code, zum Erstellen und Verwalten von Git-Anmeldeinformationen usw. verfügen.

In den folgenden Abschnitten wird beschrieben, wie Sie Berechtigungen für CodeCommit verwalten. Wir empfehlen Ihnen, zunächst die Übersicht zu lesen.
+ [Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre CodeCommit Ressourcen](#auth-and-access-control-iam-access-control-identity-based)
+ [Verwendung identitätsbasierter Richtlinien (IAM-Richtlinien) für CodeCommit](auth-and-access-control-iam-identity-based-access-control.md)
+ [CodeCommit Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md)

## Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre CodeCommit Ressourcen
<a name="auth-and-access-control-iam-access-control-identity-based"></a>

Jede AWS Ressource gehört einem Amazon Web Services Services-Konto. Die Berechtigungen zum Erstellen einer Ressource oder für den Zugriff darauf werden durch Berechtigungsrichtlinien geregelt. Ein Kontoadministrator kann Berechtigungsrichtlinien an IAM-Identitäten (Benutzer, Gruppen und Rollen) anfügen. Einige Dienste, wie z. B. AWS Lambda, unterstützen auch das Anhängen von Berechtigungsrichtlinien an Ressourcen. 

**Anmerkung**  
Ein *Kontoadministrator* (oder Administratorbenutzer) ist ein Benutzer mit Administratorrechten. Weitere Informationen finden Sie unter [Bewährte Methoden für IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

Beim Erteilen von Berechtigungen entscheiden Sie, wer die Berechtigungen erhält, für welche Ressourcen die Berechtigungen gelten und welche Aktionen an diesen Ressourcen gestattet werden sollen.

**Topics**
+ [CodeCommit Ressourcen und Abläufe](#arn-formats)
+ [Grundlegendes zum Eigentum an Ressourcen](#understanding-resource-ownership)
+ [Verwaltung des Zugriffs auf -Ressourcen](#managing-access-resources)
+ [Eingrenzung des Ressourcenbereichs CodeCommit](#resource-scoping)
+ [Angeben der Richtlinienelemente: Ressourcen, Aktionen, Effekte und Prinzipale](#actions-effects-principals)
+ [Angeben von Bedingungen in einer Richtlinie](#policy-conditions)

### CodeCommit Ressourcen und Abläufe
<a name="arn-formats"></a>

 CodeCommitIn ist die primäre Ressource ein Repository. Jeder dieser Ressourcen ist ein eindeutiger Amazon-Ressourcenname (ARN) zugeordnet. In einer Richtlinie identifizieren Sie die Ressource, für welche die Richtlinie gilt, mithilfe eines Amazon-Ressourcennamens (ARN). Weitere Informationen zu ARNs finden Sie unter [Amazon Resource Names (ARN) und AWS Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in der. *Allgemeine Amazon Web Services-Referenz* CodeCommit unterstützt derzeit keine anderen Ressourcentypen, die als Unterressourcen bezeichnet werden.

In der folgenden Tabelle wird beschrieben, wie Ressourcen angegeben CodeCommit werden.


| Ressourcentyp | ARN-Format | 
| --- | --- | 
| Repository |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  Alle CodeCommit Repositorien  |  arn:aws:codecommit:\$1  | 
|  Alle CodeCommit Repositorys, die dem angegebenen Konto im angegebenen Konto gehören AWS-Region  |  arn:aws:codecommit::: \$1 *region* *account-id*  | 

**Anmerkung**  
Die meisten AWS Dienste behandeln einen Doppelpunkt (:) oder einen Schrägstrich (/) als dasselbe Zeichen. ARNs CodeCommit Erfordert jedoch eine exakte Übereinstimmung der Ressourcenmuster und Regeln. Verwenden Sie also die richtigen ARN-Zeichen zum Erstellen von Ereignismustern, sodass sie mit der ARN-Syntax in der Ressource übereinstimmen.

Sie können beispielsweise folgendermaßen ein bestimmtes Repository (*MyDemoRepo*) mit dem ARN in der Anweisung angeben:

```
"Resource": "arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo"
```

Um alle Repositorys anzugeben, die zu einem bestimmten Konto gehören, verwenden Sie das Platzhalterzeichen (\$1) wie folgt:

```
"Resource": "arn:aws:codecommit:us-west-2:111111111111:*"
```

Um alle Ressourcen anzugeben oder falls eine bestimmte API-Aktion dies nicht unterstützt ARNs, verwenden Sie das Platzhalterzeichen (\$1) im `Resource` Element wie folgt:

```
"Resource": "*"
```

Sie können auch das Platzhalterzeichen (\$1) verwenden, um alle Ressourcen anzugeben, die mit einem Teil eines Repository-Namen übereinstimmen. Der folgende ARN gibt beispielsweise jedes CodeCommit Repository an, das mit dem Namen beginnt `MyDemo` und das für das Amazon Web Services Services-Konto registriert ist `111111111111` in `us-east-2` AWS-Region:

```
arn:aws:codecommit:us-east-2:111111111111:MyDemo*
```

 Eine Liste der verfügbaren Operationen, die mit den CodeCommit Ressourcen arbeiten, finden Sie unter[CodeCommit Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md).

### Grundlegendes zum Eigentum an Ressourcen
<a name="understanding-resource-ownership"></a>

Das Amazon Web Services Services-Konto besitzt die Ressourcen, die im Konto erstellt wurden, unabhängig davon, wer sie erstellt hat. Insbesondere ist der Ressourcenbesitzer das Amazon Web Services Services-Konto der [Prinzipalentität](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) (d. h. das Root-Konto, ein IAM-Benutzer oder eine IAM-Rolle), das die Anfrage zur Ressourcenerstellung authentifiziert. Die Funktionsweise wird anhand der folgenden Beispiele deutlich:
+ Wenn Sie in Ihrem Amazon Web Services Services-Konto einen IAM-Benutzer erstellen und diesem Benutzer Berechtigungen zum Erstellen von CodeCommit Ressourcen gewähren, kann der Benutzer CodeCommit Ressourcen erstellen. Ihr Amazon Web Services Services-Konto, zu dem der Benutzer gehört, besitzt jedoch die CodeCommit Ressourcen.
+ Wenn Sie die Root-Kontoanmeldeinformationen Ihres Amazon Web Services Services-Kontos verwenden, um eine Regel zu erstellen, ist Ihr Amazon Web Services Services-Konto der Eigentümer der CodeCommit Ressource.
+ Wenn Sie in Ihrem Amazon Web Services Services-Konto eine IAM-Rolle mit Berechtigungen zum Erstellen von CodeCommit Ressourcen erstellen, kann jeder, der die Rolle übernehmen kann, CodeCommit Ressourcen erstellen. Ihr Amazon Web Services Services-Konto, zu dem die Rolle gehört, besitzt die CodeCommit Ressourcen.

### Verwaltung des Zugriffs auf -Ressourcen
<a name="managing-access-resources"></a>

Um den Zugriff auf AWS Ressourcen zu verwalten, verwenden Sie Berechtigungsrichtlinien. Eine *Berechtigungsrichtlinie* beschreibt, wer Zugriff auf welche Objekte hat. Im folgenden Abschnitt werden die Optionen zum Erstellen von Berechtigungsrichtlinien erläutert.

**Anmerkung**  
In diesem Abschnitt wird die Verwendung von IAM im Kontext von CodeCommit beschrieben. Er enthält keine detaillierten Informationen über den IAM-Service. Weitere Informationen zu IAM finden Sie unter [Was ist](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) IAM? im *IAM-Benutzerhandbuch*. Für Informationen über die Syntax und Beschreibungen von [-IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) lesen Sie die *IAM-Richtlinienreferenz im IAM-Benutzerhandbuch*.

Berechtigungsrichtlinien, die mit einer IAM-Identität verknüpft sind, werden als identitätsbasierte Richtlinien (IAM-Richtlinien) bezeichnet. An Ressourcen angehängte Berechtigungsrichtlinien werden als ressourcenbasierte Richtlinien bezeichnet. CodeCommitUnterstützt derzeit nur identitätsbasierte Richtlinien (IAM-Richtlinien).

**Topics**
+ [Identitätsbasierte Richtlinien (IAM-Richtlinien)](#identity-based-policies)
+ [Ressourcenbasierte Richtlinien](#resource-based-policies-overview)

#### Identitätsbasierte Richtlinien (IAM-Richtlinien)
<a name="identity-based-policies"></a>

Um den Zugriff auf AWS Ressourcen zu verwalten, fügen Sie Berechtigungsrichtlinien an IAM-Identitäten an. In verwenden Sie identitätsbasierte Richtlinien CodeCommit, um den Zugriff auf Repositorys zu steuern. Sie können z. B. Folgendes tun: 
+ **Ordnen Sie einem Benutzer oder einer Gruppe in Ihrem Konto eine Berechtigungsrichtlinie zu** — Um einem Benutzer Berechtigungen zum Anzeigen von CodeCommit Ressourcen in der CodeCommit Konsole zu gewähren, fügen Sie einem Benutzer oder einer Gruppe, zu der der Benutzer gehört, eine identitätsbasierte Berechtigungsrichtlinie hinzu.
+ Einer **Rolle eine Berechtigungsrichtlinie zuordnen (um kontoübergreifende Berechtigungen zu gewähren)** — Delegierung, z. B. wenn Sie kontenübergreifenden Zugriff gewähren möchten, beinhaltet die Einrichtung einer Vertrauensstellung zwischen dem Konto, dem die Ressource gehört (das vertrauenswürdige Konto), und dem Konto, das die Benutzer enthält, die auf die Ressource zugreifen müssen (dem vertrauenswürdigen Konto). Eine Berechtigungsrichtlinie erteilt dem Benutzer einer Rolle die erforderlichen Berechtigungen zum Ausführen der vorgesehenen Aufgaben auf der Ressource. Eine Vertrauensrichtlinie gibt an, welche vertrauenswürdigen Konten ihren Benutzern Berechtigungen zum Übernehmen der Rolle erteilen dürfen. Weitere Informationen finden Sie unter [IAM-Begriffe](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) und Konzepte. 

  Um kontoübergreifende Berechtigungen zu gewähren, fügen Sie einer IAM-Rolle eine identitätsbasierte Berechtigungsrichtlinie hinzu. Beispielsweise kann der Administrator in Konto A wie folgt eine Rolle erstellen, um einem anderen Amazon Web Services Services-Konto (z. B. Konto B) oder einem AWS Service kontoübergreifende Berechtigungen zu gewähren:

  1. Der Administrator von Konto A erstellt eine IAM-Rolle und fügt ihr eine Berechtigungsrichtlinie an, die Berechtigungen für Ressourcen in Konto A erteilt.

  1. Der Administrator von Konto A weist der Rolle eine Vertrauensrichtlinie zu, die Konto B als den Prinzipal identifiziert, der die Rolle übernehmen kann.

  1. Der Administrator von Konto B kann dann die Berechtigungen zur Übernahme der Rolle an alle Benutzer in Konto B delegieren. Auf diese Weise können Benutzer in Konto B Ressourcen in Konto A erstellen oder darauf zugreifen. Wenn Sie eine AWS Dienstberechtigung zur Übernahme der Rolle erteilen möchten, kann der Principal in der Vertrauensrichtlinie auch ein AWS Dienstprinzipal sein. Weitere Informationen finden Sie unter Delegierung in [IAM-Begriffen und Konzepten](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html).

  Weitere Informationen zum Delegieren von Berechtigungen mithilfe von IAM finden Sie unter [Zugriffsverwaltung](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) im *IAM-Benutzerhandbuch*.



Die folgende Beispielrichtlinie ermöglicht einem Benutzer das Erstellen eines Branch in einem Repository mit dem Namen *MyDemoRepo*:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:CreateBranch"
      ],
      "Resource" : "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo"
    }
  ]
}
```

------

Um die Aufrufe und Ressourcen einzuschränken, auf die Benutzer in Ihrem Konto Zugriff haben, erstellen Sie spezifische IAM-Richtlinien und fügen Sie diese Richtlinien dann IAM-Benutzern hinzu. Weitere Informationen zum Erstellen von IAM-Rollen und Beispiele für IAM-Richtlinienerklärungen finden Sie unter. CodeCommit [Beispiele für vom Kunden verwaltete Identitätsrichtlinien](customer-managed-policies.md#customer-managed-policies-identity) 

#### Ressourcenbasierte Richtlinien
<a name="resource-based-policies-overview"></a>

Einige Dienste, wie Amazon S3, unterstützen auch ressourcenbasierte Berechtigungsrichtlinien. Sie können beispielsweise eine ressourcenbasierte Richtlinie an einen S3-Bucket anhängen, um die Zugriffsberechtigungen für diesen Bucket zu verwalten. CodeCommit unterstützt keine ressourcenbasierten Richtlinien, aber Sie können Tags verwenden, um Ressourcen zu identifizieren, die Sie dann in IAM-Richtlinien verwenden können. Ein Beispiel für eine Tag-basierte Richtlinien finden Sie unter [Identitätsbasierte Richtlinien (IAM-Richtlinien)](#identity-based-policies). 

### Eingrenzung des Ressourcenbereichs CodeCommit
<a name="resource-scoping"></a>

In CodeCommit können Sie identitätsbasierte Richtlinien und Berechtigungen auf Ressourcen beschränken, wie unter beschrieben. [CodeCommit Ressourcen und Abläufe](#arn-formats) Sie können jedoch nicht die `ListRepositories`- Berechtigung auf eine Ressource anwenden. Stattdessen müssen Sie sie auf alle Ressourcen anwenden (mit dem Platzhalter `*`). Andernfalls schlägt die Aktion fehl. 

Alle anderen CodeCommit Berechtigungen können auf Ressourcen beschränkt werden.

### Angeben der Richtlinienelemente: Ressourcen, Aktionen, Effekte und Prinzipale
<a name="actions-effects-principals"></a>

Sie können Richtlinien erstellen, um Benutzern den Zugriff auf Ressourcen zu gewähren oder zu verweigern oder Benutzern zu erlauben oder zu verweigern, bestimmte Aktionen mit diesen Ressourcen durchzuführen. CodeCommit definiert eine Reihe von öffentlichen API-Vorgängen, die definieren, wie Benutzer mit dem Dienst arbeiten, unabhängig davon, ob dies über die CodeCommit Konsole SDKs, die AWS CLI, den oder durch deren direkten Aufruf erfolgt APIs. CodeCommit Definiert eine Reihe von Aktionen, die Sie in einer Richtlinie angeben können, um Berechtigungen für diese API-Operationen zu gewähren. 

Für einige API-Operationen können Berechtigungen für mehrere Aktionen erforderlich sein. Weitere Informationen zu Ressourcen und API-Operationen finden Sie unter [CodeCommit Ressourcen und Abläufe](#arn-formats) und [CodeCommit Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md).

Die Grundelemente einer Richtlinie sind:
+ **Ressource** — Um die Ressource zu identifizieren, für die die Richtlinie gilt, verwenden Sie einen Amazon-Ressourcennamen (ARN). Weitere Informationen finden Sie unter [CodeCommit Ressourcen und Abläufe](#arn-formats).
+ **Aktion** — Um Ressourcenoperationen zu identifizieren, die Sie zulassen oder verweigern möchten, verwenden Sie Aktionsschlüsselwörter. Je nach Angabe `Effect` erlaubt oder verweigert die `codecommit:GetBranch` Berechtigung dem Benutzer beispielsweise die Ausführung des `GetBranch` Vorgangs, bei dem Details zu einem Branch in einem CodeCommit Repository abgerufen werden.
+ **Wirkung** — Sie geben den Effekt an, der eintritt, wenn der Benutzer die bestimmte Aktion anfordert, entweder zulassen oder verweigern. Wenn Sie den Zugriff auf eine Ressource nicht ausdrücklich gestatten („Allow“), wird er automatisch verweigert. Sie können den Zugriff auf eine Ressource auch explizit verweigern. So können Sie sicherstellen, dass Benutzer nicht darauf zugreifen können, auch wenn der Zugriff durch eine andere Richtlinie gestattet wird.
+ **Prinzipal** — In identitätsbasierten Richtlinien (IAM-Richtlinien) CodeCommit unterstützt der einzige Richtlinientyp den Benutzer, dem die Richtlinie zugeordnet ist, der implizite Prinzipal. 

*Weitere Informationen zur IAM-Richtliniensyntax finden Sie unter [IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)*

Eine Tabelle mit allen CodeCommit API-Aktionen und den Ressourcen, für die sie gelten, finden Sie unter. [CodeCommit Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md)

### Angeben von Bedingungen in einer Richtlinie
<a name="policy-conditions"></a>

Wenn Sie Berechtigungen gewähren, verwenden Sie die Sprache der Zugriffsrichtlinie für IAM, um die Bedingungen anzugeben, unter denen eine Richtlinie wirksam werden soll. Beispielsweise kann festgelegt werden, dass eine Richtlinie erst ab einem bestimmten Datum gilt. Weitere Informationen zur Angabe von Bedingungen in einer Richtliniensprache finden Sie unter [Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition) und [Richtliniengrammatik](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) im *IAM-Benutzerhandbuch*.

Bedingungen werden mithilfe vordefinierter Bedingungsschlüssel formuliert. Für CodeCommit gibt es keine speziellen Bedingungsschlüssel. Es gibt jedoch Bedingungsschlüssel für AWS alle Bereiche, die Sie je nach Bedarf verwenden können. Eine vollständige Liste der AWS-weiten Schlüssel finden Sie unter [Verfügbare Schlüssel für Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) im *IAM-Benutzerhandbuch*. 

# Verwendung identitätsbasierter Richtlinien (IAM-Richtlinien) für CodeCommit
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

Die folgenden Beispiele für identitätsbasierte Richtlinien zeigen, wie ein Kontoadministrator Berechtigungsrichtlinien an IAM-Identitäten (Benutzer, Gruppen und Rollen) anhängen kann, um Berechtigungen zur Ausführung von Vorgängen mit Ressourcen zu erteilen. CodeCommit 

**Wichtig**  
Wir empfehlen Ihnen, zunächst die einführenden Themen zu lesen, in denen die grundlegenden Konzepte und Optionen für die Verwaltung des Zugriffs auf Ihre Ressourcen erläutert werden. CodeCommit Weitere Informationen finden Sie unter [Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre CodeCommit Ressourcen](auth-and-access-control.md#auth-and-access-control-iam-access-control-identity-based).

**Topics**
+ [Für die Verwendung der Konsole sind Berechtigungen erforderlich CodeCommit](#console-permissions)
+ [Anzeigen von Ressourcen in der Konsole](#console-resources)
+ [AWS verwaltete Richtlinien für CodeCommit](security-iam-awsmanpol.md)
+ [Beispiele für vom Kunden verwaltete Richtlinien](customer-managed-policies.md)

Nachstehend finden Sie ein Beispiel für eine identitätsbasierte Berechtigungsrichtlinie: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:BatchGetRepositories"
      ],
      "Resource" : [
        "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo",
        "arn:aws:codecommit:us-east-2:111122223333:MyDemo*"
      ]
    }
  ]
}
```

------

Diese Richtlinie enthält eine Erklärung, die es einem Benutzer ermöglicht, Informationen über das angegebene CodeCommit Repository `MyDestinationRepo` und alle CodeCommit Repositorys, die mit dem Namen beginnen, `MyDemo` in der **us-east-2** Region abzurufen. 

## Für die Verwendung der Konsole sind Berechtigungen erforderlich CodeCommit
<a name="console-permissions"></a>

Die erforderlichen Berechtigungen für jeden CodeCommit API-Vorgang sowie weitere Informationen zu CodeCommit Vorgängen finden Sie unter[CodeCommit Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md).

Damit Benutzer die CodeCommit Konsole verwenden können, muss ihnen der Administrator Berechtigungen für CodeCommit Aktionen gewähren. Sie könnten beispielsweise die [AWSCodeCommitPowerUser](security-iam-awsmanpol.md#managed-policies-poweruser)verwaltete Richtlinie oder eine entsprechende Richtlinie einem Benutzer oder einer Gruppe zuordnen.

Zusätzlich zu den Berechtigungen, die Benutzern durch identitätsbasierte Richtlinien gewährt werden, sind auch Berechtigungen für AWS Key Management Service (AWS KMS) -Aktionen CodeCommit erforderlich. Ein IAM-Benutzer benötigt keine ausdrücklichen `Allow` Berechtigungen für diese Aktionen, dem Benutzer dürfen jedoch keine Richtlinien angehängt sein, die die folgenden Berechtigungen festlegen auf: `Deny`

```
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:DescribeKey"
```

Weitere Informationen zur Verschlüsselung und finden Sie CodeCommit unter[AWS KMS und Verschlüsselung](encryption.md).

## Anzeigen von Ressourcen in der Konsole
<a name="console-resources"></a>

Die CodeCommit Konsole benötigt die `ListRepositories` Erlaubnis, eine Liste der Repositorys für Ihr Amazon Web Services Services-Konto in dem Land anzuzeigen, in AWS-Region dem Sie angemeldet sind. Die Konsole umfasst auch eine Funktion **Go to resource (Zu Ressource wechseln)**, um schnell ohne Berücksichtigung der Groß- und Kleinschreibung nach Ressourcen zu suchen. Diese Suche wird in Ihrem Amazon Web Services Services-Konto durchgeführt, in AWS-Region dem Sie angemeldet sind. Die folgenden Ressourcen werden für die folgenden Services angezeigt:
+ AWS CodeBuild: Build-Projekte
+ AWS CodeCommit: Repositorys
+ AWS CodeDeploy: Anwendungen
+ AWS CodePipeline: Pipelines

Für diese Suche unter den Ressourcen in allen Services müssen Sie über die folgenden Berechtigungen verfügen:
+ CodeBuild: `ListProjects`
+ CodeCommit: `ListRepositories`
+ CodeDeploy: `ListApplications`
+ CodePipeline: `ListPipelines`

Es werden keine Ergebnisse für die Ressourcen eines Service zurückgegeben, wenn Sie nicht über Berechtigungen für diesen Service verfügen. Auch wenn Sie über Berechtigungen zum Anzeigen von Ressourcen verfügen, werden bestimmte Ressourcen nicht zurückgegeben, wenn die Anzeige dieser Ressourcen ausdrücklich verweigert wird (`Deny`).

# AWS verwaltete Richtlinien für CodeCommit
<a name="security-iam-awsmanpol"></a>

Um Benutzern, Gruppen und Rollen Berechtigungen hinzuzufügen, ist es einfacher, AWS verwaltete Richtlinien zu verwenden, als Richtlinien selbst zu schreiben. Es erfordert Zeit und Fachwissen, um [von Kunden verwaltete IAM-Richtlinien zu erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html), die Ihrem Team nur die benötigten Berechtigungen bieten. Um schnell loszulegen, können Sie unsere AWS verwalteten Richtlinien verwenden. Diese Richtlinien decken allgemeine Anwendungsfälle ab und sind in Ihrem AWS-Konto verfügbar. Weitere Informationen zu AWS verwalteten Richtlinien finden Sie im *IAM-Benutzerhandbuch* unter [AWS Verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies).

AWS Dienste verwalten und aktualisieren AWS verwaltete Richtlinien. Sie können die Berechtigungen in AWS verwalteten Richtlinien nicht ändern. Services fügen einer von AWS verwalteten Richtlinien gelegentlich zusätzliche Berechtigungen hinzu, um neue Features zu unterstützen. Diese Art von Update betrifft alle Identitäten (Benutzer, Gruppen und Rollen), an welche die Richtlinie angehängt ist. Services aktualisieren eine von AWS verwaltete Richtlinie am ehesten, ein neues Feature gestartet wird oder neue Vorgänge verfügbar werden. Dienste entfernen keine Berechtigungen aus einer AWS verwalteten Richtlinie, sodass durch Richtlinienaktualisierungen Ihre bestehenden Berechtigungen nicht beeinträchtigt werden.

 AWS Unterstützt außerdem verwaltete Richtlinien für Jobfunktionen, die sich über mehrere Dienste erstrecken. Die **ReadOnlyAccess** AWS verwaltete Richtlinie bietet beispielsweise schreibgeschützten Zugriff auf alle AWS Dienste und Ressourcen. Wenn ein Dienst eine neue Funktion startet, werden nur Leseberechtigungen für neue Operationen und Ressourcen AWS hinzugefügt. Eine Liste und Beschreibungen der Richtlinien für Auftragsfunktionen finden Sie in [Verwaltete AWS -Richtlinien für Auftragsfunktionen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) im *IAM-Leitfaden*.

AWS adressiert viele gängige Anwendungsfälle durch die Bereitstellung eigenständiger IAM-Richtlinien, die von erstellt und verwaltet werden. AWS Diese AWS verwalteten Richtlinien gewähren die erforderlichen Berechtigungen für allgemeine Anwendungsfälle. Die verwalteten Richtlinien für gewähren CodeCommit auch Berechtigungen zur Ausführung von Vorgängen in anderen Diensten wie IAM, Amazon SNS und Amazon CloudWatch Events, je nach den Zuständigkeiten der Benutzer, denen die betreffende Richtlinie erteilt wurde. Bei der AWSCode CommitFullAccess Richtlinie handelt es sich beispielsweise um eine Benutzerrichtlinie auf Administrationsebene, die es Benutzern mit dieser Richtlinie ermöglicht, CloudWatch Ereignisregeln für Repositorys (Regeln, deren Namen ein Präfix haben`codecommit`) und Amazon SNS SNS-Themen für Benachrichtigungen über repository-bezogene Ereignisse (Themen, deren Namen ein Präfix haben) zu erstellen und zu verwalten sowie Repositorys in zu verwalten. `codecommit` CodeCommit 

Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto zuordnen können, sind spezifisch für. CodeCommit

**Topics**
+ [AWS verwaltete Richtlinie: AWSCode CommitFullAccess](#managed-policies-full)
+ [AWS verwaltete Richtlinie: AWSCode CommitPowerUser](#managed-policies-poweruser)
+ [AWS verwaltete Richtlinie: AWSCode CommitReadOnly](#managed-policies-read)
+ [CodeCommit verwaltete Richtlinien und Benachrichtigungen](#notifications-permissions)
+ [AWS CodeCommit verwaltete Richtlinien und Amazon CodeGuru Reviewer](#codeguru-permissions)
+ [CodeCommit Aktualisierungen der AWS verwalteten Richtlinien](#security-iam-awsmanpol-updates)

## AWS verwaltete Richtlinie: AWSCode CommitFullAccess
<a name="managed-policies-full"></a>

Sie können die `AWSCodeCommitFullAccess`-Richtlinie an Ihre IAM-Identitäten anfügen. Diese Richtlinie gewährt vollen Zugriff auf CodeCommit. Wenden Sie diese Richtlinie nur auf Benutzer auf Administratorebene an, denen Sie die volle Kontrolle über CodeCommit Repositorys und zugehörige Ressourcen in Ihrem Amazon Web Services Services-Konto gewähren möchten, einschließlich der Möglichkeit, Repositorys zu löschen.

Die AWSCode CommitFullAccess Richtlinie enthält die folgende Grundsatzerklärung:

------
#### [ JSON ]

****  

```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "codecommit:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudWatchEventsCodeCommitRulesAccess",
          "Effect": "Allow",
          "Action": [
            "events:DeleteRule",
            "events:DescribeRule",
            "events:DisableRule",
            "events:EnableRule",
            "events:PutRule",
            "events:PutTargets",
            "events:RemoveTargets",
            "events:ListTargetsByRule"
          ],
          "Resource": "arn:aws:events:*:*:rule/codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionAccess",
          "Effect": "Allow",
          "Action": [
            "sns:CreateTopic",
            "sns:DeleteTopic",
            "sns:Subscribe",
            "sns:Unsubscribe",
            "sns:SetTopicAttributes"
          ],
          "Resource": "arn:aws:sns:*:*:codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionReadAccess",
          "Effect": "Allow",
          "Action": [
            "sns:ListTopics",
            "sns:ListSubscriptionsByTopic",
            "sns:GetTopicAttributes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "LambdaReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "lambda:ListFunctions"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListUsers"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyConsoleAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListAccessKeys",
            "iam:ListSSHPublicKeys",
            "iam:ListServiceSpecificCredentials"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMUserSSHKeys",
          "Effect": "Allow",
          "Action": [
            "iam:DeleteSSHPublicKey",
            "iam:GetSSHPublicKey",
            "iam:ListSSHPublicKeys",
            "iam:UpdateSSHPublicKey",
            "iam:UploadSSHPublicKey"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMSelfManageServiceSpecificCredentials",
          "Effect": "Allow",
          "Action": [
            "iam:CreateServiceSpecificCredential",
            "iam:UpdateServiceSpecificCredential",
            "iam:DeleteServiceSpecificCredential",
            "iam:ResetServiceSpecificCredential"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "CodeStarNotificationsReadWriteAccess",
          "Effect": "Allow",
          "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
          ],
          "Resource": "*",
          "Condition": {
            "ArnLike": {
              "codestar-notifications:NotificationsForResource": "arn:aws:iam::*:role/Service*"
            }
          }
        },
        {
          "Sid": "CodeStarNotificationsListAccess",
          "Effect": "Allow",
          "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CodeStarNotificationsSNSTopicCreateAccess",
          "Effect": "Allow",
          "Action": [
            "sns:CreateTopic",
            "sns:SetTopicAttributes"
          ],
          "Resource": "arn:aws:sns:*:*:codestar-notifications*"
        },
        {
          "Sid": "AmazonCodeGuruReviewerFullAccess",
          "Effect": "Allow",
          "Action": [
            "codeguru-reviewer:AssociateRepository",
            "codeguru-reviewer:DescribeRepositoryAssociation",
            "codeguru-reviewer:ListRepositoryAssociations",
            "codeguru-reviewer:DisassociateRepository",
            "codeguru-reviewer:DescribeCodeReview",
            "codeguru-reviewer:ListCodeReviews"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AmazonCodeGuruReviewerSLRCreation",
          "Action": "iam:CreateServiceLinkedRole",
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CloudWatchEventsManagedRules",
          "Effect": "Allow",
          "Action": [
            "events:PutRule",
            "events:PutTargets",
            "events:DeleteRule",
            "events:RemoveTargets"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CodeStarNotificationsChatbotAccess",
          "Effect": "Allow",
          "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
          "Resource": "*"
        },
        {
            "Sid": "CodeStarConnectionsReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-connections:ListConnections",
                "codestar-connections:GetConnection"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        }
      ]
    }
```

------

## AWS verwaltete Richtlinie: AWSCode CommitPowerUser
<a name="managed-policies-poweruser"></a>

Sie können die `AWSCodeCommitPowerUser`-Richtlinie an Ihre IAM-Identitäten anfügen. Diese Richtlinie ermöglicht Benutzern den Zugriff auf alle Funktionen CodeCommit und Ressourcen im Zusammenhang mit Repositorys, mit der Ausnahme, dass sie ihnen nicht erlaubt, Repositorys zu löschen oder CodeCommit repository-bezogene Ressourcen in anderen Diensten wie Amazon Events zu erstellen oder zu löschen. AWS CloudWatch Wir empfehlen, dass diese Richtlinie auf die meisten Benutzer anzuwenden.

Die AWSCode CommitPowerUser Richtlinie enthält die folgende Grundsatzerklärung:

------
#### [ JSON ]

****  

```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "codecommit:AssociateApprovalRuleTemplateWithRepository",
            "codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
            "codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
            "codecommit:BatchGet*",
            "codecommit:BatchDescribe*",
            "codecommit:Create*",
            "codecommit:DeleteBranch",
            "codecommit:DeleteFile",
            "codecommit:Describe*",
            "codecommit:DisassociateApprovalRuleTemplateFromRepository",
            "codecommit:EvaluatePullRequestApprovalRules",
            "codecommit:Get*",
            "codecommit:List*",
            "codecommit:Merge*",
            "codecommit:OverridePullRequestApprovalRules",
            "codecommit:Put*",
            "codecommit:Post*",
            "codecommit:TagResource",
            "codecommit:Test*",
            "codecommit:UntagResource",
            "codecommit:Update*",
            "codecommit:GitPull",
            "codecommit:GitPush"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudWatchEventsCodeCommitRulesAccess",
          "Effect": "Allow",
          "Action": [
            "events:DeleteRule",
            "events:DescribeRule",
            "events:DisableRule",
            "events:EnableRule",
            "events:PutRule",
            "events:PutTargets",
            "events:RemoveTargets",
            "events:ListTargetsByRule"
          ],
          "Resource": "arn:aws:events:*:*:rule/codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionAccess",
          "Effect": "Allow",
          "Action": [
            "sns:Subscribe",
            "sns:Unsubscribe"
          ],
          "Resource": "arn:aws:sns:*:*:codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionReadAccess",
          "Effect": "Allow",
          "Action": [
            "sns:ListTopics",
            "sns:ListSubscriptionsByTopic",
            "sns:GetTopicAttributes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "LambdaReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "lambda:ListFunctions"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListUsers"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyConsoleAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListAccessKeys",
            "iam:ListSSHPublicKeys",
            "iam:ListServiceSpecificCredentials"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMUserSSHKeys",
          "Effect": "Allow",
          "Action": [
            "iam:DeleteSSHPublicKey",
            "iam:GetSSHPublicKey",
            "iam:ListSSHPublicKeys",
            "iam:UpdateSSHPublicKey",
            "iam:UploadSSHPublicKey"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMSelfManageServiceSpecificCredentials",
          "Effect": "Allow",
          "Action": [
            "iam:CreateServiceSpecificCredential",
            "iam:UpdateServiceSpecificCredential",
            "iam:DeleteServiceSpecificCredential",
            "iam:ResetServiceSpecificCredential"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "CodeStarNotificationsReadWriteAccess",
          "Effect": "Allow",
          "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
          ],
          "Resource": "*",
          "Condition": {
            "ArnLike": {
              "codestar-notifications:NotificationsForResource": "arn:aws:iam::*:role/Service*"
            }
          }
        },
        {
          "Sid": "CodeStarNotificationsListAccess",
          "Effect": "Allow",
          "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AmazonCodeGuruReviewerFullAccess",
          "Effect": "Allow",
          "Action": [
            "codeguru-reviewer:AssociateRepository",
            "codeguru-reviewer:DescribeRepositoryAssociation",
            "codeguru-reviewer:ListRepositoryAssociations",
            "codeguru-reviewer:DisassociateRepository",
            "codeguru-reviewer:DescribeCodeReview",
            "codeguru-reviewer:ListCodeReviews"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AmazonCodeGuruReviewerSLRCreation",
          "Action": "iam:CreateServiceLinkedRole",
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CloudWatchEventsManagedRules",
          "Effect": "Allow",
          "Action": [
            "events:PutRule",
            "events:PutTargets",
            "events:DeleteRule",
            "events:RemoveTargets"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CodeStarNotificationsChatbotAccess",
          "Effect": "Allow",
          "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
          "Resource": "*"
        },
        {
            "Sid": "CodeStarConnectionsReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-connections:ListConnections",
                "codestar-connections:GetConnection"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        }
      ]
    }
```

------

## AWS verwaltete Richtlinie: AWSCode CommitReadOnly
<a name="managed-policies-read"></a>

Sie können die `AWSCodeCommitReadOnly`-Richtlinie an Ihre IAM-Identitäten anfügen. Diese Richtlinie gewährt schreibgeschützten Zugriff auf CodeCommit und Repository-bezogene Ressourcen in anderen AWS Diensten sowie die Möglichkeit, eigene CodeCommit zugehörige Ressourcen zu erstellen und zu verwalten (z. B. Git-Anmeldeinformationen und SSH-Schlüssel, die ihre IAM-Benutzer beim Zugriff auf Repositorys verwenden können). Wenden Sie diese Richtlinie auf Benutzer an, denen Sie die Möglichkeit geben möchten, den Inhalt eines Repositorys zu lesen, ohne jedoch dessen Inhalt zu ändern.

Die AWSCode CommitReadOnly Richtlinie enthält die folgende Grundsatzerklärung:

------
#### [ JSON ]

****  

```
    { 
       "Version":"2012-10-17",		 	 	 
       "Statement":[ 
          { 
             "Effect":"Allow",
             "Action":[ 
                "codecommit:BatchGet*",
                "codecommit:BatchDescribe*",
                "codecommit:Describe*",
                "codecommit:EvaluatePullRequestApprovalRules",
                "codecommit:Get*",
                "codecommit:List*",
                "codecommit:GitPull"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"CloudWatchEventsCodeCommitRulesReadOnlyAccess",
             "Effect":"Allow",
             "Action":[ 
                "events:DescribeRule",
                "events:ListTargetsByRule"
             ],
             "Resource":"arn:aws:events:*:*:rule/codecommit*"
          },
          { 
             "Sid":"SNSSubscriptionAccess",
             "Effect":"Allow",
             "Action":[ 
                "sns:ListTopics",
                "sns:ListSubscriptionsByTopic",
                "sns:GetTopicAttributes"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"LambdaReadOnlyListAccess",
             "Effect":"Allow",
             "Action":[ 
                "lambda:ListFunctions"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"IAMReadOnlyListAccess",
             "Effect":"Allow",
             "Action":[ 
                "iam:ListUsers"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"IAMReadOnlyConsoleAccess",
             "Effect":"Allow",
             "Action":[ 
                "iam:ListAccessKeys",
                "iam:ListSSHPublicKeys",
                "iam:ListServiceSpecificCredentials",
                "iam:GetSSHPublicKey"
             ],
             "Resource":"arn:aws:iam::*:user/${aws:username}"
          },
          { 
             "Sid":"CodeStarNotificationsReadOnlyAccess",
             "Effect":"Allow",
             "Action":[ 
                "codestar-notifications:DescribeNotificationRule"
             ],
             "Resource":"*",
             "Condition":{ 
                "ArnLike":{ 
                   "codestar-notifications:NotificationsForResource":"arn:aws:codecommit:us-east-2:111122223333:*"
                }
             }
          },
          { 
             "Sid":"CodeStarNotificationsListAccess",
             "Effect":"Allow",
             "Action":[ 
                "codestar-notifications:ListNotificationRules",
                "codestar-notifications:ListEventTypes",
                "codestar-notifications:ListTargets"
             ],
             "Resource":"*"
          },
          {
             "Sid": "AmazonCodeGuruReviewerReadOnlyAccess",
             "Effect": "Allow",
             "Action": [
                "codeguru-reviewer:DescribeRepositoryAssociation",
                "codeguru-reviewer:ListRepositoryAssociations",
                "codeguru-reviewer:DescribeCodeReview",
                "codeguru-reviewer:ListCodeReviews"
             ],
             "Resource": "*"
          },
          {
            "Sid": "CodeStarConnectionsReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-connections:ListConnections",
                "codestar-connections:GetConnection"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        }
    ]
}
```

------

## CodeCommit verwaltete Richtlinien und Benachrichtigungen
<a name="notifications-permissions"></a>

AWS CodeCommit unterstützt Benachrichtigungen, mit denen Benutzer über wichtige Änderungen an Repositorys informiert werden können. Zu den verwalteten Richtlinien CodeCommit gehören auch Richtlinienerklärungen für die Benachrichtigungsfunktion. Weitere Informationen finden Sie unter [Was sind Benachrichtigungen?](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html).

### Berechtigungen in Zusammenhang mit Benachrichtigungen in verwalteten Vollzugriffsrichtlinien
<a name="notifications-fullaccess"></a>

Die von `AWSCodeCommitFullAccess` verwaltete Richtlinie enthält die folgenden Anweisungen, um den vollständigen Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer, für die diese verwaltete Richtlinie gilt, können auch Amazon SNS SNS-Themen für Benachrichtigungen erstellen und verwalten, Benutzer für Themen abonnieren und abbestellen, Themen auflisten, die als Ziele für Benachrichtigungsregeln ausgewählt werden sollen, und Amazon Q Developer in Chat-Anwendungsclients auflisten, die für Slack konfiguriert sind.

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource,"
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsSNSTopicCreateAccess",
        "Effect": "Allow",
        "Action": [
            "sns:CreateTopic",
            "sns:SetTopicAttributes"
        ],
        "Resource": "arn:aws:sns:*:*:codestar-notifications*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

### Berechtigungen in Zusammenhang mit Benachrichtigungen in schreibgeschützten verwalteten Richtlinien
<a name="notifications-readonly"></a>

Die verwaltete Richtlinie `AWSCodeCommitReadOnlyAccess` enthält die folgenden Anweisungen, um schreibgeschützten Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer mit dieser verwalteten Richtlinie können Benachrichtigungen für Ressourcen anzeigen, sie können sie jedoch nicht erstellen, verwalten oder abonnieren. 

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

### Berechtigungen in Zusammenhang mit Benachrichtigungen in anderen verwalteten Richtlinien
<a name="notifications-otheraccess"></a>

Die verwaltete Richtlinie `AWSCodeCommitPowerUser` enthält die folgenden Anweisungen, mit denen Sie Benutzern erlauben können, Benachrichtigungen zu erstellen, zu bearbeiten und zu abonnieren. Benutzer können Benachrichtigungsregeln nicht löschen und auch keine Tags für Ressourcen verwalten.

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

Weitere Informationen zu IAM und Benachrichtigungen finden Sie unter [Identity and Access Management für AWS CodeStar Benachrichtigungen](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security-iam.html).

## AWS CodeCommit verwaltete Richtlinien und Amazon CodeGuru Reviewer
<a name="codeguru-permissions"></a>

CodeCommit unterstützt Amazon CodeGuru Reviewer, einen automatisierten Code-Review-Service, der Programmanalyse und maschinelles Lernen nutzt, um häufig auftretende Probleme zu erkennen und Korrekturen in Ihrem Java- oder Python-Code zu empfehlen. Zu den verwalteten Richtlinien CodeCommit gehören auch Richtlinienerklärungen für die CodeGuru Reviewer-Funktionalität. Weitere Informationen finden Sie unter [Was ist Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html).

### Berechtigungen im Zusammenhang mit dem CodeGuru Prüfer in AWSCode CommitFullAccess
<a name="codeguru-fullaccess"></a>

Die `AWSCodeCommitFullAccess` verwaltete Richtlinie enthält die folgenden Anweisungen, mit denen CodeGuru Prüfer CodeCommit Repositorys zugeordnet oder getrennt werden können. Benutzer, auf die diese verwaltete Richtlinie angewendet wurde, können auch den Zuordnungsstatus zwischen CodeCommit Repositorys und CodeGuru Reviewer sowie den Status von Review-Jobs für Pull Requests einsehen.

```
    {
      "Sid": "AmazonCodeGuruReviewerFullAccess",
      "Effect": "Allow",
      "Action": [
        "codeguru-reviewer:AssociateRepository",
        "codeguru-reviewer:DescribeRepositoryAssociation",
        "codeguru-reviewer:ListRepositoryAssociations",
        "codeguru-reviewer:DisassociateRepository",
        "codeguru-reviewer:DescribeCodeReview",
        "codeguru-reviewer:ListCodeReviews"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonCodeGuruReviewerSLRCreation",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
        }
      }
    },
    {
      "Sid": "CloudWatchEventsManagedRules",
      "Effect": "Allow",
      "Action": [
        "events:PutRule",
        "events:PutTargets",
        "events:DeleteRule",
        "events:RemoveTargets"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
        }
      }
    }
```

### Berechtigungen im Zusammenhang mit dem CodeGuru Prüfer in AWSCode CommitPowerUser
<a name="codeguru-poweruser"></a>

Die `AWSCodeCommitPowerUser` verwaltete Richtlinie umfasst die folgenden Anweisungen, die es Benutzern ermöglichen, Repositorys dem CodeGuru Prüfer zuzuordnen und zu trennen, den Zuordnungsstatus einzusehen und den Status von Review-Jobs für Pull Requests einzusehen.

```
    {
      "Sid": "AmazonCodeGuruReviewerFullAccess",
      "Effect": "Allow",
      "Action": [
        "codeguru-reviewer:AssociateRepository",
        "codeguru-reviewer:DescribeRepositoryAssociation",
        "codeguru-reviewer:ListRepositoryAssociations",
        "codeguru-reviewer:DisassociateRepository",
        "codeguru-reviewer:DescribeCodeReview",
        "codeguru-reviewer:ListCodeReviews"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonCodeGuruReviewerSLRCreation",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
        }
      }
    },
    {
      "Sid": "CloudWatchEventsManagedRules",
      "Effect": "Allow",
      "Action": [
        "events:PutRule",
        "events:PutTargets",
        "events:DeleteRule",
        "events:RemoveTargets"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
        }
      }
    }
```

### Berechtigungen im Zusammenhang mit Reviewer in CodeGuru AWSCode CommitReadOnly
<a name="codeguru-readonly"></a>

Die `AWSCodeCommitReadOnlyAccess` verwaltete Richtlinie umfasst die folgenden Anweisungen, um nur Lesezugriff auf den Zuordnungsstatus von CodeGuru Prüfern zu gewähren und den Status von Überprüfungsaufträgen für Pull-Requests anzuzeigen. Benutzer, denen diese verwaltete Richtlinie zugewiesen wurde, können Repositorys nicht zuordnen und deren Zuordnung nicht aufheben. 

```
     {
      "Sid": "AmazonCodeGuruReviewerReadOnlyAccess",
      "Effect": "Allow",
      "Action": [
            "codeguru-reviewer:DescribeRepositoryAssociation",
            "codeguru-reviewer:ListRepositoryAssociations",
            "codeguru-reviewer:DescribeCodeReview",
            "codeguru-reviewer:ListCodeReviews"
      ],
      "Resource": "*"
    }
```

### Rolle im Zusammenhang mit dem Service von Amazon CodeGuru Reviewer
<a name="codeguru-slr"></a>

Wenn Sie CodeGuru Reviewer ein Repository zuordnen, wird eine serviceverknüpfte Rolle erstellt, sodass CodeGuru Reviewer Probleme erkennen und Korrekturen für Java- oder Python-Code in Pull-Requests empfehlen kann. Die Service-verknüpfte Rolle wird AWSServiceRoleForAmazonCodeGuruReviewer benannt. Weitere Informationen finden Sie unter [Verwenden von serviceverknüpften Rollen für Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/using-service-linked-roles.html).

Weitere Informationen finden Sie unter [AWS -verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) im *IAM-Benutzerhandbuch*.

## CodeCommit Aktualisierungen der AWS verwalteten Richtlinien
<a name="security-iam-awsmanpol-updates"></a>



Hier finden Sie Informationen zu Aktualisierungen AWS verwalteter Richtlinien CodeCommit seit Beginn der Nachverfolgung dieser Änderungen durch diesen Dienst. Abonnieren Sie den RSS-Feed auf, um automatische Benachrichtigungen über Änderungen an dieser Seite zu erhalten[AWS CodeCommit Dokumenthistorie des Benutzerhandbuches](history.md).




| Änderungen | Beschreibung | Date | 
| --- | --- | --- | 
|  [AWS verwaltete Richtlinie: AWSCode CommitFullAccess](#managed-policies-full)und [AWS verwaltete Richtlinie: AWSCode CommitPowerUser](#managed-policies-poweruser) — Aktualisierung vorhandener Richtlinien  |  CodeCommit hat diesen Richtlinien eine Berechtigung hinzugefügt, um einen zusätzlichen Benachrichtigungstyp mithilfe von Amazon Q Developer in Chat-Anwendungen zu unterstützen. Die AWSCode CommitFullAccess Richtlinien AWSCode CommitPowerUser und wurden geändert, um eine Berechtigung hinzuzufügen,`chatbot:ListMicrosoftTeamsChannelConfigurations`.  | 16. Mai 2023 | 
|  [AWS verwaltete Richtlinie: AWSCode CommitReadOnly](#managed-policies-read) – Aktualisierung auf eine bestehende Richtlinie  |  CodeCommit eine doppelte Berechtigung wurde aus der Richtlinie entfernt. Die AWSCode CommitReadOnly wurde geändert, um eine doppelte Berechtigung zu entfernen,`"iam:ListAccessKeys"`.  | 18. August 2021 | 
|  CodeCommit hat begonnen, Änderungen zu verfolgen  |  CodeCommit hat begonnen, Änderungen für die AWS verwalteten Richtlinien zu verfolgen.  | 18. August 2021 | 

# Beispiele für vom Kunden verwaltete Richtlinien
<a name="customer-managed-policies"></a>

Sie können Ihre eigenen benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für CodeCommit Aktionen und Ressourcen zu gewähren. Die benutzerdefinierten Richtlinien können Sie dann den IAM-Benutzern oder -Gruppen zuweisen, die diese Berechtigungen benötigen. Sie können auch Ihre eigenen benutzerdefinierten IAM-Richtlinien für die Integration zwischen CodeCommit und anderen AWS Diensten erstellen.

**Topics**
+ [Beispiele für vom Kunden verwaltete Identitätsrichtlinien](#customer-managed-policies-identity)

## Beispiele für vom Kunden verwaltete Identitätsrichtlinien
<a name="customer-managed-policies-identity"></a>

Das folgende Beispiel für IAM-Richtlinien gewährt Berechtigungen für verschiedene CodeCommit Aktionen. Verwenden Sie sie, um den CodeCommit Zugriff für Ihre IAM-Benutzer und -Rollen einzuschränken. Diese Richtlinien steuern die Fähigkeit, Aktionen mit der CodeCommit Konsole, der API oder dem AWS CLI auszuführen. AWS SDKs



**Anmerkung**  
Alle Beispiele verwenden die Region USA West (Oregon) (us-west-2) und enthalten ein fiktives Konto. IDs

 **Beispiele**
+ [Beispiel 1: Erlauben Sie einem Benutzer, Operationen in einem einzigen System auszuführen CodeCommit AWS-Region](#identity-based-policies-example-1)
+ [Beispiel 2: Erlaube einem Benutzer, Git für ein einzelnes Repository zu verwenden](#identity-based-policies-example-2)
+ [Beispiel 3: Erlaubt einem Benutzer, der von einem bestimmten IP-Adressbereich aus eine Verbindung herstellt, Zugriff auf ein Repository](#identity-based-policies-example-3)
+ [Beispiel 4: Aktionen für Branches verweigern oder zulassen](#identity-based-policies-example-4)
+ [Beispiel 5: Aktionen für Repositorys mit Tags verweigern oder zulassen](#identity-based-policies-example-5)

### Beispiel 1: Erlauben Sie einem Benutzer, Operationen in einem einzigen System auszuführen CodeCommit AWS-Region
<a name="identity-based-policies-example-1"></a>

Die folgende Berechtigungsrichtlinie verwendet ein Platzhalterzeichen (`"codecommit:*"`), damit Benutzer alle CodeCommit Aktionen in der Region us-east-2 und nicht von anderen aus ausführen können. AWS-Regionen

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "codecommit:*",
            "Resource": "arn:aws:codecommit:us-east-2:111111111111:*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "us-east-2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "codecommit:ListRepositories",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "us-east-2"
                }
            }
        }
    ]
}
```

------

### Beispiel 2: Erlaube einem Benutzer, Git für ein einzelnes Repository zu verwenden
<a name="identity-based-policies-example-2"></a>

 CodeCommitIn gelten die `GitPull` IAM-Richtlinienberechtigungen für jeden Git-Client-Befehl CodeCommit, von dem Daten abgerufen werden **git fetch****git clone**, einschließlich, usw. In ähnlicher Weise gelten die `GitPush` IAM-Richtlinienberechtigungen für jeden Git-Client-Befehl, an den Daten gesendet CodeCommit werden. Wenn die `GitPush` IAM-Richtlinienberechtigung beispielsweise auf gesetzt ist`Allow`, kann ein Benutzer das Löschen eines Branches mithilfe des Git-Protokolls vorantreiben. Dieser Push wird nicht von den Berechtigungen beeinflusst, die für diesen IAM-Benutzer auf den `DeleteBranch` Vorgang angewendet wurden. Die `DeleteBranch` Berechtigung gilt für Aktionen, die mit der Konsole, der AWS CLI SDKs, der und der API ausgeführt werden, aber nicht mit dem Git-Protokoll. 

Das folgende Beispiel ermöglicht es dem angegebenen Benutzer, Daten aus dem angegebenen CodeCommit Repository abzurufen und dorthin zu pushen`MyDemoRepo`:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource" : "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo"
    }
  ]
}
```

------

### Beispiel 3: Erlaubt einem Benutzer, der von einem bestimmten IP-Adressbereich aus eine Verbindung herstellt, Zugriff auf ein Repository
<a name="identity-based-policies-example-3"></a>

Sie können eine Richtlinie erstellen, die es Benutzern nur dann erlaubt, sich mit einem CodeCommit-Repository zu verbinden, wenn ihre IP-Adresse innerhalb eines bestimmten IP-Adressbereichs liegt. Dazu gibt es zwei gleichwertige Ansätze. Sie können eine `Deny` Richtlinie erstellen, die CodeCommit Operationen verbietet, wenn sich die IP-Adresse des Benutzers nicht in einem bestimmten Block befindet, oder Sie können eine `Allow` Richtlinie erstellen, die CodeCommit Operationen zulässt, wenn sich die IP-Adresse des Benutzers innerhalb eines bestimmten Blocks befindet.

Sie können eine `Deny`-Richtlinie erstellen, die den Zugriff für alle Benutzer verweigert, die sich nicht aus einem bestimmten IP-Adressbereich stammen. Beispielsweise können Sie die verwaltete Richtlinie AWSCodeCommitPowerUser und eine vom Kunden verwaltete Richtlinie allen Benutzern anfügen, die Zugriff auf Ihr Repository benötigen. Die folgende Beispielrichtlinie verweigert Benutzern, deren IP-Adressen nicht innerhalb des angegebenen IP-Adressblocks 203.0.113.0/16 liegen, alle CodeCommit Berechtigungen:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Deny",
         "Action": [
            "codecommit:*"
         ],
         "Resource": "*",
         "Condition": {
            "NotIpAddress": {
               "aws:SourceIp": [
                  "203.0.113.0/16"
               ]
            }
         }
      }
   ]
}
```

------

Mit der folgenden Beispielrichtlinie kann der angegebene Benutzer nur dann auf ein CodeCommit Repository zugreifen, das MyDemoRepo mit den entsprechenden Berechtigungen der AWSCode CommitPowerUser verwalteten Richtlinie benannt ist, wenn sich seine IP-Adresse innerhalb des angegebenen Adressblocks 203.0.113.0/16 befindet:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "codecommit:BatchGetRepositories",
            "codecommit:CreateBranch",
            "codecommit:CreateRepository",
            "codecommit:Get*",
            "codecommit:GitPull",
            "codecommit:GitPush",
            "codecommit:List*",
            "codecommit:Put*",
            "codecommit:Post*",
            "codecommit:Merge*",
            "codecommit:TagResource",
            "codecommit:Test*",
            "codecommit:UntagResource",
            "codecommit:Update*"
         ],
         "Resource": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo",
         "Condition": {
            "IpAddress": {
               "aws:SourceIp": [
                  "203.0.113.0/16"
               ]
            }
         }
      }
   ]
}
```

------



### Beispiel 4: Aktionen für Branches verweigern oder zulassen
<a name="identity-based-policies-example-4"></a>

Sie können eine Richtlinie erstellen, die Benutzern die Berechtigungen für Aktionen verweigert, die Sie für eine oder mehrere Verzweigungen angeben. Alternativ können Sie eine Richtlinie erstellen, die Aktionen für eine oder mehrere Verzweigungen erlaubt, die sie sonst nicht in anderen Verzweigungen eines Repositories haben. Sie können diese Richtlinien mit den entsprechenden verwalteten (vordefinierten) Richtlinien verwenden. Weitere Informationen finden Sie unter [Beschränken Sie die Anzahl von Pushs und Merges auf Branches in AWS CodeCommit](how-to-conditional-branch.md).

Sie können beispielsweise eine `Deny` Richtlinie erstellen, die Benutzern die Möglichkeit verweigert, Änderungen an einem Branch namens main vorzunehmen, einschließlich des Löschens dieses Branches, in einem Repository mit dem Namen*MyDemoRepo*. Sie können diese Richtlinien mit der verwalteten Richtlinie **AWSCodeCommitPowerUser** verwenden. Benutzer, auf die diese beiden Richtlinien angewendet wurden, könnten Branches erstellen und löschen, Pull Requests erstellen und alle anderen Aktionen ausführen, sofern dies von erlaubt ist. Sie wären jedoch nicht in der Lage **AWSCodeCommitPowerUser**, Änderungen an den Branch mit dem Namen *main* zu pushen, eine Datei im *Main* Branch in der CodeCommit Konsole hinzuzufügen oder zu bearbeiten oder Branches oder eine Pull-Anfrage mit dem *Main* Branch zusammenzuführen. Da `Deny` auf `GitPush` angewendet wird,, müssen Sie eine `Null`-Anweisung in die Richtlinie aufnehmen, um die Analyse anfänglicher `GitPush`-Aufrufe auf Gültigkeit zu gestatten, wenn Benutzer Sendeoperationen von ihren lokalen Repositories aus ausführen.

**Tipp**  
Wenn Sie eine Richtlinie erstellen möchten, die für alle Branches mit dem Namen *main* in allen Repositorys in Ihrem Amazon Web Services Services-Konto gilt`Resource`, geben Sie statt eines Repository-ARN ein Sternchen (`*`) an.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "codecommit:GitPush",
                "codecommit:DeleteBranch",
                "codecommit:PutFile",
                "codecommit:Merge*"
            ],
            "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo",
            "Condition": {
                "StringEqualsIfExists": {
                    "codecommit:References": [
                        "refs/heads/main"   
                    ]
                },
                "Null": {
                    "codecommit:References": "false"
                }
            }
        }
    ]
}
```

------

Die folgende Beispielrichtlinie ermöglicht es einem Benutzer, Änderungen an einem Branch namens main in allen Repositorys eines Amazon Web Services Services-Kontos vorzunehmen. Sie erlaubt keine Änderungen an anderen Zweigen. Sie können diese Richtlinie zusammen mit der AWSCode CommitReadOnly verwalteten Richtlinie verwenden, um automatisierte Pushs an das Repository im Hauptzweig zu ermöglichen. Der Effekt ist `Allow`, deshalb würde diese Beispielrichtlinie nicht mit verwalteten Richtlinien funktionieren, wie z. B. AWSCodeCommitPowerUser.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:GitPush",
                "codecommit:Merge*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "codecommit:References": [
                        "refs/heads/main"
                    ]
                }
            }
        }
    ]
}
```

------



### Beispiel 5: Aktionen für Repositorys mit Tags verweigern oder zulassen
<a name="identity-based-policies-example-5"></a>

Sie können eine Richtlinie erstellen, die Aktionen für Repositorys auf der Grundlage der mit diesen Repositorys verknüpften AWS Tags erlaubt oder verweigert, und diese Richtlinien dann auf die IAM-Gruppen anwenden, die Sie für die Verwaltung von IAM-Benutzern konfigurieren. Sie können beispielsweise eine Richtlinie erstellen, die alle CodeCommit Aktionen in beliebigen Repositorys mit dem AWS Tag-Schlüssel *Status* und dem Schlüsselwert *Secret* verweigert, und diese Richtlinie dann auf die IAM-Gruppe anwenden, die Sie für allgemeine Entwickler erstellt haben (). *Developers* Anschließend müssen Sie sicherstellen, dass die Entwickler, die an diesen markierten Repositorys arbeiten, nicht Mitglieder dieser allgemeinen *Developers* Gruppe sind, sondern einer anderen IAM-Gruppe angehören, auf die die restriktive Richtlinie nicht angewendet wurde (). *SecretDevelopers*

*Im folgenden Beispiel werden alle CodeCommit Aktionen für Repositorys verweigert, die mit dem Schlüssel *Status und dem Schlüsselwert Secret* gekennzeichnet sind:*

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codecommit:Associate*",
        "codecommit:Batch*",
        "codecommit:CancelUploadArchive",
        "codecommit:CreateBranch",
        "codecommit:CreateCommit",
        "codecommit:CreatePullRequest*",
        "codecommit:CreateRepository",
        "codecommit:CreateUnreferencedMergeCommit",
        "codecommit:DeleteBranch",
        "codecommit:DeleteCommentContent",
        "codecommit:DeleteFile",
        "codecommit:DeletePullRequest*",
        "codecommit:DeleteRepository",
        "codecommit:Describe*",
        "codecommit:DisassociateApprovalRuleTemplateFromRepository",
        "codecommit:EvaluatePullRequestApprovalRules",
        "codecommit:GetBlob",
        "codecommit:GetBranch",
        "codecommit:GetComment*",
        "codecommit:GetCommit",
        "codecommit:GetDifferences*",
        "codecommit:GetFile",
        "codecommit:GetFolder",
        "codecommit:GetMerge*",
        "codecommit:GetObjectIdentifier",
        "codecommit:GetPullRequest*",
        "codecommit:GetReferences",
        "codecommit:GetRepository*",
        "codecommit:GetTree",
        "codecommit:GetUploadArchiveStatus",
        "codecommit:Git*",
        "codecommit:ListAssociatedApprovalRuleTemplatesForRepository",
        "codecommit:ListBranches",
        "codecommit:ListPullRequests",
        "codecommit:ListTagsForResource",
        "codecommit:Merge*",
        "codecommit:OverridePullRequestApprovalRules",
        "codecommit:Post*",
        "codecommit:Put*",
        "codecommit:TagResource",
        "codecommit:TestRepositoryTriggers",
        "codecommit:UntagResource",
        "codecommit:UpdateComment",
        "codecommit:UpdateDefaultBranch",
        "codecommit:UpdatePullRequest*",
        "codecommit:UpdateRepository*",
        "codecommit:UploadArchive"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Status": "Secret"
        }
      }
    }
  ]
}
```

------

Sie können diese Strategie weiter verfeinern, indem Sie bestimmte Repositorys und nicht alle Repositorys als Ressourcen angeben. Sie können auch Richtlinien erstellen, die CodeCommit Aktionen für alle Repositorys zulassen, die nicht mit bestimmten Tags gekennzeichnet sind. Die folgende Richtlinie erlaubt beispielsweise das Äquivalent von **AWSCodeCommitPowerUser**Berechtigungen für CodeCommit Aktionen, mit der Ausnahme, dass sie nur Aktionen für Repositorys zulässt CodeCommit , die nicht mit den angegebenen Tags gekennzeichnet sind:

**Anmerkung**  
Dieses Richtlinienbeispiel umfasst nur Aktionen für CodeCommit. Es umfasst keine Aktionen für andere AWS Dienste, die in der **AWSCodeCommitPowerUser**verwalteten Richtlinie enthalten sind. Weitere Informationen finden Sie unter [AWS verwaltete Richtlinie: AWSCode CommitPowerUser](security-iam-awsmanpol.md#managed-policies-poweruser)..

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecommit:Associate*",
        "codecommit:Batch*",
        "codecommit:CancelUploadArchive",
        "codecommit:CreateBranch",
        "codecommit:CreateCommit",
        "codecommit:CreatePullRequest*",
        "codecommit:CreateRepository",
        "codecommit:CreateUnreferencedMergeCommit",
        "codecommit:DeleteBranch",
        "codecommit:DeleteCommentContent",
        "codecommit:DeleteFile",
        "codecommit:DeletePullRequest*",
        "codecommit:Describe*",
        "codecommit:DisassociateApprovalRuleTemplateFromRepository",
        "codecommit:EvaluatePullRequestApprovalRules",
        "codecommit:GetBlob",
        "codecommit:GetBranch",
        "codecommit:GetComment*",
        "codecommit:GetCommit",
        "codecommit:GetDifferences*",
        "codecommit:GetFile",
        "codecommit:GetFolder",
        "codecommit:GetMerge*",
        "codecommit:GetObjectIdentifier",
        "codecommit:GetPullRequest*",
        "codecommit:GetReferences",
        "codecommit:GetRepository*",
        "codecommit:GetTree",
        "codecommit:GetUploadArchiveStatus",
        "codecommit:Git*",
        "codecommit:ListAssociatedApprovalRuleTemplatesForRepository",
        "codecommit:ListBranches",
        "codecommit:ListPullRequests",
        "codecommit:ListTagsForResource",
        "codecommit:Merge*",
        "codecommit:OverridePullRequestApprovalRules",
        "codecommit:Post*",
        "codecommit:Put*",
        "codecommit:TagResource",
        "codecommit:TestRepositoryTriggers",
        "codecommit:UntagResource",
        "codecommit:UpdateComment",
        "codecommit:UpdateDefaultBranch",
        "codecommit:UpdatePullRequest*",
        "codecommit:UpdateRepository*",
        "codecommit:UploadArchive"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceTag/Status": "Secret",
          "aws:ResourceTag/Team": "Saanvi"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "codecommit:CreateApprovalRuleTemplate",
        "codecommit:GetApprovalRuleTemplate",
        "codecommit:ListApprovalRuleTemplates",
        "codecommit:ListRepositories",
        "codecommit:ListRepositoriesForApprovalRuleTemplate",
        "codecommit:UpdateApprovalRuleTemplateContent",
        "codecommit:UpdateApprovalRuleTemplateDescription",
        "codecommit:UpdateApprovalRuleTemplateName"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# CodeCommit Referenz zu Berechtigungen
<a name="auth-and-access-control-permissions-reference"></a>

In den folgenden Tabellen sind die einzelnen CodeCommit API-Operationen, die entsprechenden Aktionen, für die Sie Berechtigungen erteilen können, und das Format des Ressourcen-ARN aufgeführt, der für die Erteilung von Berechtigungen verwendet werden soll. Sie CodeCommit APIs sind auf der Grundlage des Umfangs der von dieser API zulässigen Aktionen in Tabellen gruppiert. Beziehen Sie sich darauf, wenn Sie Berechtigungsrichtlinien einrichten [Zugriffskontrolle](auth-and-access-control.md#access-control) und schreiben, die Sie einer IAM-Identität zuordnen können (identitätsbasierte Richtlinien). 

Beim Erstellen einer Berechtigungsrichtlinie geben Sie die Aktionen im Feld `Action` der Richtlinie an. Sie geben den Ressourcenwert im Feld `Resource` der Richtlinie als ARN mit oder ohne Platzhalterzeichen (\$1) an. 

Verwenden AWS Sie Bedingungsschlüssel, um Bedingungen in Ihren CodeCommit Richtlinien auszudrücken. Eine vollständige Liste der AWS-weiten Schlüssel finden Sie unter [Verfügbare Schlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) im *IAM-Benutzerhandbuch*. Vollständige Informationen zu Aktionen, Ressourcen und Bedingungsschlüsseln für CodeCommit in IAM-Richtlinien finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodecommit.html) für. AWS CodeCommit

**Anmerkung**  
Um eine Aktion anzugeben, verwenden Sie das Präfix `codecommit:` gefolgt vom Namen der API-Operation (z. B. `codecommit:GetRepository` oder `codecommit:CreateRepository`). 

**Verwenden von Platzhaltern **

Sie können ein Platzhalterzeichen (\$1) in Ihrem ARN verwenden, um mehrere Aktionen oder Ressourcen anzugeben. `codecommit:*`Gibt beispielsweise alle Aktionen an und `codecommit:Get*` gibt alle CodeCommit CodeCommit Aktionen an, die mit dem Wort `Get` beginnen. Im folgenden Beispiel wird der Zugriff auf alle Repositorys erteilt, deren Name mit `MyDemo` beginnt: 

```
arn:aws:codecommit:us-west-2:111111111111:MyDemo*
```

Sie können Platzhalter nur für die in der folgenden Tabelle aufgeführten *repository-name* Ressourcen verwenden. Sie können Platzhalter nicht zusammen mit *region* Ressourcen verwenden. *account-id* *Weitere Informationen zu Platzhaltern finden Sie unter [IAM-Identifikatoren im IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html).* 



**Topics**
+ [Erforderliche Berechtigungen für Git-Client-Befehle](#aa-git)
+ [Berechtigungen für Aktionen in Branches](#aa-branches)
+ [Berechtigungen für Aktionen bei Zusammenführungen](#aa-merges)
+ [Berechtigungen für Aktionen bei Pull-Requests](#aa-pr)
+ [Berechtigungen für Aktionen auf Vorlagen für Genehmigungsregeln](#aa-art)
+ [Berechtigungen für Aktionen an einzelnen Dateien](#aa-files)
+ [Berechtigungen für Aktionen bei Kommentaren](#aa-comments)
+ [Berechtigungen für Aktionen an festgeschriebenem Code](#aa-code)
+ [Berechtigungen für Aktionen in Repositorys](#aa-repositories)
+ [Berechtigungen für Aktionen mit Tags](#aa-tags)
+ [Berechtigungen für Aktionen auf Triggern](#aa-triggers)
+ [Berechtigungen für Aktionen bei der CodePipeline Integration](#aa-acp)

## Erforderliche Berechtigungen für Git-Client-Befehle
<a name="aa-git"></a>

 CodeCommitIn gelten die `GitPull` IAM-Richtlinienberechtigungen für jeden Git-Client-Befehl CodeCommit, von dem Daten abgerufen werden **git fetch****git clone**, einschließlich, usw. In ähnlicher Weise gelten die `GitPush` IAM-Richtlinienberechtigungen für jeden Git-Client-Befehl, an den Daten gesendet CodeCommit werden. Wenn die `GitPush` IAM-Richtlinienberechtigung beispielsweise auf gesetzt ist`Allow`, kann ein Benutzer das Löschen eines Branches mithilfe des Git-Protokolls vorantreiben. Dieser Push wird nicht von den Berechtigungen beeinflusst, die für diesen IAM-Benutzer auf den `DeleteBranch` Vorgang angewendet wurden. Die `DeleteBranch` Berechtigung gilt für Aktionen, die mit der Konsole, der AWS CLI SDKs, der und der API ausgeführt werden, aber nicht mit dem Git-Protokoll. 

`GitPull`und `GitPush` sind IAM-Richtlinienberechtigungen. Es handelt sich dabei nicht um API-Aktionen.

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit Erforderliche Berechtigungen für Aktionen für Git-Client-Befehle**  

| CodeCommit Berechtigungen für Git | Erforderliche Berechtigungen  | Ressourcen | 
| --- | --- | --- | 
|  GitPull  |  `codecommit:GitPull` Erforderlich, um Informationen aus einem CodeCommit Repository in ein lokales Repo abzurufen. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  GitPush  |  `codecommit:GitPush` Erforderlich zum Senden von Informationen aus einem lokalen Repository in ein CodeCommit-Repository. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion.  Wenn Sie eine Richtlinie erstellen, die einen Kontextschlüssel enthält, und eine `Deny`-Anweisung, die diese Berechtigung enthält, müssen Sie auch einen `Null`-Kontext aufnehmen. Weitere Informationen finden Sie unter [Beschränken Sie die Anzahl von Pushs und Merges auf Branches in AWS CodeCommit](how-to-conditional-branch.md).   |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Berechtigungen für Aktionen in Branches
<a name="aa-branches"></a>

Die folgenden Berechtigungen erlauben oder verweigern Aktionen für Branches in CodeCommit Repositorys. Diese Berechtigungen beziehen sich nur auf Aktionen, die in der CodeCommit Konsole und mit der CodeCommit API ausgeführt werden, sowie auf Befehle, die mit der ausgeführt werden. AWS CLI Sie gelten nicht für ähnliche Aktionen, die mit dem Git-Protokoll ausgeführt werden können. Beispielsweise zeigt der Befehl **git show-branch -r** eine Liste externer Branches für ein Repository und seine Commits unter Verwendung des Git-Protokolls an. Sie wird durch keine Berechtigungen für den CodeCommit `ListBranches` Vorgang beeinflusst. 

Weitere Informationen zu Richtlinien für Filialen finden Sie unter [Beschränken Sie die Anzahl von Pushs und Merges auf Branches in AWS CodeCommit](how-to-conditional-branch.md) und[Beispiele für vom Kunden verwaltete Richtlinien](customer-managed-policies.md).

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen in Branches**  

| CodeCommit API-Operationen für Filialen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  [CreateBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreateBranch.html)  |  `codecommit:CreateBranch` Erforderlich, um einen Branch in einem CodeCommit Repository zu erstellen.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [DeleteBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteBranch.html)  |  `codecommit:DeleteBranch` Erforderlich, um einen Branch aus einem Repository zu löschen. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetBranch.html)  |  `codecommit:GetBranch` Erforderlich zum Abrufen von Details über einen Branch in einem CodeCommit-Repository.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [ListBranches](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListBranches.html) |  `codecommit:ListBranches` Erforderlich zum Abrufen einer Liste von Branches in einem CodeCommit-Repository.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergeBranchesByFastForward](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergeBranchesByFastForward.html) |  `codecommit:MergeBranchesByFastForward` Erforderlich, um zwei Branches mithilfe der Fast-Forward-Merge-Strategie in einem Repository zusammenzuführen. CodeCommit   | arn:aws:codecommit::: region account-id repository-name | 
| [MergeBranchesBySquash](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergeBranchesBySquash.html) |  `codecommit:MergeBranchesBySquash` Erforderlich, um zwei Branches mithilfe der Squash-Merge-Strategie in einem Repository zusammenzuführen. CodeCommit   | arn:aws:codecommit::: region account-id repository-name | 
| [MergeBranchesByThreeWay](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergeBranchesByThreeWay.html) |  `codecommit:MergeBranchesByThreeWay` Erforderlich, um zwei Branches mithilfe der Drei-Wege-Merge-Strategie in einem Repository zusammenzuführen. CodeCommit   | arn:aws:codecommit::: region account-id repository-name | 
| [UpdateDefaultBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateDefaultBranch.html) | codecommit:UpdateDefaultBranchErforderlich, um den Standardzweig in einem Repository zu ändern. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Berechtigungen für Aktionen bei Zusammenführungen
<a name="aa-merges"></a>

Die folgenden Berechtigungen erlauben oder verweigern Aktionen bei Zusammenführungen in CodeCommit Repositorys. Diese Berechtigungen beziehen sich auf Aktionen, die mit der CodeCommit Konsole und der CodeCommit API ausgeführt werden, sowie auf Befehle, die mit der ausgeführt werden. AWS CLI Sie gelten nicht für ähnliche Aktionen, die mit dem Git-Protokoll ausgeführt werden können. Entsprechende Berechtigungen für Branches finden Sie unter [Berechtigungen für Aktionen in Branches](#aa-branches). Entsprechende Berechtigungen für Pull-Anforderungen finden Sie unter [Berechtigungen für Aktionen bei Pull-Requests](#aa-pr).

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit Erforderliche Berechtigungen für Aktionen für Merge-Befehle**  

| CodeCommit Berechtigungen für Zusammenführungen | Erforderliche Berechtigungen  | Ressourcen | 
| --- | --- | --- | 
|  [BatchDescribeMergeConflicts](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchDescribeMergeConflicts.html)  |  `codecommit:BatchDescribeMergeConflicts` Erforderlich, um Informationen über Konflikte bei einer Zusammenführung zwischen Commits in einem CodeCommit Repository zurückzugeben.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [CreateUnreferencedMergeCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreateUnreferencedMergeCommit.html)  |  `codecommit:CreateUnreferencedMergeCommit` Erforderlich, um einen nicht referenzierten Commit zwischen zwei Branches oder Commits in einem CodeCommit Repository zu erstellen, um sie zu vergleichen und mögliche Konflikte zu identifizieren.   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [DescribeMergeConflicts](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DescribeMergeConflicts.html)  |  `codecommit:DescribeMergeConflicts` Erforderlich, um Informationen über Zusammenführungskonflikte zwischen der Basis-, Quell- und Zielversion einer Datei bei einer möglichen Zusammenführung in einem Repository zurückzugeben. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetMergeCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetMergeCommit.html)  |  `codecommit:GetMergeCommit` Erforderlich, um Informationen über die Zusammenführung zwischen einem Quell- und einem Ziel-Commit in einem Repository zurückzugeben. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetMergeOptions](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetMergeOptions.html)  |  `codecommit:GetMergeOptions` Erforderlich zum Abfragen von Informationen über die verfügbaren Zusammenführungsoptionen zwischen zwei Branches und Commit-Spezifiziern in einem CodeCommit-Repository.   |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Berechtigungen für Aktionen bei Pull-Requests
<a name="aa-pr"></a>

Die folgenden Berechtigungen erlauben oder verweigern Aktionen für Pull-Anfragen in CodeCommit-Repositorys. Diese Berechtigungen beziehen sich auf Aktionen, die mit der CodeCommit Konsole und der CodeCommit API ausgeführt werden, sowie auf Befehle, die mit der AWS CLI ausgeführt werden. Sie gelten nicht für ähnliche Aktionen, die mit dem Git-Protokoll ausgeführt werden können. Weitere Berechtigungen für Kommentare finden Sie unter [Berechtigungen für Aktionen bei Kommentaren](#aa-comments).

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen auf Pull-Requests**  

| CodeCommit API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  BatchGetPullRequests  |  `codecommit:BatchGetPullRequests` Erforderlich, um Informationen über einen oder mehrere Pull-Requests in einem CodeCommit Repository zurückzugeben. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [CreatePullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreatePullRequest.html)  |  `codecommit:CreatePullRequest` Erforderlich, um eine Pull-Anforderung in einem CodeCommit-Repository zu erstellen.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [CreatePullRequestApprovalRule](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreatePullRequestApprovalRule.html) |  `codecommit:CreatePullRequestApprovalRule` Erforderlich, um eine Genehmigungsregel für eine Pull-Anforderung in einem CodeCommit -Repository zu erstellen.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [DeletePullRequestApprovalRule](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeletePullRequestApprovalRule.html) |  `codecommit:DeletePullRequestApprovalRule` Erforderlich, um eine Genehmigungsregel für eine Pull-Anforderung in einem CodeCommit -Repository zu löschen.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [DescribePullRequestEvents](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DescribePullRequestEvents.html) | Erforderlich, um Informationen über ein oder mehrere Pull-Request-Ereignisse in einem Repository zurückzugeben. CodeCommit  | arn:aws:codecommit::: region account-id repository-name | 
| [EvaluatePullRequestApprovalRules](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_EvaluatePullRequestApprovalRules.html) |  `codecommit:EvaluatePullRequestApprovalRules` Erforderlich, um zu bewerten, ob eine Pull-Anforderung alle Bedingungen erfüllt, die in den zugeordneten Genehmigungsregeln in einem CodeCommit-Repository angegeben sind.   |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetCommentsForPullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetCommentsForPullRequest.html)  |  `codecommit:GetCommentsForPullRequest` Erforderlich, um Kommentare in einer Pull-Anfrage zurückzugeben.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| GetCommitsFromMergeBase |  `codecommit:GetCommitsFromMergeBase` Erforderlich, um Informationen über den Unterschied zwischen Commits im Zusammenhang mit einer potenziellen Zusammenführung zurückzugeben. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [GetMergeConflicts](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetMergeConflicts.html) |  `codecommit:GetMergeConflicts` Erforderlich, um Informationen über Merge-Konflikte zwischen dem Quell- und dem Ziel-Branch in einer Pull-Anfrage zurückzugeben.  | arn:aws:codecommit::: region account-id repository-name | 
|  [GetPullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetPullRequest.html)  |  `codecommit:GetPullRequest` Erforderlich zum Abrufen von Informationen über eine Pull-Anfrage.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetPullRequestApprovalStates](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetPullRequestApprovalStates.html)  |  `codecommit:GetPullRequestApprovalStates` Erforderlich, um Informationen zu den Genehmigungsstatus für eine angegebene Pull-Anforderung zurückzugeben.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetPullRequestOverrideState](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetPullRequestOverrideState.html)  |  `codecommit:GetPullRequestOverrideState` Erforderlich, um Informationen darüber zurückzugeben, ob Genehmigungsregeln für eine Pull-Anfrage reserviert (überschrieben) wurden, und falls ja, den Amazon-Ressourcennamen (ARN) des Benutzers oder der Identität, der die Regeln und deren Anforderungen für die Pull-Anfrage außer Kraft gesetzt hat.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [ListPullRequests](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListPullRequests.html) |  `codecommit:ListPullRequests` Erforderlich für die Rückgabe von Informationen über Pull-Anfragen für ein Repository.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergePullRequestByFastForward](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergePullRequestByFastForward.html) | codecommit:MergePullRequestByFastForwardErforderlich für das Schließen einer Pull-Anforderung und die versuchte Zusammenführung des Quell-Branch mit dem Ziel-Branch einer Pull-Anforderung unter Verwendung der Mergestrategie mit Vorlauf. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergePullRequestBySquash](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergePullRequestBySquash.html) | codecommit:MergePullRequestBySquashErforderlich für das Schließen einer Pull-Anforderung und für die versuchte Zusammenführung des Quell-Branch mit dem Ziel-Branch einer Pull-Anforderung unter Verwendung der Squashmerge-Strategie. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergePullRequestByThreeWay](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergePullRequestByThreeWay.html) | codecommit:MergePullRequestByThreeWayErforderlich für das Schließen einer Pull-Anforderung und die versuchte Zusammenführung des Quell-Branch mit dem Ziel-Branch einer Pull-Anforderung unter Verwendung der „Three-Way“-Strategie. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [OverridePullRequestApprovalRules](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_OverridePullRequestApprovalRules.html) | codecommit:OverridePullRequestApprovalRules Erforderlich, um alle Genehmigungsregelanforderungen für eine Pull-Anfrage in einem Repository aufzuheben. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [PostCommentForPullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PostCommentForPullRequest.html) | codecommit:PostCommentForPullRequest Erforderlich, um einen Kommentar zu einer Pull-Anforderung in einem CodeCommit-Repository zu veröffentlichen. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [UpdatePullRequestApprovalRuleContent](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestApprovalRuleContent.html) | codecommit:UpdatePullRequestApprovalRuleContent Erforderlich, um die Struktur einer Genehmigungsregel für eine Pull-Anfrage in einem Repository zu ändern. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdatePullRequestApprovalState](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestApprovalState.html) | codecommit:UpdatePullRequestApprovalState Erforderlich, um den Status einer Genehmigung für eine Pull-Anfrage in einem Repository zu ändern. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdatePullRequestDescription](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestDescription.html) | codecommit:UpdatePullRequestDescription Erforderlich zum Ändern der Beschreibung einer Pull-Anfrage in einem CodeCommit -Repository. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [UpdatePullRequestStatus](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestStatus.html) | codecommit:UpdatePullRequestStatus Erforderlich zum Ändern des Status einer Pull-Anfrage in einem CodeCommit-Repository. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [UpdatePullRequestTitle](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestTitle.html) | codecommit:UpdatePullRequestTitle Erforderlich zum Ändern des Titels einer Pull-Anfrage in einem CodeCommit-Repository. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Berechtigungen für Aktionen auf Vorlagen für Genehmigungsregeln
<a name="aa-art"></a>

Die folgenden Berechtigungen erlauben oder verweigern Aktionen mit Genehmigungsregelvorlagen in CodeCommit -Repositorys. Diese Berechtigungen beziehen sich nur auf Aktionen, die in der CodeCommit Konsole und der CodeCommit API ausgeführt werden, und auf Befehle, die mit der AWS CLI ausgeführt werden. Sie gelten nicht für ähnliche Aktionen, die mit dem Git-Protokoll ausgeführt werden können. Entsprechende Berechtigungen für Pull-Anforderungen finden Sie unter [Berechtigungen für Aktionen bei Pull-Requests](#aa-pr).

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen auf Vorlagen für Genehmigungsregeln**  

| CodeCommit API-Operationen für Genehmigungsregelvorlagen | Erforderliche Berechtigungen  | Ressourcen | 
| --- | --- | --- | 
|  [AssociateApprovalRuleTemplateWithRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_AssociateApprovalRuleTemplateWithRepository.html)  |  `codecommit:AssociateApprovalRuleTemplateWithRepository` Erforderlich, um eine Vorlage mit einem bestimmten Repository in einem Amazon Web Services Services-Konto zu verknüpfen. Nach der Zuordnung werden automatisch Genehmigungsregeln erstellt, die den Vorlagenbedingungen für jede im angegebenen Repository erstellte Pull-Anforderung entsprechen.  |  \$1  | 
|  [BatchAssociateApprovalRuleTemplateWithRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchAssociateApprovalRuleTemplateWithRepositories.html)  |  `codecommit:BatchAssociateApprovalRuleTemplateWithRepositories` Erforderlich, um eine Vorlage mit einem oder mehreren angegebenen Repositorys in einem Amazon Web Services Services-Konto zu verknüpfen.  |  \$1  | 
|  [BatchDisassociateApprovalRuleTemplateFromRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchDisassociateApprovalRuleTemplateFromRepositories.html)  |  `codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories` Erforderlich, um eine Vorlage von einem oder mehreren angegebenen Repositorys in einem Amazon Web Services Services-Konto zu trennen.  |  \$1  | 
|  [CreateApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreateApprovalRuleTemplate.html)  |  `codecommit:CreateApprovalRuleTemplate` Erforderlich, um eine Vorlage für Genehmigungsregeln zu erstellen, die dann einzelnen oder mehreren Repositorys im AWS -Konto zugeordnet werden können.  |  \$1  | 
|  [DeleteApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteApprovalRuleTemplate.html)  |  `codecommit:DeleteApprovalRuleTemplate` Erforderlich, um die angegebene Vorlage in einem Amazon Web Services Services-Konto zu löschen. Genehmigungsregeln für bereits mit der Vorlage erstellte Pull-Anforderungen werden nicht entfernt.   |  \$1  | 
|  [DisassociateApprovalRuleTemplateFromRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DisassociateApprovalRuleTemplateFromRepository.html)  |  `codecommit:DisassociateApprovalRuleTemplateFromRepository` Erforderlich, um die angegebene Vorlage von einem Repository in einem Amazon Web Services Services-Konto zu trennen. Genehmigungsregeln für bereits mit der Vorlage erstellte Pull-Anforderungen werden nicht entfernt.   |  \$1  | 
|  [GetApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetApprovalRuleTemplate.html)  |  `codecommit:GetApprovalRuleTemplate` Erforderlich, um Informationen zu einer Vorlage für Genehmigungsregeln in einem Amazon Web Services Services-Konto zurückzugeben.   |  \$1  | 
|  [ListApprovalRuleTemplates](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListApprovalRuleTemplates.html)  |  `codecommit:ListApprovalRuleTemplates` Erforderlich, um Vorlagen für Genehmigungsregeln in einem Amazon Web Services Services-Konto aufzulisten.   |  \$1  | 
|  [ListAssociatedApprovalRuleTemplatesForRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListAssociatedApprovalRuleTemplatesForRepository.html)  |  `codecommit:ListAssociatedApprovalRuleTemplatesForRepository` Erforderlich, um alle Vorlagen für Genehmigungsregeln aufzulisten, die einem bestimmten Repository in einem Amazon Web Services Services-Konto zugeordnet sind.   |  \$1  | 
|  [ListRepositoriesForApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListRepositoriesForApprovalRuleTemplate.html)  |  `codecommit:ListRepositoriesForApprovalRuleTemplate` Erforderlich, um alle Repositorys aufzulisten, die mit einer bestimmten Genehmigungsregelvorlage in einem Amazon Web Services Services-Konto verknüpft sind.   |  \$1  | 
|  [UpdateApprovalRuleTemplateContent](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateApprovalRuleTemplateContent.html)  |  `codecommit:UpdateApprovalRuleTemplateContent` Erforderlich, um den Inhalt einer Vorlage für Genehmigungsregeln in einem Amazon Web Services Services-Konto zu aktualisieren.   |  \$1  | 
|  [UpdateApprovalRuleTemplateDescription](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateApprovalRuleTemplateDescription.html)  |  `codecommit:UpdateApprovalRuleTemplateDescription` Erforderlich, um die Beschreibung einer Vorlage für Genehmigungsregeln in einem Amazon Web Services Services-Konto zu aktualisieren.   |  \$1  | 
|  [UpdateApprovalRuleTemplateName](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateApprovalRuleTemplateName.html)  |  `codecommit:UpdateApprovalRuleTemplateName` Erforderlich, um den Namen einer Vorlage für Genehmigungsregeln in einem Amazon Web Services Services-Konto zu aktualisieren.   |  \$1  | 

## Berechtigungen für Aktionen an einzelnen Dateien
<a name="aa-files"></a>

Die folgenden Berechtigungen erlauben bzw. verweigern Aktionen auf einzelne Dateien in CodeCommit-Repositorys. Diese Berechtigungen beziehen sich nur auf Aktionen, die in der CodeCommit Konsole, der CodeCommit API ausgeführt werden, und auf Befehle, die mit der AWS CLI ausgeführt werden. Sie gelten nicht für ähnliche Aktionen, die mit dem Git-Protokoll ausgeführt werden können. Mit dem Befehl `git push` beispielsweise werden neue und geänderte Dateien im Push-Verfahren an ein CodeCommit-Repository mithilfe des Git-Protokolls übertragen. Sie wird durch keine Berechtigungen für den CodeCommit `PutFile` Vorgang beeinflusst.

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen an einzelnen Dateien**  

| CodeCommit API-Operationen für einzelne Dateien | Erforderliche Berechtigungen  | Ressourcen | 
| --- | --- | --- | 
|  [DeleteFile](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteFile.html)  |  `codecommit:DeleteFile` Erforderlich, um eine angegebene Datei aus einem bestimmten Zweig in einem CodeCommit Repository von der CodeCommit Konsole aus zu löschen.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetBlob](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetBlob.html)  |  `codecommit:GetBlob` Erforderlich, um den codierten Inhalt einer einzelnen Datei in einem Repository von der Konsole aus anzuzeigen. CodeCommit CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetFile](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetFile.html)  |  `codecommit:GetFile` Erforderlich, um den codierten Inhalt einer einzelnen Datei und ihrer Metadaten in einem Repository von der Konsole aus anzuzeigen. CodeCommit CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetFolder](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetFolder.html)  |  `codecommit:GetFolder` Erforderlich, um den Inhalt eines bestimmten Ordners in einem CodeCommit Repository von der Konsole aus anzuzeigen. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [PutFile](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PutFile.html)  |  `codecommit:PutFile` Erforderlich, um einem CodeCommit Repository eine neue oder geänderte Datei über die CodeCommit Konsole, CodeCommit API oder das hinzuzufügen. AWS CLI  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Berechtigungen für Aktionen bei Kommentaren
<a name="aa-comments"></a>

Die folgenden Berechtigungen erlauben oder verbieten Aktionen für Kommentare in CodeCommit Repositorys. Diese Berechtigungen beziehen sich auf Aktionen, die mit der CodeCommit Konsole und der CodeCommit API ausgeführt werden, sowie auf Befehle, die mit der ausgeführt werden. AWS CLI Weitere Berechtigungen für Kommentare in Pull-Anfragen finden Sie unter [Berechtigungen für Aktionen bei Pull-Requests](#aa-pr).

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Kommentare in Repositorys**  

| CodeCommit API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  [DeleteCommentContent](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteCommentContent.html)  |  `codecommit:DeleteCommentContent` Erforderlich zum Löschen des Inhalts eines Kommentars an einer Änderung, eine Datei oder einem Commit in einem Repository. Kommentare können nicht gelöscht werden, aber der Inhalt eines Kommentars kann entfernt werden, wenn der Benutzer über die entsprechende Berechtigung verfügt.   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetComment](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetComment.html)  |  `codecommit:GetComment` Erforderlich, um Informationen über einen Kommentar zu einer Änderung, Datei oder einem Commit in einem Repository zurückzugeben. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetCommentReactions](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetCommentReactions.html)  |  `codecommit:GetCommentReactions` Erforderlich, um Informationen über Emoji-Reaktionen auf einen Kommentar zu einer Änderung, Datei oder einem Commit in einem Repository zurückzugeben. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetCommentsForComparedCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetCommentsForComparedCommit.html)  |  `codecommit:GetCommentsForComparedCommit` Erforderlich, um Informationen über Kommentare zurückzugeben, die beim Vergleich zwischen zwei Commits in einem Repository abgegeben wurden. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [PostCommentForComparedCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PostCommentForComparedCommit.html)  |  `codecommit:PostCommentForComparedCommit` Erforderlich, um einen Kommentar zum Vergleich zwischen zwei Commits in einem Repository zu erstellen. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [PostCommentReply](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PostCommentReply.html) |  `codecommit:PostCommentReply` Erforderlich zum Erstellen einer Antwort auf einen Kommentar zu einem Vergleich zwischen Commits oder zu einer Pull-Anfrage.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [PutCommentReaction](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PutCommentReaction.html) |  `codecommit:PutCommentReaction` Erforderlich, um eine Emoji-Reaktion auf einen Kommentar zu erstellen oder zu aktualisieren.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdateComment](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateComment.html) |  `codecommit:UpdateComment` Erforderlich zum Bearbeiten eines Kommentars zu einem Vergleich zwischen Commits oder zu einer Pull-Anfrage. Kommentare können nur von ihrem Autor bearbeitet werden.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Berechtigungen für Aktionen an festgeschriebenem Code
<a name="aa-code"></a>

Die folgenden Berechtigungen erlauben oder verweigern Aktionen für festgeschriebenen Code CodeCommit-Repositorys. Diese Berechtigungen beziehen sich auf Aktionen, die mit der CodeCommit Konsole und der CodeCommit API ausgeführt werden, sowie auf Befehle, die mit der AWS CLI ausgeführt werden. Sie gelten nicht für ähnliche Aktionen, die mit dem Git-Protokoll ausgeführt werden können. Beispiel: Der Befehl **git commit** erstellt einen Commit für einen Branch in einem Repository mithilfe des Git-Protokolls. Es wird durch keine Berechtigungen für den CodeCommit `CreateCommit` Vorgang beeinflusst. 

Die ausdrückliche Verweigerung einiger dieser Berechtigungen kann zu unerwarteten Konsequenzen in der CodeCommit Konsole führen. Wird beispielsweise `GetTree` auf `Deny` gesetzt, wird verhindert, dass Benutzer durch die Inhalte eines Repositorys in der Konsole navigieren. Benutzer werden jedoch nicht daran gehindert, die Inhalte einer Datei im Repository anzuzeigen (wenn sie beispielsweise einen Link zu der Datei per E-Mail gesendet bekommen). Durch das Festlegen von `GetBlob` auf `Deny` wird verhindert, dass Benutzer die Inhalte von Dateien anzeigen. Benutzer werden jedoch nicht daran gehindert, die Struktur eines Repositorys zu durchsuchen. Durch das Festlegen von `GetCommit` auf `Deny` wird verhindert, dass Benutzer Details über Commits abrufen. Durch das Festlegen von `GetObjectIdentifier` auf `Deny` wird der Großteil der Funktionalität von Code-Browsing blockiert. Wenn Sie alle drei Aktionen `Deny` in einer Richtlinie auf festlegen, kann ein Benutzer mit dieser Richtlinie keinen Code in der CodeCommit Konsole durchsuchen.

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen mit festgeschriebenem Code**  

| CodeCommit API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  BatchGetCommits  |  `codecommit:BatchGetCommits` Erforderlich, um Informationen zu einem oder mehreren Commits in einem CodeCommit -Repository zurückzugeben. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [CreateCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/CreateCommit.html) |  `codecommit:CreateCommit` Erforderlich zum Erstellen eines Commits.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/GetCommit.html)  |  `codecommit:GetCommit` Erforderlich zum Abrufen von Informationen zu einem Commit.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  GetCommitHistory  |  `codecommit:GetCommitHistory` Erforderlich zum Abfragen von Informationen über den Verlauf von Commits in einem Repository. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [GetDifferences](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetDifferences.html) |  `codecommit:GetDifferences` Erforderlich zum Abfragen von Informationen über die Unterschiede zwischen Commit-Spezifizierern (wie etwa ein Branch, ein Tag, HEAD, eine Commit-ID oder andere vollständig qualifizierte Referenzen).  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| GetObjectIdentifier | codecommit:GetObjectIdentifierErforderlich zum Auflösen von Blobs, Strukturen und Commits zu ihrem Bezeichner. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| GetReferences | codecommit:GetReferencesErforderlich für die Rückgabe aller Referenzen, wie etwa Branches und Tags. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| GetTree | codecommit:GetTreeErforderlich, um den Inhalt eines angegebenen Baums in einem CodeCommit Repository von der Konsole aus anzuzeigen. CodeCommit Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Berechtigungen für Aktionen in Repositorys
<a name="aa-repositories"></a>

Die folgenden Berechtigungen erlauben oder verweigern Aktionen in CodeCommit Repositorys. Diese Berechtigungen beziehen sich auf Aktionen, die mit der CodeCommit Konsole und der CodeCommit API ausgeführt werden, sowie auf Befehle, die mit der ausgeführt werden. AWS CLI Sie gelten nicht für ähnliche Aktionen, die mit dem Git-Protokoll ausgeführt werden können. 

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen in Repositorys**  

| CodeCommit API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  [BatchGetRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchGetRepositories.html)  |  `codecommit:BatchGetRepositories` Erforderlich, um Informationen über mehrere CodeCommit Repositorys in einem Amazon Web Services Services-Konto abzurufen. In `Resource` müssen Sie die Namen aller CodeCommit Repositorys angeben, für die einem Benutzer Informationen gewährt (oder verweigert) werden.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [CreateRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/CreateRepository.html)  |  `codecommit:CreateRepository` Erforderlich, um ein Repository zu erstellen. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [DeleteRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteRepository.html)  |  `codecommit:DeleteRepository` Erforderlich, um ein Repository zu löschen. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [GetRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetRepository.html) |  `codecommit:GetRepository` Erforderlich zum Abrufen von Informationen über ein einzelnes CodeCommit-Repository.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [ListRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListRepositories.html) | codecommit:ListRepositoriesErforderlich, um eine Liste der Namen und IDs des Systems mehrerer CodeCommit Repositorys für ein Amazon Web Services Services-Konto abzurufen. Der einzige erlaubte Wert für `Resource` für diese Aktion bezieht sich auf alle Repositorys (`*`). |  \$1  | 
| [UpdateRepositoryDescription](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateRepositoryDescription.html) | codecommit:UpdateRepositoryDescriptionErforderlich, um die Beschreibung eines CodeCommit Repositorys zu ändern. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdateRepositoryName](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateRepositoryName.html) | codecommit:UpdateRepositoryNameErforderlich, um den Namen eines Repositorys zu ändern. CodeCommit In `Resource` müssen Sie sowohl die CodeCommit Repositorys angeben, die geändert werden dürfen, als auch die neuen Repository-Namen. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Berechtigungen für Aktionen mit Tags
<a name="aa-tags"></a>

Die folgenden Berechtigungen erlauben oder verweigern Aktionen mit AWS Tags für CodeCommit Ressourcen. 

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen mit Tags**  

| CodeCommit API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  [ListTagsForResource](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListTagsForResource.html)  |  `codecommit:ListTagsForResource` Erforderlich, um Informationen zu AWS Tags zurückzugeben, die auf einer Ressource in konfiguriert sind CodeCommit.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [TagResource](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_TagResource.html)  |  `codecommit:TagResource` Erforderlich, um AWS Tags für eine Ressource in hinzuzufügen oder zu bearbeiten. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [UntagResource](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UntagResource.html)  |  `codecommit:UntagResource` Erforderlich, um AWS Tags aus einer Ressource in zu entfernen. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Berechtigungen für Aktionen auf Triggern
<a name="aa-triggers"></a>

Die folgenden Berechtigungen genehmigen oder verweigern Aktionen für Auslöser von CodeCommit-Repositorys. 

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für Aktionen auf Triggern**  

| CodeCommit API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  [GetRepositoryTriggers](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetRepositoryTriggers.html)  |  `codecommit:GetRepositoryTriggers` Erforderlich für die Rückgabe von Informationen über für ein Repository konfigurierte Auslöser.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [PutRepositoryTriggers](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PutRepositoryTriggers.html)  |  `codecommit:PutRepositoryTriggers` Erforderlich zum Erstellen, Bearbeiten oder Löschen von Auslösern für ein Repository.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [TestRepositoryTriggers](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_TestRepositoryTriggers.html)  |  `codecommit:TestRepositoryTriggers` Erforderlich zum Testen der Funktionalität eines Repository-Auslösers, indem Daten an das Thema oder die Funktion gesendet werden, das bzw. die für den Auslöser konfiguriert wurde.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Berechtigungen für Aktionen bei der CodePipeline Integration
<a name="aa-acp"></a>

Um ein CodeCommit Repository in einer Quellaktion für eine Pipeline verwenden CodePipeline zu können, müssen Sie der Servicerolle für alle in der folgenden Tabelle aufgeführten Berechtigungen gewähren CodePipeline. Wenn diese Berechtigungen nicht in der Servicerolle angegeben oder auf **Deny** festgelegt sind, wird die Pipeline nicht automatisch ausgeführt, wenn eine Änderung an dem Repository vorgenommen wird, und Änderungen können nicht manuell veröffentlicht werden. 

Mit den Bildlaufleisten können Sie den Rest der Tabelle sehen.


**CodeCommit API-Operationen und erforderliche Berechtigungen für CodePipeline Integrationsaktionen**  

| CodeCommit API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
|  [GetBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetBranch.html)  |  `codecommit:GetBranch` Erforderlich zum Abrufen von Details über einen Branch in einem CodeCommit-Repository.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/GetCommit.html)  |  `codecommit:GetCommit` Erforderlich, um Informationen über einen Commit an die Servicerolle für zurückzugeben. CodePipeline   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  UploadArchive  |  `codecommit:UploadArchive` Erforderlich, damit die Servicerolle für Repository-Änderungen in eine CodePipeline Pipeline hochladen kann. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  GetUploadArchiveStatus  |  `codecommit:GetUploadArchiveStatus` Erforderlich zum Bestimmen des Status des Hochladens des Archivs, etwa ob es sich in Bearbeitung befindet, abgeschlossen ist, abgebrochen wurde oder ob ein Fehler aufgetreten ist. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die Sie aufrufen können.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| CancelUploadArchive | codecommit:CancelUploadArchiveErforderlich zum Abbrechen des Uploads eines Archivs in eine Pipeline. Dies ist nur eine IAM-Richtlinienberechtigung, keine API-Aktion, die aufgerufen werden kann. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

# Wie AWS CodeCommit funktioniert mit IAM
<a name="security_iam_service-with-iam"></a>

Bevor Sie IAM verwenden, um den Zugriff auf zu verwalten CodeCommit, sollten Sie wissen, mit welchen IAM-Funktionen Sie verwenden können. CodeCommit *Einen allgemeinen Überblick darüber, wie CodeCommit und andere AWS Dienste mit IAM funktionieren, finden Sie im IAM-Benutzerhandbuch unter [AWS Services That Work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

**Topics**
+ [Bedingungsschlüssel](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [Beispiele](#security_iam_service-with-iam-id-based-policies-examples)

## Bedingungsschlüssel
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Condition` gibt an, wann Anweisungen auf der Grundlage definierter Kriterien ausgeführt werden. Sie können bedingte Ausdrücke erstellen, die [Bedingungsoperatoren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter [Kontextschlüssel für AWS globale Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

CodeCommit definiert seinen eigenen Satz von Bedingungsschlüsseln und unterstützt auch die Verwendung einiger globaler Bedingungsschlüssel. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter [AWS Globale Bedingungskontextschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

 Einige CodeCommit Aktionen unterstützen den `codecommit:References` Bedingungsschlüssel. Eine Beispielrichtlinie, die diesen Schlüssel verwendet, finden Sie unter [Beispiel 4: Aktionen für Branches verweigern oder zulassen](customer-managed-policies.md#identity-based-policies-example-4). 

Eine Liste der CodeCommit Bedingungsschlüssel finden Sie unter [Bedingungsschlüssel für AWS CodeCommit](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodecommit.html#awscodecommit-policy-keys) im *IAM-Benutzerhandbuch*. Informationen zu den Aktionen und Ressourcen, mit denen Sie einen Bedingungsschlüssel verwenden können, finden Sie unter [Definierte Aktionen von AWS CodeCommit](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodecommit.html#awscodecommit-actions-as-permissions).

## Beispiele
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Beispiele für CodeCommit identitätsbasierte Richtlinien finden Sie unter. [AWS CodeCommit Beispiele für identitätsbasierte Richtlinien](security-iam.md#security_iam_id-based-policy-examples)

## CodeCommit ressourcenbasierte Richtlinien
<a name="security_iam_service-with-iam-resource-based-policies"></a>

CodeCommit unterstützt keine ressourcenbasierten Richtlinien. 

## Autorisierung auf der Grundlage von Tags CodeCommit
<a name="security_iam_service-with-iam-tags"></a>

Sie können Tags an CodeCommit Ressourcen anhängen oder Tags in einer Anfrage an übergeben CodeCommit. Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer[ Richtlinie Tag-Informationen ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)an, indem Sie die Schlüssel `codecommit:ResourceTag/key-name`, `aws:RequestTag/key-name`, oder Bedingung `aws:TagKeys` verwenden. Weitere Informationen zum Markieren von CodeCommit Ressourcen finden Sie unter[Beispiel 5: Aktionen für Repositorys mit Tags verweigern oder zulassen](customer-managed-policies.md#identity-based-policies-example-5). Weitere Informationen zu Tagging-Strategien finden Sie unter [AWS Tagging](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) Resources.

CodeCommit unterstützt auch Richtlinien, die auf Sitzungs-Tags basieren. Weitere Informationen finden Sie unter [Sitzungs-Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) 

### Verwendung von Tags zur Bereitstellung von Identitätsinformationen in CodeCommit
<a name="security-iam_service-with-iam-tags-identity"></a>

CodeCommit unterstützt die Verwendung von Sitzungs-Tags, bei denen es sich um Schlüssel-Wert-Paarattribute handelt, die Sie übergeben, wenn Sie eine IAM-Rolle übernehmen, temporäre Anmeldeinformationen verwenden oder einen Benutzer in () verbinden. AWS -Security-Token-Service AWS STS Sie können Tags auch einem IAM-Benutzer zuordnen. Sie können die in diesen Tags enthaltenen Informationen verwenden, um leichter zu ermitteln, wer eine Änderung vorgenommen oder ein Ereignis verursacht hat. CodeCommit schließt die Werte für Tags mit den folgenden Schlüsselnamen in CodeCommit Ereignisse ein:


****  

| Tastenname | Wert | 
| --- | --- | 
| displayName | Der für den Benutzer lesbare Name, der angezeigt und mit dem Benutzer verknüpft werden soll (z. B. Mary Major oder Saanvi Sarkar). | 
| emailAddress | Die E-Mail-Adresse, die für den Benutzer angezeigt und mit ihm verknüpft werden soll (z. B. mary\$1major@example.com oder saanvi\$1sarkar@example.com). | 

Wenn diese Informationen bereitgestellt werden, werden sie CodeCommit in Veranstaltungen aufgenommen, die an Amazon EventBridge und Amazon CloudWatch Events gesendet werden. Weitere Informationen finden Sie unter [Überwachung von CodeCommit Ereignissen in Amazon EventBridge und Amazon CloudWatch Events](monitoring-events.md).

Um die Sitzungsmarkierung zu verwenden, müssen Rollen Richtlinien enthalten, bei denen die `sts:TagSession`-Berechtigung auf `Allow` gesetzt ist. Wenn Sie den Verbundzugriff verwenden, können Sie den Anzeigenamen und die E-Mail-Tag-Informationen im Rahmen Ihrer Einrichtung konfigurieren. Wenn Sie beispielsweise Azure Active Directory verwenden, können Sie die folgenden Antragsinformationen angeben:


****  

| Name des Antrags | Wert | 
| --- | --- | 
| https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName | user.displayname | 
| https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress | user.mail | 

Sie können die verwenden AWS CLI , um Sitzungs-Tags zu übergeben `displayName` und zu `emailAddress` verwenden**AssumeRole**. Beispielsweise *Mary Major* könnte ein Benutzer, der eine Rolle mit dem Namen *Developer* Wer möchte ihm seinen Namen zuordnen möchten, den **assume-role** Befehl ähnlich dem folgenden verwenden:

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Developer \
--role-session-name Mary-Major \
–-tags Key=displayName,Value="Mary Major" Key=emailAddress,Value="mary_major@example.com" \
--external-id Example987
```

Weitere Informationen finden Sie unter [AssumeRole](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role).

Sie können den Vorgang `AssumeRoleWithSAML` verwenden, um einen Satz temporärer Anmeldeinformationen zurückzugeben, die die Tags `emailAddress` und `displayName` enthalten. Sie können diese Tags verwenden, wenn Sie auf CodeCommit-Repositorys zugreifen. Dies setzt voraus, dass Ihr Unternehmen oder Ihre Gruppe Ihre SAML-Lösung eines Drittanbieters bereits integriert hat. AWS Wenn dies der Fall ist, können Sie SAML-Attribute als Sitzungs-Tags übergeben. Wenn Sie beispielsweise Identitätsattribute für einen Anzeigenamen und eine E-Mail-Adresse für einen Benutzer übergeben möchten, der *Saanvi Sarkar* als Sitzungs-Tags benannt ist:

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName">
  <AttributeValue>Saanvi Sarkar</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress">
  <AttributeValue>saanvi_sarkar@example.com</AttributeValue>
</Attribute>
```

Weitere Informationen finden Sie unter [Übergeben von Sitzungs-Tags mithilfe von AssumeRoleWith SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role-saml).

Sie können den Vorgang `AssumeRoleWithIdentity` verwenden, um einen Satz temporärer Anmeldeinformationen zurückzugeben, die die Tags `emailAddress` und `displayName` enthalten. Sie können diese Tags verwenden, wenn Sie auf CodeCommit-Repositorys zugreifen. Um Sitzungs-Tags von OpenID Connect (OIDC) zu übergeben, müssen Sie die Sitzungs-Tags in das JSON Web Token (JWT) einbeziehen. Zum Beispiel enthält das dekodierte JWP-Token, das für den Aufruf verwendet wird`AssumeRoleWithWebIdentity`, die Tags `displayName` und die `emailAddress` Sitzungs-Tags für einen Benutzer mit dem Namen: *Li Juan*

```
{
    "sub": "lijuan",
    "aud": "ac_oic_client",
    "jti": "ZYUCeREXAMPLE",
    "iss": "https://xyz.com",
    "iat": 1566583294,
    "exp": 1566583354,
    "auth_time": 1566583292,
    "https://aws.amazon.com/tags": {
        "principal_tags": {
            "displayName": ["Li Juan"],
            "emailAddress": ["li_juan@example.com"],
        },
        "transitive_tag_keys": [
            "displayName",
            "emailAddress"
        ]
    }
}
```

Weitere Informationen finden Sie unter [Übergeben von Sitzungs-Tags mithilfe](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role-idp) von. AssumeRoleWithWebIdentity

Sie können den Vorgang `GetFederationToken` verwenden, um einen Satz temporärer Anmeldeinformationen zurückzugeben, die die Tags `emailAddress` und `displayName` enthalten. Sie können diese Tags verwenden, wenn Sie auf CodeCommit-Repositorys zugreifen. Um beispielsweise den zu verwenden, AWS CLI um ein Verbund-Token abzurufen, das die `emailAddress` Tags `displayName` und enthält:

```
aws sts get-federation-token \
--name my-federated-user \
–-tags key=displayName,value="Nikhil Jayashankar" key=emailAddress,value=nikhil_jayashankar@example.com
```

Weitere Informationen finden Sie unter [Übergeben von Sitzungs-Tags mithilfe von GetFederationToken](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-getfederationtoken).

## CodeCommit IAM-Rollen
<a name="security_iam_service-with-iam-roles"></a>

Eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) ist eine Entität in Ihrem Amazon–Web-Services-Konto mit spezifischen Berechtigungen.

### Verwenden temporärer Anmeldeinformationen mit CodeCommit
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Sie können temporäre Anmeldeinformationen verwenden, um sich über einen Verbund anzumelden, eine IAM-Rolle anzunehmen oder eine kontenübergreifende Rolle anzunehmen. Sie erhalten temporäre Sicherheitsanmeldedaten, indem Sie AWS STS API-Operationen wie [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)oder aufrufen [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

CodeCommit unterstützt die Verwendung temporärer Anmeldeinformationen. Weitere Informationen finden Sie unter [Verbindung zu AWS CodeCommit Repositorys mit rotierenden Anmeldeinformationen herstellen](temporary-access.md).

### Service-verknüpfte Rollen
<a name="security_iam_service-with-iam-roles-service-linked"></a>

Mit [dienstbezogenen Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) können AWS Dienste auf Ressourcen in anderen Diensten zugreifen, um eine Aktion in Ihrem Namen auszuführen. Serviceverknüpfte Rollen werden in Ihrem IAM-Konto angezeigt und gehören zum Service. Ein IAM-Administrator kann die Berechtigungen für serviceverknüpfte Rollen anzeigen, aber nicht bearbeiten.

CodeCommit verwendet keine dienstbezogenen Rollen. 

### Servicerollen
<a name="security_iam_service-with-iam-roles-service"></a>

Dieses Feature ermöglicht einem Service das Annehmen einer [Servicerolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) in Ihrem Namen. Diese Rolle gewährt dem Service Zugriff auf Ressourcen in anderen Diensten, um eine Aktion in Ihrem Namen auszuführen. Servicerollen werden in Ihrem IAM-Konto angezeigt und gehören zum Konto. Dies bedeutet, dass ein IAM-Administrator die Berechtigungen für diese Rolle ändern kann. Dies kann jedoch die Funktionalität des Dienstes beeinträchtigen.

CodeCommit verwendet keine Servicerollen. 

## AWS CodeCommit Beispiele für identitätsbasierte Richtlinien
<a name="security_iam_id-based-policy-examples"></a>

IAM-Benutzer besitzen keine Berechtigungen zum Erstellen oder Ändern von CodeCommit -Ressourcen. Sie können auch keine Aufgaben mit der AWS-Managementkonsole AWS CLI, oder AWS API ausführen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern und Rollen die Berechtigung zum Ausführen bestimmter API-Operationen für die angegebenen Ressourcen gewähren, die diese benötigen. Der Administrator muss diese Richtlinien anschließend den IAM-Benutzern oder -Gruppen anfügen, die diese Berechtigungen benötigen.

Beispiele für diese Richtlinien finden Sie unter:
+  [Beispiel 1: Erlauben Sie einem Benutzer, Operationen in einem einzigen System auszuführen CodeCommit AWS-Region](customer-managed-policies.md#identity-based-policies-example-1)
+ [Beispiel 2: Erlaube einem Benutzer, Git für ein einzelnes Repository zu verwenden](customer-managed-policies.md#identity-based-policies-example-2)
+ [Beispiel 3: Erlaubt einem Benutzer, der von einem bestimmten IP-Adressbereich aus eine Verbindung herstellt, Zugriff auf ein Repository](customer-managed-policies.md#identity-based-policies-example-3)
+ [Beispiel 4: Aktionen für Branches verweigern oder zulassen](customer-managed-policies.md#identity-based-policies-example-4)
+ [Beispiel 5: Aktionen für Repositorys mit Tags verweigern oder zulassen](customer-managed-policies.md#identity-based-policies-example-5)
+ [Konfiguriere den kontoübergreifenden Zugriff auf ein AWS CodeCommit Repository mithilfe von Rollen](cross-account.md)

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter [Erstellen von Richtlinien auf der JSON-Registerkarte](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) im *IAM-Benutzerhandbuch*.

**Topics**
+ [Best Practices für Richtlinien](#security_iam_service-with-iam-policy-best-practices)
+ [Verwenden der Konsole CodeCommit](#security_iam_id-based-policy-examples-console)
+ [Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Anzeige CodeCommit *repositories* basierend auf Tags](#security_iam_id-based-policy-examples-view-repositories-tags)

### Best Practices für Richtlinien
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Identitätsbasierte Richtlinien legen fest, ob jemand CodeCommit Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Beachten Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Richtlinien und Empfehlungen:
+ **Erste Schritte mit AWS verwalteten Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten** — Verwenden Sie die *AWS verwalteten Richtlinien*, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um damit zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter [Von AWS verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) oder [Von AWS verwaltete Richtlinien für Auftragsfunktionen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) im *IAM-Benutzerhandbuch*.
+ **Anwendung von Berechtigungen mit den geringsten Rechten** – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als *die geringsten Berechtigungen*. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter [ Richtlinien und Berechtigungen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs** – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. CloudFormation B. Weitere Informationen finden Sie unter [IAM-JSON-Richtlinienelemente: Bedingung](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten** – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter [Richtlinienvalidierung mit IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) im *IAM-Benutzerhandbuch*.
+ **Multi-Faktor-Authentifizierung (MFA) erforderlich** — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter [Sicherer API-Zugriff mit MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) im *IAM-Benutzerhandbuch*.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter [Best Practices für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

### Verwenden der Konsole CodeCommit
<a name="security_iam_id-based-policy-examples-console"></a>

Um auf die AWS CodeCommit Konsole zugreifen zu können, benötigen Sie ein Mindestmaß an Berechtigungen. Diese Berechtigungen müssen es Ihnen ermöglichen, Informationen zu den CodeCommit Ressourcen in Ihrem Amazon Web Services Services-Konto aufzulisten und einzusehen. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Entitäten (IAM-Benutzer oder -Rollen) mit dieser Richtlinie.

Um sicherzustellen, dass diese Entitäten die CodeCommit Konsole weiterhin verwenden können, fügen Sie den Entitäten außerdem die folgende AWS verwaltete Richtlinie hinzu. Weitere Informationen finden Sie unter [Hinzufügen von Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) zu einem Benutzer im* IAM-Benutzerhandbuch*:

Weitere Informationen finden Sie unter [Verwendung identitätsbasierter Richtlinien (IAM-Richtlinien) für CodeCommit](auth-and-access-control-iam-identity-based-access-control.md).

Sie müssen Benutzern, die nur die API AWS CLI oder die AWS API aufrufen, keine Mindestberechtigungen für die Konsole gewähren. Stattdessen sollten Sie nur Zugriff auf die Aktionen zulassen, die den API-Operation entsprechen, die Sie ausführen möchten.

### Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe der API AWS CLI oder AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

### Anzeige CodeCommit *repositories* basierend auf Tags
<a name="security_iam_id-based-policy-examples-view-repositories-tags"></a>

Sie können in Ihrer identitätsbasierten Richtlinie Bedingungen für die Steuerung des Zugriffs auf CodeCommit -Ressourcen auf der Basis von Tags verwenden. Eine Beispielrichtlinie, die die Vorgehensweise veranschaulicht, finden Sie unter [Beispiel 5: Aktionen für Repositorys mit Tags verweigern oder zulassen](customer-managed-policies.md#identity-based-policies-example-5).

Weitere Informationen finden Sie unter [IAM-JSON-Richtlinienelemente: Bedingung](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) im *IAM-Benutzerhandbuch*.

## Problembehandlung bei AWS CodeCommit Identität und Zugriff
<a name="security_iam_troubleshoot"></a>

Verwenden Sie die folgenden Informationen, um häufig auftretende Probleme zu diagnostizieren und zu beheben, die bei der Arbeit mit CodeCommit und IAM auftreten können.

**Topics**
+ [Ich bin nicht berechtigt, eine Aktion durchzuführen in CodeCommit](#security_iam_troubleshoot-no-permissions)
+ [Ich bin nicht berechtigt, iam auszuführen: PassRole](#security_iam_troubleshoot-passrole)
+ [Ich möchte meine Zugriffsschlüssel anzeigen](#security_iam_troubleshoot-access-keys)
+ [Ich bin Administrator und möchte anderen den Zugriff ermöglichen CodeCommit](#security_iam_troubleshoot-admin-delegate)
+ [Ich möchte Personen außerhalb meines Amazon Web Services Services-Kontos den Zugriff auf meine CodeCommit Ressourcen ermöglichen](#security_iam_troubleshoot-cross-account-access)

### Ich bin nicht berechtigt, eine Aktion durchzuführen in CodeCommit
<a name="security_iam_troubleshoot-no-permissions"></a>

Wenn Ihnen AWS-Managementkonsole mitgeteilt wird, dass Sie nicht berechtigt sind, eine Aktion durchzuführen, müssen Sie sich an Ihren Administrator wenden, um Unterstützung zu erhalten. Ihr Administrator hat Ihnen Ihre Anmeldeinformationen zur Verfügung gestellt.

Weitere Informationen finden Sie unter [Für die Verwendung der Konsole sind Berechtigungen erforderlich CodeCommit](auth-and-access-control-iam-identity-based-access-control.md#console-permissions).

### Ich bin nicht berechtigt, iam auszuführen: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Wenn Sie die Fehlermeldung erhalten, dass Sie nicht zum Durchführen der `iam:PassRole`-Aktion autorisiert sind, müssen Ihre Richtlinien aktualisiert werden, um eine Rolle an CodeCommit übergeben zu können.

Einige AWS-Services ermöglichen es Ihnen, eine bestehende Rolle an diesen Dienst zu übergeben, anstatt eine neue Servicerolle oder eine dienstverknüpfte Rolle zu erstellen. Hierzu benötigen Sie Berechtigungen für die Übergabe der Rolle an den Dienst.

Der folgende Beispielfehler tritt auf, wenn ein IAM-Benutzer mit dem Namen `marymajor` versucht, die Konsole zu verwenden, um eine Aktion in CodeCommit auszuführen. Die Aktion erfordert jedoch, dass der Service über Berechtigungen verfügt, die durch eine Servicerolle gewährt werden. Mary besitzt keine Berechtigungen für die Übergabe der Rolle an den Dienst.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

In diesem Fall müssen die Richtlinien von Mary aktualisiert werden, um die Aktion `iam:PassRole` ausführen zu können.

Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren AWS Administrator. Ihr Administrator hat Ihnen Ihre Anmeldeinformationen odzur Verfügung gestellt.

### Ich möchte meine Zugriffsschlüssel anzeigen
<a name="security_iam_troubleshoot-access-keys"></a>

Nachdem Sie Ihre IAM-Benutzerzugriffsschlüssel erstellt haben, können Sie Ihre Zugriffsschlüssel-ID jederzeit anzeigen. Sie können Ihren geheimen Zugriffsschlüssel jedoch nicht erneut anzeigen. Wenn Sie den geheimen Zugriffsschlüssel verlieren, müssen Sie ein neues Zugriffsschlüsselpaar erstellen. 

Zugriffsschlüssel bestehen aus zwei Teilen: einer Zugriffsschlüssel-ID (z. B. `AKIAIOSFODNN7EXAMPLE`) und einem geheimen Zugriffsschlüssel (z. B. `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`). Ähnlich wie bei Benutzernamen und Passwörtern müssen Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel zusammen verwenden, um Ihre Anforderungen zu authentifizieren. Verwalten Sie Ihre Zugriffsschlüssel so sicher wie Ihren Benutzernamen und Ihr Passwort.

**Wichtig**  
Geben Sie Ihre Zugriffsschlüssel nicht an Dritte weiter, auch nicht für die [Suche nach Ihrer kanonischen Benutzer-ID](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId). Auf diese Weise können Sie jemandem dauerhaften Zugriff auf Ihre gewähren AWS-Konto.

Während der Erstellung eines Zugriffsschlüsselpaars werden Sie aufgefordert, die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel an einem sicheren Speicherort zu speichern. Der geheime Zugriffsschlüssel ist nur zu dem Zeitpunkt verfügbar, an dem Sie ihn erstellen. Wenn Sie Ihren geheimen Zugriffsschlüssel verlieren, müssen Sie Ihrem IAM-Benutzer neue Zugriffsschlüssel hinzufügen. Sie können maximal zwei Zugriffsschlüssel besitzen. Wenn Sie bereits zwei Zugriffschlüssel besitzen, müssen Sie ein Schlüsselpaar löschen, bevor Sie ein neues erstellen. Anweisungen hierfür finden Sie unter [Verwalten von Zugriffsschlüsseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey) im *IAM-Benutzerhandbuch*.

### Ich bin Administrator und möchte anderen den Zugriff ermöglichen CodeCommit
<a name="security_iam_troubleshoot-admin-delegate"></a>

Um anderen den Zugriff zu ermöglichen CodeCommit, müssen Sie den Personen oder Anwendungen, die Zugriff benötigen, die entsprechenden Berechtigungen erteilen. Wenn Sie Personen und Anwendungen verwalten, weisen Sie Benutzern oder Gruppen Berechtigungssätze zu, um deren Zugriffsebene zu definieren. AWS IAM Identity Center Mit Berechtigungssätzen werden automatisch IAM-Richtlinien erstellt und den IAM-Rollen zugewiesen, die der Person oder Anwendung zugeordnet sind. Weitere Informationen finden Sie im *AWS IAM Identity Center Benutzerhandbuch* unter [Berechtigungssätze](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html).

Wenn Sie IAM Identity Center nicht verwenden, müssen Sie IAM-Entitäten (Benutzer oder Rollen) für die Personen oder Anwendungen erstellen, die Zugriff benötigen. Anschließend müssen Sie der Entität eine Richtlinie anfügen, die dieser die korrekten Berechtigungen in CodeCommit gewährt. Nachdem die Berechtigungen erteilt wurden, stellen Sie dem Benutzer oder Anwendungsentwickler die Anmeldeinformationen zur Verfügung. Sie werden diese Anmeldeinformationen für den Zugriff verwenden AWS. *Weitere Informationen zum Erstellen von IAM-Benutzern, -Gruppen, -Richtlinien und -Berechtigungen finden Sie im [IAM-Benutzerhandbuch unter IAM-Identitäten](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) [sowie Richtlinien und Berechtigungen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).*

### Ich möchte Personen außerhalb meines Amazon Web Services Services-Kontos den Zugriff auf meine CodeCommit Ressourcen ermöglichen
<a name="security_iam_troubleshoot-cross-account-access"></a>

Weitere Informationen finden Sie unter [Konfiguriere den kontoübergreifenden Zugriff auf ein AWS CodeCommit Repository mithilfe von Rollen](cross-account.md).

# Resilienz in AWS CodeCommit
<a name="disaster-recovery-resiliency"></a>

Die AWS globale Infrastruktur basiert AWS-Regionen auf Availability Zones. AWS-Regionen bieten mehrere physisch getrennte und isolierte Availability Zones, die über Netzwerke mit niedriger Latenz, hohem Durchsatz und hoher Redundanz miteinander verbunden sind. Mithilfe von Availability Zones können Sie Anwendungen und Datenbanken erstellen und ausführen, die automatisch Failover zwischen Zonen ausführen, ohne dass es zu Unterbrechungen kommt. Availability Zones sind besser verfügbar, fehlertoleranter und skalierbarer als herkömmliche Infrastrukturen mit einem oder mehreren Rechenzentren. 

Eine Vorlage für ein CodeCommit Repository oder eine CodeCommit Genehmigungsregel ist dort vorhanden AWS-Region , wo sie erstellt wurde. Weitere Informationen finden Sie unter [Regionen und Git-Verbindungsendpunkte für AWS CodeCommit](regions.md). Um die Stabilität von Repositorys zu erhöhen, kannst du deinen Git-Client so konfigurieren, dass er auf zwei Repositorys gleichzeitig pusht. Weitere Informationen finden Sie unter [Push Commits in ein zusätzliches Git-Repository](how-to-mirror-repo-pushes.md).

[Weitere Informationen zu Availability Zones AWS-Regionen und Availability Zones finden Sie unter Globale Infrastruktur AWS .](https://aws.amazon.com/about-aws/global-infrastructure/)

# Infrastruktursicherheit in AWS CodeCommit
<a name="infrastructure-security"></a>

Als verwalteter Service AWS CodeCommit ist er durch die AWS globalen Netzwerksicherheitsverfahren geschützt, die im Whitepaper [Amazon Web Services: Sicherheitsprozesse im Überblick](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf) beschrieben sind.

Sie verwenden AWS veröffentlichte API-Aufrufe, um CodeCommit über das Netzwerk darauf zuzugreifen. Kunden müssen Transport Layer Security (TLS) 1.0 oder neuer unterstützen. Wir empfehlen TLS 1.2 oder höher. Clients müssen außerdem Verschlüsselungssammlungen mit PFS (Perfect Forward Secrecy) wie DHE (Ephemeral Diffie-Hellman) oder ECDHE (Elliptic Curve Ephemeral Diffie-Hellman) unterstützen. Die meisten modernen Systemen wie Java 7 und höher unterstützen diese Modi.

Anforderungen müssen mit einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel signiert sein, der mit einem IAM-Prinzipal verknüpft ist. Alternativ können Sie mit [AWS -Security-Token-Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) temporäre Sicherheitsanmeldeinformationen erstellen, um die Anforderungen zu signieren.

Sie können diese API-Operationen von jedem Netzwerkstandort aus aufrufen, CodeCommit unterstützt jedoch Einschränkungen, die auf der Quell-IP-Adresse basieren. Sie können auch CodeCommit Richtlinien verwenden, um den Zugriff von bestimmten Amazon Virtual Private Cloud (Amazon VPC) -Endpunkten oder bestimmten zu kontrollieren. VPCs Dadurch wird der Netzwerkzugriff auf eine bestimmte CodeCommit Ressource effektiv nur von der spezifischen VPC im AWS Netzwerk isoliert.

Weitere Informationen finden Sie hier:
+ [Beispiel 1: Erlauben Sie einem Benutzer, Operationen in einem einzigen System auszuführen CodeCommit AWS-Region](customer-managed-policies.md#identity-based-policies-example-1)
+ [Beispiel 3: Erlaubt einem Benutzer, der von einem bestimmten IP-Adressbereich aus eine Verbindung herstellt, Zugriff auf ein Repository](customer-managed-policies.md#identity-based-policies-example-3)
+ [Verwendung AWS CodeCommit mit VPC-Endpunkten mit Schnittstelle](codecommit-and-interface-VPC.md)