

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.

# 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:\* | 
| Alle CodeCommit Repositorys, die dem angegebenen Konto im angegebenen Konto gehören AWS-Region | arn:aws:codecommit::: \* {{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 (\*) 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 (\*) im `Resource` Element wie folgt:

```
"Resource": "{{*}}"
```

Sie können auch das Platzhalterzeichen (\*) 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*. 