

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.

# Identitäts- und Zugriffsmanagement für AWS CodePipeline
<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. CodePipeline 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)
+ [Wie AWS CodePipeline funktioniert mit IAM](security_iam_service-with-iam.md)
+ [AWS CodePipeline Beispiele für identitätsbasierte Richtlinien](security_iam_id-based-policy-examples.md)
+ [AWS CodePipeline Beispiele für ressourcenbasierte Richtlinien](security_iam_resource-based-policy-examples.md)
+ [Fehlerbehebung bei AWS CodePipeline Identität und Zugriff](security_iam_troubleshoot.md)
+ [Berechtigungsreferenz](permissions-reference.md)
+ [Verwalten Sie die CodePipeline Servicerolle](how-to-custom-role.md)

## 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 [Fehlerbehebung bei AWS CodePipeline Identität und Zugriff](security_iam_troubleshoot.md)).
+ **Serviceadministrator** – Bestimmen Sie den Benutzerzugriff und stellen Sie Berechtigungsanfragen (siehe [Wie AWS CodePipeline funktioniert mit IAM](security_iam_service-with-iam.md)).
+ **IAM-Administrator** – Schreiben Sie Richtlinien zur Zugriffsverwaltung (siehe [AWS CodePipeline Beispiele für identitätsbasierte Richtlinien](security_iam_id-based-policy-examples.md)).

## 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*.

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

 Wenn Sie eine erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, dem so genannten AWS-Konto *Root-Benutzer*, der vollständigen Zugriff auf alle Ressourcen hat. AWS-Services 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) oder indem Sie eine AWS Oder-API-Operation AWS CLI 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.

### 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*.

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

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

**Topics**
+ [CodePipeline identitätsbasierte Richtlinien](#security_iam_service-with-iam-id-based-policies)
+ [CodePipeline ressourcenbasierte Richtlinien](#security_iam_service-with-iam-resource-based-policies)
+ [Autorisierung auf der Grundlage von Tags CodePipeline](#security_iam_service-with-iam-tags)
+ [CodePipeline IAM-Rollen](#security_iam_service-with-iam-roles)

## CodePipeline identitätsbasierte Richtlinien
<a name="security_iam_service-with-iam-id-based-policies"></a>

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen erteilt oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. CodePipeline unterstützt bestimmte Aktionen, Ressourcen und Bedingungsschlüssel. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der [IAM-Referenz für JSON-Richtlinienelemente](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) im *IAM-Benutzerhandbuch*.

### Aktionen
<a name="security_iam_service-with-iam-id-based-policies-actions"></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 `Action` einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Nehmen Sie Aktionen in eine Richtlinie auf, um Berechtigungen zur Ausführung des zugehörigen Vorgangs zu erteilen.

Bei Richtlinienaktionen wird vor der Aktion das folgende Präfix CodePipeline verwendet:`codepipeline:`. 

Um beispielsweise jemandem die Berechtigung zum Anzeigen der vorhandenen Pipelines im Konto zu erteilen, fügen Sie die Aktion `codepipeline:GetPipeline` in ihre Richtlinie ein. Richtlinienerklärungen müssen `Action` entweder ein `NotAction` Oder-Element enthalten. CodePipeline definiert einen eigenen Satz von Aktionen, die Aufgaben beschreiben, die Sie mit diesem Dienst ausführen können.

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:

```
"Action": [
      "codepipeline:action1",
      "codepipeline:action2"
```

Sie können auch Platzhalter verwenden, um mehrere Aktionen anzugeben. Beispielsweise können Sie alle Aktionen festlegen, die mit dem Wort `Get` beginnen, einschließlich der folgenden Aktion:

```
"Action": "codepipeline:Get*"
```



Eine Liste der CodePipeline [Aktionen finden Sie AWS CodePipeline im *IAM-Benutzerhandbuch* unter Definierte Aktionen von](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions).

### Ressourcen
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

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

Das JSON-Richtlinienelement `Resource` gibt die Objekte an, auf welche die Aktion angewendet wird. Als Best Practice geben Sie eine Ressource mit dem zugehörigen [Amazon-Ressourcennamen (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) an. Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, einen Platzhalter (\$1), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

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



#### Ressourcen und Abläufe
<a name="ACP_ARN_Format"></a>

In ist die primäre Ressource eine Pipeline. In einer Richtlinie identifizieren Sie die Ressource, für welche die Richtlinie gilt, mithilfe eines Amazon-Ressourcennamens (ARN). unterstützt weitere Ressourcen, die mit der primären Ressource verwendet werden können, wie z. B. Stufen, Aktionen und benutzerdefinierte Aktionen. Diese werden als Unterressourcen bezeichnet. Diesen Ressourcen und Unterressourcen sind eindeutige Amazon-Ressourcennamen (ARNs) zugeordnet. 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* Um den mit Ihrer Pipeline verknüpften Pipeline-ARN abzurufen, finden Sie den Pipeline-ARN unter **Einstellungen** in der Konsole. Weitere Informationen finden Sie unter [Den Pipeline-ARN und die Servicerolle ARN (Konsole) anzeigen](pipelines-settings-console.md).


| Ressourcentyp | ARN-Format | 
| --- | --- | 
|  Pipeline  |  arn:aws:codepipeline::: *region* *account* *pipeline-name*  | 
| Stage |  arn:aws:codepipeline:::/*region**account**pipeline-name**stage-name*  | 
| Action |  arn:aws:codepipeline:::/*region**account**pipeline-name**stage-name**action-name*  | 
| Benutzerdefinierte Aktion | arn:aws:codepipeline: ::Aktionstyp:///regionaccountownercategoryproviderversion | 
|  Alle Ressourcen  |  arn:aws:codepipeline: \$1  | 
|  Alle -Ressourcen, die sich im Besitz des angegebenen Kontos in der angegebenen Region befinden  |  arn:aws:codepipeline::: \$1 *region* *account*  | 

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

In gibt es API-Aufrufe, die Berechtigungen auf Ressourcenebene unterstützen. Berechtigungen auf Ressourcenebene geben an, ob ein API-Aufruf einen Ressourcen-ARN angeben können, oder ob der API-Aufruf nur alle Ressourcen unter Verwendung des Platzhalters angeben kann. Eine [Berechtigungsreferenz](permissions-reference.md) ausführliche Beschreibung der Berechtigungen auf Ressourcenebene und eine Liste der CodePipeline API-Aufrufe, die Berechtigungen auf Ressourcenebene unterstützen, finden Sie unter.

Sie können beispielsweise eine bestimmte Pipeline (*myPipeline*) in Ihrer Anweisung angeben, indem Sie ihren ARN wie folgt verwenden:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"
```

Sie können auch alle Pipelines angeben, die zu einem bestimmten Konto gehören, indem Sie das Platzhalterzeichen (\$1) wie folgt verwenden:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"
```

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": "*"
```

**Anmerkung**  
Beachten Sie bei der Erstellung von IAM-Richtlinien die standardmäßigen Sicherheitsempfehlungen zur Gewährung der geringsten Rechte, d. h. gewähren Sie nur die Berechtigungen, die für die Ausführung einer Aufgabe erforderlich sind. Wenn ein API-Aufruf dies unterstützt ARNs, unterstützt er Berechtigungen auf Ressourcenebene, und Sie müssen das Platzhalterzeichen (\$1) nicht verwenden.

Einige API-Aufrufe akzeptieren mehrere Ressourcen (z. B.). `GetPipeline` Um mehrere Ressourcen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt ARNs durch Kommas:

```
"Resource": ["arn1", "arn2"]
```

 bietet eine Reihe von Operationen für die Arbeit mit den Ressourcen. Eine Liste der verfügbaren Operationen finden Sie unter [Berechtigungsreferenz](permissions-reference.md).

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

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was 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*.

CodePipeline 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*.



 Alle Amazon EC2-Aktionen unterstützen die Bedingungsschlüssel `aws:RequestedRegion` und `ec2:Region`. Weitere Informationen finden Sie unter [Beispiel: Einschränken des Zugriffs auf eine bestimmte Region](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region). 

Eine Liste der CodePipeline Bedingungsschlüssel finden Sie unter [Bedingungsschlüssel für AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-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 CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions).

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



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

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

CodePipeline unterstützt keine ressourcenbasierten Richtlinien. Es wird jedoch ein Beispiel für eine ressourcenbasierte Richtlinie für den S3-Dienst bereitgestellt, der sich auf. CodePipeline 

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



Beispiele für CodePipeline ressourcenbasierte Richtlinien finden Sie unter [AWS CodePipeline Beispiele für ressourcenbasierte Richtlinien](security_iam_resource-based-policy-examples.md)

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

Sie können Tags an CodePipeline Ressourcen anhängen oder Tags in einer Anfrage an übergeben CodePipeline. 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 `codepipeline:ResourceTag/key-name`, `aws:RequestTag/key-name`, oder Bedingung `aws:TagKeys` verwenden. Weitere Informationen über das Markieren von CodePipeline -Ressourcen mit Tags finden Sie unter [Taggen von -Ressourcen](tag-resources.md).

Ein Beispiel für eine identitätsbasierte Richtlinie zur Einschränkung des Zugriffs auf eine Ressource auf der Grundlage der Markierungen dieser Ressource finden Sie unter [Verwenden von Tags zur Steuerung des Zugriffs auf Ressourcen CodePipeline](tag-based-access-control.md).

## CodePipeline 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 AWS Konto, die über bestimmte Berechtigungen verfügt.

### Verwenden temporärer Anmeldeinformationen mit CodePipeline
<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). 

CodePipeline unterstützt die Verwendung temporärer Anmeldeinformationen. 

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

CodePipeline ermöglicht es einem Dienst, in Ihrem Namen eine [Servicerolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) zu übernehmen. 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.

CodePipeline unterstützt Servicerollen. 

# AWS CodePipeline 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 CodePipeline -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.

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*.

Informationen zum Erstellen einer Pipeline, die Ressourcen von einem anderen Konto verwendet, sowie die entsprechenden Beispielrichtlinien finden Sie unter[Erstellen Sie eine Pipeline CodePipeline , in der Ressourcen von einem anderen AWS Konto verwendet werden](pipelines-create-cross-account.md).

**Topics**
+ [Best Practices für Richtlinien](security_iam_service-with-iam-policy-best-practices.md)
+ [Anzeigen von Ressourcen in der Konsole](security-iam-resources-console.md)
+ [Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer](security_iam_id-based-policy-examples-view-own-permissions.md)
+ [Beispiele für identitätsbasierte Richtlinien (IAM)](security-iam-id-policies-examples.md)
+ [Verwenden von Tags zur Steuerung des Zugriffs auf Ressourcen CodePipeline](tag-based-access-control.md)
+ [Erforderliche Berechtigungen für die Verwendung der Konsole](security-iam-permissions-console.md)
+ [Zum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich](security-iam-permissions-console-logs.md)
+ [AWS verwaltete Richtlinien für AWS CodePipeline](managed-policies.md)
+ [Beispiele für vom Kunden verwaltete Richtlinien](#customer-managed-policies)

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

Identitätsbasierte Richtlinien legen fest, ob jemand CodePipeline 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*.

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

Die Konsole benötigt die `ListRepositories` Erlaubnis, eine Liste der Repositorys für Ihr AWS Konto in der AWS Region anzuzeigen, in der 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 AWS Konto in der AWS Region durchgeführt, in der 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:
+ AWS 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 manche Ressourcen nicht zurückgegeben, wenn die Anzeige dieser Ressourcen ausdrücklich verweigert wird (`Deny`).

# 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": "*"
        }
    ]
}
```

# Beispiele für identitätsbasierte Richtlinien (IAM)
<a name="security-iam-id-policies-examples"></a>

Richtlinien können IAM-Identitäten angefügt werden. 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 Pipelines in der Konsole zu gewähren, können Sie eine Berechtigungsrichtlinie an einen Benutzer oder eine Gruppe anhängen, zu der der Benutzer gehört.
+ **Einer Rolle eine Berechtigungsrichtlinie zuweisen (kontoübergreifende Berechtigungen gewähren)** – Sie können einer IAM-Rolle eine identitätsbasierte Berechtigungsrichtlinie zuweisen, um kontoübergreifende Berechtigungen zu erteilen. Der Administrator in Konto A kann beispielsweise AWS-Service wie folgt eine Rolle erstellen, um einem anderen Konto (z. B. AWS Konto B) kontenü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. Der Principal in der Vertrauensrichtlinie kann auch ein AWS-Service Principal sein, wenn Sie einem Benutzer die AWS-Service Rechte zur Übernahme der Rolle erteilen möchten.

  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*.

Im Folgenden finden Sie ein Beispiel für eine Berechtigungsrichtlinie, die Berechtigungen zum Deaktivieren und Aktivieren von Übergängen zwischen allen Phasen in der Pipeline gewährt, die `MyFirstPipeline` `us-west-2 region` im folgenden aufgeführt sind:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codepipeline:EnableStageTransition",
        "codepipeline:DisableStageTransition"
      ],
      "Resource" : [
        "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*"
      ]
    }
  ]
}
```

------

Das folgende Beispiel zeigt eine Richtlinie im 111222333444-Konto, die es Benutzern ermöglicht, die in der Konsole angegebene `MyFirstPipeline` Pipeline anzuzeigen, aber nicht zu ändern. Diese Richtlinie basiert auf der verwalteten Richtlinie `AWSCodePipeline_ReadOnlyAccess`, aber da sie spezifisch für die Pipeline `MyFirstPipeline` gilt, kann sie die verwaltete Richtlinie nicht direkt verwenden. Wenn Sie die Richtlinie nicht auf eine bestimmte Pipeline beschränken möchten, sollten Sie eine der verwalteten Richtlinien in Betracht ziehen, die von erstellt und verwaltet wurden. Weitere Informationen finden Sie unter [Arbeiten mit verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html). Sie müssen diese Richtlinie einer IAM-Rolle zuordnen, die Sie für den Zugriff erstellen, z. B. einer Rolle mit dem Namen: `CrossAccountPipelineViewers`

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "codepipeline:GetPipeline",
        "codepipeline:GetPipelineState",
        "codepipeline:GetPipelineExecution",
        "codepipeline:ListPipelineExecutions",
        "codepipeline:ListActionExecutions",
        "codepipeline:ListActionTypes",
        "codepipeline:ListPipelines",
        "codepipeline:ListTagsForResource",
        "iam:ListRoles",
        "s3:ListAllMyBuckets",
        "codecommit:ListRepositories",
        "codedeploy:ListApplications",
        "lambda:ListFunctions",
        "codestar-notifications:ListNotificationRules",
        "codestar-notifications:ListEventTypes",
        "codestar-notifications:ListTargets"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"
    },
    {
      "Action": [
        "codepipeline:GetPipeline",
        "codepipeline:GetPipelineState",
        "codepipeline:GetPipelineExecution",
        "codepipeline:ListPipelineExecutions",
        "codepipeline:ListActionExecutions",
        "codepipeline:ListActionTypes",
        "codepipeline:ListPipelines",
        "codepipeline:ListTagsForResource",
        "iam:ListRoles",
        "s3:GetBucketPolicy",
        "s3:GetObject",
        "s3:ListBucket",
        "codecommit:ListBranches",
        "codedeploy:GetApplication",
        "codedeploy:GetDeploymentGroup",
        "codedeploy:ListDeploymentGroups",
        "elasticbeanstalk:DescribeApplications",
        "elasticbeanstalk:DescribeEnvironments",
        "lambda:GetFunctionConfiguration",
        "opsworks:DescribeApps",
        "opsworks:DescribeLayers",
        "opsworks:DescribeStacks"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Sid": "CodeStarNotificationsReadOnlyAccess",
      "Effect": "Allow",
      "Action": [
        "codestar-notifications:DescribeNotificationRule"
      ],
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "codestar-notifications:NotificationsForResource": "arn:aws:iam::*:role/Service*"
        }
      }
    }
  ]
}
```

------

Nachdem Sie diese Richtlinie erstellt haben, erstellen Sie die IAM-Rolle im 111222333444-Konto und fügen Sie die Richtlinie dieser Rolle hinzu. Zu den Vertrauensstellungen der Rolle müssen Sie das AWS Konto hinzufügen, das diese Rolle übernehmen soll. Das folgende Beispiel zeigt eine Richtlinie, die es Benutzern des Kontos ermöglicht, Rollen zu übernehmen, die im *111111111111* AWS Konto 111222333444 definiert sind:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111111111111:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Das folgende Beispiel zeigt eine im Konto erstellte Richtlinie, die es Benutzern ermöglicht, die *CrossAccountPipelineViewers* im *111111111111* AWS Konto 111222333444 angegebene Rolle anzunehmen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::111222333444:role/CrossAccountPipelineViewers"
        }
    ]
}
```

------

Sie können IAM-Richtlinien erstellen, um die Anrufe und Ressourcen einzuschränken, auf die Benutzer in Ihrem Konto Zugriff haben, und diese Richtlinien dann Ihrem Administratorbenutzer zuordnen. Weitere Informationen zum Erstellen von IAM-Rollen und Beispiele für IAM-Richtlinienerklärungen finden Sie unter. [Beispiele für vom Kunden verwaltete Richtlinien](security_iam_id-based-policy-examples.md#customer-managed-policies) 

# Verwenden von Tags zur Steuerung des Zugriffs auf Ressourcen CodePipeline
<a name="tag-based-access-control"></a>

Bedingungen in IAM-Richtlinienanweisungen sind Teil der Syntax, mit der Sie Berechtigungen für Ressourcen angeben, die für CodePipeline Aktionen erforderlich sind. Das Verwenden von Tags in Bedingungen ist eine Möglichkeit zur Kontrolle des Zugriffs auf Ressourcen und Anfragen. Informationen zum Markieren von CodePipeline Ressourcen finden Sie unter. [Taggen von -Ressourcen](tag-resources.md) Dieses Thema behandelt die Tag-basierte Zugriffskontrolle.

Wenn Sie IAM-Richtlinien entwerfen, können Sie präzise abgestufte Berechtigungen festlegen, indem Sie Zugriff auf bestimmte Ressourcen gewähren. Mit zunehmender Anzahl der Ressourcen, die Sie verwalten, wird diese Aufgabe erschwert. Durch Markieren von Ressourcen und Verwenden von Tags in Richtlinienanweisungsbedingungen lässt sich diese Aufgabe vereinfachen. Sie erteilen Massenzugriff auf eine beliebige Ressource mit einem bestimmten Tag. Anschließend wenden Sie dieses Tag während der Erstellung oder zu einem späteren Zeitpunkt wiederholt auf relevante Ressourcen an.

Markierungen können an die Ressource angehängt oder in der Anfrage an Services übergeben werden, die das Markieren unterstützen. In CodePipeline können Ressourcen Tags haben, und einige Aktionen können Tags enthalten. Wenn Sie eine IAM-Richtlinie erstellen, können Sie Tag-Bedingungsschlüssel verwenden, um Folgendes zu kontrollieren:
+ Welche Benutzer Aktionen für eine Pipeline-Ressource ausführen können, basierend auf den Tags, über die diese bereits verfügt.
+ Welche Tags in der Anforderung einer Aktion übergeben werden können.
+ Ob bestimmte Tag-Schlüssel in einer Anforderung verwendet werden können.

Mit String-Bedingungsoperatoren können Sie `Condition`-Elemente erstellen, die den Zugriff basierend auf einen Vergleich eines Schlüssels mit einem Zeichenfolgewert einschränken. Sie können am Ende jeder Bedingung einen Operatornamen mit Ausnahme der Null-Bedingung hinzufügen`IfExists`. Damit geben Sie zum Ausdruck: "Wenn der Richtlinienschlüssel im Anforderungskontext vorhanden ist, wird der Schlüssel den Angaben in der Richtlinie entsprechend verarbeitet. Wenn der Schlüssel nicht vorhanden ist, wird das Bedingungselement als "true" ausgewertet. Sie können z. B. die Einschränkung anhand `StringEqualsIfExists` von Bedingungsschlüsseln vornehmen, die bei anderen Ressourcentypen möglicherweise nicht vorhanden sind. 

Die vollständige Syntax und Semantik der Bedingungsschlüssel für Tags finden Sie unter [Zugriffskontrolle mithilfe von Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html). Weitere Informationen zu Bedingungsschlüsseln finden Sie in den folgenden Ressourcen. Die CodePipeline Richtlinienbeispiele in diesem Abschnitt orientieren sich an den folgenden Informationen zu Bedingungsschlüsseln und werden durch Beispiele für Nuancen CodePipeline wie die Verschachtelung von Ressourcen erweitert.
+ [Bedingungsoperatoren für Zeichenfolgen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)
+ [AWS-Services die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
+ [SCP-Syntax](https://docs.aws.amazon.com/IAM/latest/UserGuide/orgs_manage_policies_scps_syntax.html)
+ [IAM-JSON-Richtlinienelemente: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)
+ [aws: RequestTag /tag-key](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)
+ [Zustandstasten für CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-policy-keys)

Die folgenden Beispiele zeigen, wie Sie Tag-Bedingungen in Richtlinien für CodePipeline -Benutzer festlegen.

**Example 1: Einschränken von Aktionen basierend auf Tags in der Anforderung**  
Die Richtlinie für `AWSCodePipeline_FullAccess` verwaltete Benutzer gibt Benutzern uneingeschränkte Rechte, jede CodePipeline Aktion auf einer beliebigen Ressource auszuführen.  
Die folgende Richtlinie schränkt diese Befugnis ein und verweigert nicht autorisierten Benutzern die Erlaubnis, Pipelines zu erstellen, in denen bestimmte Tags in der Anfrage aufgeführt sind. Dazu verweigert es die `CreatePipeline`-Aktion, wenn die Anforderung ein Tag mit dem Namen `Project` und einem der Werte `ProjectA` oder `ProjectB` festlegt. (Der Bedingungsschlüssel `aws:RequestTag` wird verwendet, um zu steuern, welche Tags in einer IAM-Anforderung übergeben werden können.)   
Im folgenden Beispiel besteht die Absicht der Richtlinie darin, nicht autorisierten Benutzern die Erlaubnis zu verweigern, eine Pipeline mit den angegebenen Tag-Werten zu erstellen. Das Erstellen einer Pipeline erfordert jedoch zusätzlich zu der Pipeline selbst auch den Zugriff auf Ressourcen (z. B. Pipeline-Aktionen und -Phasen). Da in der Richtlinie `'Resource'` angegeben`'*'`, wird die Richtlinie anhand jeder Ressource ausgewertet, die über einen ARN verfügt, und wird erstellt, wenn die Pipeline erstellt wird. Diese zusätzlichen Ressourcen verfügen nicht über den Tag-Bedingungsschlüssel, sodass die `StringEquals` Prüfung fehlschlägt und dem Benutzer nicht die Möglichkeit gewährt wird, eine Pipeline zu erstellen. Um dieses Problem zu beheben, verwenden Sie stattdessen den Bedingungsoperator `StringEqualsIfExists`. Auf diese Weise findet die Prüfung nur dann statt, wenn der Bedingungsschlüssel existiert.   
Sie könnten Folgendes wie folgt lesen: „Wenn die geprüfte Ressource über einen `"RequestTag/Project"` Tag-Bedingungsschlüssel verfügt, lassen Sie die Aktion nur zu, wenn der Schlüsselwert mit beginnt`projectA`. Wenn die zu prüfende Ressource nicht über diesen Bedingungsschlüssel verfügt, ist dies belanglos."   
Darüber hinaus verhindert die Richtlinie, dass diese nicht autorisierten Benutzer die Ressourcen manipulieren, indem sie den `aws:TagKeys` Bedingungsschlüssel verwenden, um zu verhindern, dass Aktionen zur Änderung von Tags dieselben Tagwerte enthalten. Der Administrator eines Kunden muss diese IAM-Richtlinie zusätzlich zur Richtlinie für verwaltete Benutzer auch für nicht autorisierte Benutzer mit Administratorrechten einrichten.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:CreatePipeline",
        "codepipeline:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEqualsIfExists": {
          "aws:RequestTag/Project": ["ProjectA", "ProjectB"]
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:UntagResource"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

**Example 2: Beschränken Sie Tagging-Aktionen auf der Grundlage von Ressourcen-Tags**  
Die Richtlinie für `AWSCodePipeline_FullAccess` verwaltete Benutzer gibt Benutzern uneingeschränkte Rechte, jede CodePipeline Aktion auf einer beliebigen Ressource auszuführen.  
Die folgende Richtlinie beschränkt diese Befugnis und verweigert nicht autorisierten Benutzern die Berechtigung, Aktionen für bestimmte Projekt-Pipelines auszuführen. Hierfür verweigert sie einige Aktionen, wenn die Ressource über ein Tag mit dem Namen `Project` und einem der Werte `ProjectA` oder `ProjectB` verfügt. (Der Bedingungsschlüssel `aws:ResourceTag` wird verwendet, um den Zugriff auf die Ressourcen auf der Grundlage der Tags dieser Ressourcen zu steuern.) Der Administrator eines Kunden muss diese IAM-Richtlinie nicht autorisierten IAM-Benutzern hinzufügen, zusätzlich zu der verwalteten Benutzerrichtlinie.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": ["ProjectA", "ProjectB"]
        }
      }
    }
  ]
}
```

**Example 3: Zulassen von Aktionen basierend auf Tags in der Anforderung**  
Mit der folgenden Richtlinie wird Benutzern die Berechtigung zum Erstellen von Entwicklungs-Pipelines in CodePipeline erteilt.  
Hierfür werden die Aktionen `CreatePipeline` und `TagResource` zugelassen, wenn die Anforderung ein Tag mit dem Namen `Project` und dem Wert `ProjectA` angibt. Mit anderen Worten, der einzige Tag-Schlüssel, der angegeben werden kann`Project`, ist, und sein Wert muss sein`ProjectA`.  
Der `aws:RequestTag` Bedingungsschlüssel wird verwendet, um zu steuern, welche Tags in einer IAM-Anfrage übergeben werden können. Die Bedingung `aws:TagKeys` stellt sicher, dass bei Tag-Schlüsseln die Groß- und Kleinschreibung beachtet wird. Diese Richtlinie ist nützlich für Benutzer oder Rollen, denen die Richtlinie für `AWSCodePipeline_FullAccess` verwaltete Benutzer nicht zugeordnet ist. Die verwaltete Richtlinie gibt Benutzern uneingeschränkte Rechte, jede CodePipeline Aktion auf einer beliebigen Ressource auszuführen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codepipeline:CreatePipeline",
        "codepipeline:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

**Example 4: Beschränken Sie die Aktionen zum Entfernen von Tags auf der Grundlage von Ressourcen-Tags**  
Die Richtlinie für `AWSCodePipeline_FullAccess` verwaltete Benutzer gibt Benutzern uneingeschränkte Rechte, jede CodePipeline Aktion auf einer beliebigen Ressource auszuführen.  
Die folgende Richtlinie beschränkt diese Befugnis und verweigert nicht autorisierten Benutzern die Berechtigung, Aktionen für bestimmte Projekt-Pipelines auszuführen. Hierfür verweigert sie einige Aktionen, wenn die Ressource über ein Tag mit dem Namen `Project` und einem der Werte `ProjectA` oder `ProjectB` verfügt.   
Außerdem verhindert die Richtlinie, dass diese nicht autorisierten Benutzer die Ressourcen manipulieren, indem sie mithilfe des `aws:TagKeys` Bedingungsschlüssels verhindern, dass das Tag vollständig entfernt wird`Project`. Der Administrator eines Kunden muss diese IAM-Richtlinie zusätzlich zur Richtlinie für verwaltete Benutzer oder Rollen mit nicht autorisierten Benutzern oder Rollen verknüpfen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:UntagResource"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

# Erforderliche Berechtigungen für die Verwendung der Konsole
<a name="security-iam-permissions-console"></a>

Um in der -Konsole zu verwenden, müssen Sie über einen Mindestsatz von Berechtigungen der folgenden Services verfügen:
+ AWS Identity and Access Management
+ Amazon Simple Storage Service

Mit diesen Berechtigungen können Sie andere AWS Ressourcen für Ihr AWS Konto beschreiben.

Abhängig von den sonstigen Services, die Sie in Ihre Pipelines integrieren, benötigen Sie möglicherweise Berechtigungen von einem oder mehreren der folgenden Services:
+ AWS CodeCommit
+ AWS CodeBuild
+ CloudFormation
+ AWS CodeDeploy
+ AWS Elastic Beanstalk
+ AWS Lambda
+ AWS OpsWorks

Wenn Sie eine IAM-Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Benutzer mit dieser IAM-Richtlinie. Um sicherzustellen, dass diese Benutzer die Konsole weiterhin verwenden können, fügen Sie dem Benutzer auch die verwaltete Richtlinie `AWSCodePipeline_ReadOnlyAccess` an. Einzelheiten dazu finden Sie unter [AWS verwaltete Richtlinien für AWS CodePipeline](managed-policies.md).

Sie müssen Benutzern, die die API AWS CLI oder die API aufrufen, keine Mindestberechtigungen für die Konsole gewähren.

# Zum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich
<a name="security-iam-permissions-console-logs"></a>

Um die Protokolle in der Aktion Befehle auf der CodePipeline Konsole anzeigen zu können, muss die Konsolenrolle über Berechtigungen verfügen. Um die Protokolle in der Konsole anzuzeigen, fügen Sie der Konsolenrolle die `logs:GetLogEvents` entsprechenden Berechtigungen hinzu.

Beschränken Sie die Berechtigungen in der Richtlinienerklärung zur Konsolenrolle auf die Pipeline-Ebene, wie im folgenden Beispiel gezeigt.

```
{
    "Effect": "Allow",
    "Action": [
        "Action": "logs:GetLogEvents"
    ],
    "Resource": "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"
}
```

# AWS verwaltete Richtlinien für AWS CodePipeline
<a name="managed-policies"></a>





Eine AWS verwaltete Richtlinie ist eine eigenständige Richtlinie, die von erstellt und verwaltet wird AWS. AWS Verwaltete Richtlinien sind so konzipiert, dass sie Berechtigungen für viele gängige Anwendungsfälle bereitstellen, sodass Sie damit beginnen können, Benutzern, Gruppen und Rollen Berechtigungen zuzuweisen.

Beachten Sie, dass AWS verwaltete Richtlinien für Ihre speziellen Anwendungsfälle möglicherweise keine Berechtigungen mit den geringsten Rechten gewähren, da sie allen AWS Kunden zur Verfügung stehen. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie [vom Kunden verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind.

Sie können die in AWS verwalteten Richtlinien definierten Berechtigungen nicht ändern. Wenn die in einer AWS verwalteten Richtlinie definierten Berechtigungen AWS aktualisiert werden, wirkt sich das Update auf alle Prinzidentitäten (Benutzer, Gruppen und Rollen) aus, denen die Richtlinie zugeordnet ist. AWS aktualisiert eine AWS verwaltete Richtlinie höchstwahrscheinlich, wenn eine neue Richtlinie eingeführt AWS-Service wird oder neue API-Operationen für bestehende Dienste verfügbar werden.

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) im *IAM-Benutzerhandbuch*.

**Wichtig**  
Die von AWS verwalteten Richtlinien `AWSCodePipelineFullAccess` und `AWSCodePipelineReadOnlyAccess` wurden ersetzt. Verwenden Sie die `AWSCodePipeline_ReadOnlyAccess` Richtlinien `AWSCodePipeline_FullAccess` und.













## AWS verwaltete Richtlinie: `AWSCodePipeline_FullAccess`
<a name="security-iam-awsmanpol-AWSCodePipeline_FullAccess"></a>





Dies ist eine Richtlinie, die vollen Zugriff auf gewährt CodePipeline. Informationen zum JSON-Richtliniendokument in der IAM-Konsole finden Sie unter [AWSCodePipeline\$1FullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipeline_FullAccess).



**Details zu Berechtigungen**

Diese Richtlinie umfasst die folgenden Berechtigungen.




+ `codepipeline`— Erteilt Berechtigungen für. CodePipeline
+ `chatbot`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Ressourcen in Amazon Q Developer in Chat-Anwendungen zu verwalten.
+ `cloudformation`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Ressourcenstapel in zu verwalten. CloudFormation
+ `cloudtrail`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Logging-Ressourcen zu verwalten. CloudTrail
+ `codebuild`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, auf Build-Ressourcen zuzugreifen. CodeBuild
+ `codecommit`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, auf Quellressourcen in zuzugreifen. CodeCommit
+ `codedeploy`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, auf Bereitstellungsressourcen in zuzugreifen. CodeDeploy
+ `codestar-notifications`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, auf Ressourcen in AWS CodeStar Benachrichtigungen zuzugreifen.
+ `ec2`— Erteilt Berechtigungen für Bereitstellungen CodeCatalyst zur Verwaltung von Elastic Load Balancing in Amazon EC2.
+ `ecr`— Erteilt Berechtigungen für den Zugriff auf Ressourcen in Amazon ECR.
+ `elasticbeanstalk`— Erteilt Berechtigungen, die es Principals ermöglichen, auf Ressourcen in Elastic Beanstalk zuzugreifen.
+ `iam`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Rollen und Richtlinien in IAM zu verwalten.
+ `lambda`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Ressourcen in Lambda zu verwalten.
+ `events`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Ressourcen in Events zu verwalten. CloudWatch 
+ `opsworks`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Ressourcen in zu verwalten. AWS OpsWorks
+ `s3`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Ressourcen in Amazon S3 zu verwalten.
+ `sns`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Benachrichtigungsressourcen in Amazon SNS zu verwalten.
+ `states`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Zustandsmaschinen einzusehen, in denen sie sich befinden. AWS Step Functions Eine Zustandsmaschine besteht aus einer Sammlung von Zuständen, die Aufgaben verwalten und den Übergang zwischen Zuständen ermöglichen.

Informationen zur Richtlinie finden Sie unter [AWSCodePipeline\$1FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipeline_FullAccess.html). 

## AWS verwaltete Richtlinie: `AWSCodePipeline_ReadOnlyAccess`
<a name="security-iam-awsmanpol-AWSCodePipeline_ReadOnlyAccess"></a>





Dies ist eine Richtlinie, die nur Lesezugriff auf gewährt. CodePipeline Informationen zum Anzeigen des JSON-Richtliniendokuments in der IAM-Konsole finden Sie unter. [AWSCodePipeline\$1ReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipeline_ReadOnlyAccess)



**Details zu Berechtigungen**

Diese Richtlinie umfasst die folgenden Berechtigungen.




+ `codepipeline`— Erteilt Berechtigungen für Aktionen in CodePipeline.
+ `codestar-notifications`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, auf Ressourcen in AWS CodeStar Benachrichtigungen zuzugreifen.
+ `s3`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Ressourcen in Amazon S3 zu verwalten.
+ `sns`— Erteilt Berechtigungen, die es Prinzipalen ermöglichen, Benachrichtigungsressourcen in Amazon SNS zu verwalten.

Die Richtlinie finden Sie unter. [AWSCodePipeline\$1ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipeline_ReadOnlyAccess.html)



## AWS verwaltete Richtlinie: `AWSCodePipelineApproverAccess`
<a name="security-iam-awsmanpol-AWSCodePipeline_Approver"></a>





Dies ist eine Richtlinie, die die Erlaubnis erteilt, eine manuelle Genehmigungsaktion zu genehmigen oder abzulehnen. Informationen zum Anzeigen des JSON-Richtliniendokuments in der IAM-Konsole finden Sie unter [AWSCodePipelineApproverAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipelineApproverAccess).



**Details zu Berechtigungen**

Diese Richtlinie umfasst die folgenden Berechtigungen.




+ `codepipeline`— Erteilt Berechtigungen für Aktionen in CodePipeline.

Informationen zur Richtlinie finden Sie unter [AWSCodePipelineApproverAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipelineApproverAccess.html).

## AWS verwaltete Richtlinie: `AWSCodePipelineCustomActionAccess`
<a name="security-iam-awsmanpol-AWSCodePipelineCustomActionAccess"></a>





Dies ist eine Richtlinie, die die Erlaubnis erteilt, benutzerdefinierte Aktionen in Jenkins-Ressourcen für Build CodePipeline - oder Testaktionen zu erstellen oder zu integrieren. Informationen zum JSON-Richtliniendokument in der IAM-Konsole finden Sie unter. [AWSCodePipelineCustomActionAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipelineCustomActionAccess)



**Details zu Berechtigungen**

Diese Richtlinie umfasst die folgenden Berechtigungen.




+ `codepipeline`— Erteilt Berechtigungen für Aktionen in CodePipeline.

Informationen zur Richtlinie finden Sie unter [AWSCodePipelineCustomActionAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipelineCustomActionAccess.html).

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

CodePipeline unterstützt Benachrichtigungen, mit denen Benutzer über wichtige Änderungen an Pipelines informiert werden können. Zu den verwalteten Richtlinien CodePipeline 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>

Diese verwaltete Richtlinie gewährt Berechtigungen für CodePipeline die zugehörigen Dienste CodeCommit CodeBuild, CodeDeploy, und AWS CodeStar Benachrichtigungen. Die Richtlinie gewährt auch Berechtigungen, die Sie für die Arbeit mit anderen Services benötigen, die in Ihre Pipelines integriert sind, wie Amazon S3, Elastic Beanstalk CloudTrail, Amazon EC2 und. CloudFormation 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.

Die von `AWSCodePipeline_FullAccess` verwaltete Richtlinie enthält die folgenden Anweisungen, um den vollständigen Zugriff auf Benachrichtigungen zu ermöglichen. 

```
    {
        "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:codepipeline:us-west-2:111222333444:MyFirstPipeline"} 
        }
    },    
    {
        "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": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "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 `AWSCodePipeline_ReadOnlyAccess` enthält die folgenden Anweisungen, um schreibgeschützten Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer, auf die diese Richtlinie angewendet wird, können Benachrichtigungen für Ressourcen anzeigen, diese jedoch nicht erstellen, verwalten oder abonnieren. 

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "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 CodePipeline Aktualisierungen der AWS verwalteten Richtlinien
<a name="security-iam-awsmanpol-updates"></a>



Hier finden Sie Informationen zu Aktualisierungen AWS verwalteter Richtlinien CodePipeline seit Beginn der Nachverfolgung dieser Änderungen durch diesen Dienst. Um automatische Benachrichtigungen über Änderungen an dieser Seite zu erhalten, abonnieren Sie den RSS-Feed auf der CodePipeline Seite [-Dokumentverlauf](https://docs.aws.amazon.com/codepipeline/latest/userguide/history.html).




| Änderungen | Beschreibung | Date | 
| --- | --- | --- | 
| [AWSCodePipeline\$1FullAccess](#security-iam-awsmanpol-AWSCodePipeline_FullAccess)— Aktualisierungen der bestehenden Richtlinie | CodePipeline Dieser Richtlinie wurde die Erlaubnis hinzugefügt, ListStacks in zu unterstützen CloudFormation. | 15. März 2024 | 
| [AWSCodePipeline\$1FullAccess](#security-iam-awsmanpol-AWSCodePipeline_FullAccess)— Aktualisierungen der bestehenden Richtlinie | Diese Richtlinie wurde aktualisiert, um Berechtigungen für Amazon Q Developer in Chat-Anwendungen hinzuzufügen. Weitere Informationen finden Sie unter [CodePipeline verwaltete Richtlinien und Benachrichtigungen](#notifications-permissions). | 21. Juni 2023 | 
|  [AWSCodePipeline\$1FullAccess](#security-iam-awsmanpol-AWSCodePipeline_FullAccess)und [AWSCodePipeline\$1ReadOnlyAccess](#security-iam-awsmanpol-AWSCodePipeline_ReadOnlyAccess)verwaltete Richtlinien — Aktualisierungen der bestehenden Richtlinie  |  CodePipeline hat diesen Richtlinien die Erlaubnis hinzugefügt, einen zusätzlichen Benachrichtigungstyp mithilfe von Amazon Q Developer in Chat-Anwendungen zu unterstützen,`chatbot:ListMicrosoftTeamsChannelConfigurations`.   | 16. Mai 2023 | 
|  **AWSCodePipelineFullAccess** – als veraltet gekennzeichnet  |  Diese Richtlinie wurde ersetzt durch `AWSCodePipeline_FullAccess`. Nach dem 17. November 2022 kann diese Richtlinie keinen neuen Benutzern, Gruppen oder Rollen zugewiesen werden. Weitere Informationen finden Sie unter [AWS verwaltete Richtlinien für AWS CodePipeline](#managed-policies).  | 17. November 2022 | 
|  **AWSCodePipelineReadOnlyAccess** – als veraltet gekennzeichnet  |  Diese Richtlinie wurde ersetzt durch `AWSCodePipeline_ReadOnlyAccess`. Nach dem 17. November 2022 kann diese Richtlinie keinen neuen Benutzern, Gruppen oder Rollen zugewiesen werden. Weitere Informationen finden Sie unter [AWS verwaltete Richtlinien für AWS CodePipeline](#managed-policies).  | 17. November 2022 | 
|  CodePipeline hat begonnen, Änderungen zu verfolgen  |  CodePipeline hat begonnen, Änderungen für die AWS verwalteten Richtlinien zu verfolgen.  | 12. März 2021 | 

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

In diesem Abschnitt finden Sie Beispiele für Benutzerrichtlinien, die Berechtigungen für verschiedene -Aktionen gewähren. Diese Richtlinien funktionieren, wenn Sie die API oder AWS SDKs die verwenden AWS CLI. Bei Verwendung der Konsole müssen Sie zusätzliche konsolenspezifische Berechtigungen erteilen. Weitere Informationen finden Sie unter [Erforderliche Berechtigungen für die Verwendung der Konsole](security-iam-permissions-console.md).

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

**Beispiele**
+ [Beispiel 1: Gewähren von Berechtigungen zum Abrufen des Status einer Pipeline](#identity-based-policies-example-1)
+ [Beispiel 2: Gewähren von Berechtigungen zum Aktivieren und Deaktivieren von Übergängen zwischen Stufen](#identity-based-policies-example-2)
+ [Beispiel 3: Gewähren von Berechtigungen zum Abrufen einer Liste mit allen verfügbaren Aktionstypen](#identity-based-policies-example-3)
+ [Beispiel 4: Gewähren von Berechtigungen für das Erlauben oder Ablehnen von manuellen Genehmigungsaktionen](#identity-based-policies-example-4)
+ [Beispiel 5: Gewähren von Berechtigungen zum Abfragen von Aufträgen für eine benutzerdefinierte Aktion](#identity-based-policies-example-5)
+ [Beispiel 6: Eine Richtlinie für die Jenkins-Integration mit anhängen oder bearbeiten AWS CodePipeline](#identity-based-policies-example-6)
+ [Beispiel 7: Konfigurieren des kontoübergreifenden Zugriffs auf eine Pipeline](#identity-based-policies-example-7)

### Beispiel 1: Gewähren von Berechtigungen zum Abrufen des Status einer Pipeline
<a name="identity-based-policies-example-1"></a>

Im folgenden Beispiel werden Berechtigungen vergeben, um den Status der Pipeline namens `MyFirstPipeline` abzurufen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:GetPipelineState"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"
        }
    ]
}
```

------

### Beispiel 2: Gewähren von Berechtigungen zum Aktivieren und Deaktivieren von Übergängen zwischen Stufen
<a name="identity-based-policies-example-2"></a>

Im folgenden Beispiel werden Berechtigungen zum Deaktivieren und Aktivieren von Übergängen zwischen allen Stufen in der Pipeline namens `MyFirstPipeline` vergeben:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:DisableStageTransition",
                "codepipeline:EnableStageTransition"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*"
        }
    ]
}
```

------

Um dem Benutzer das Deaktivieren und Aktivieren von Übergängen für eine einzelne Stufe in einer Pipeline zu erlauben, müssen Sie die Stufe festlegen. So können Sie z. B. dem Benutzer das Aktivieren und Deaktivieren von Übergängen für eine Stufe mit der Bezeichnung `Staging` in einer Pipeline namens `MyFirstPipeline` erlauben:

```
"Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/Staging"
```

### Beispiel 3: Gewähren von Berechtigungen zum Abrufen einer Liste mit allen verfügbaren Aktionstypen
<a name="identity-based-policies-example-3"></a>

Im folgenden Beispiel werden Berechtigungen zum Abrufen einer Liste mit allen Aktionstypen vergeben, die für Pipelines in der Region `us-west-2` verfügbar sind:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:ListActionTypes"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:actiontype:*"
        }
    ]
}
```

------

### Beispiel 4: Gewähren von Berechtigungen für das Erlauben oder Ablehnen von manuellen Genehmigungsaktionen
<a name="identity-based-policies-example-4"></a>

Im folgenden Beispiel werden Berechtigungen vergeben, um manuelle Genehmigungsaktionen in einer Stufe mit der Bezeichnung `Staging` in einer Pipeline namens `MyFirstPipeline` zu erlauben oder abzulehnen: 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:PutApprovalResult"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/Staging/*"
        }
    ]
}
```

------

### Beispiel 5: Gewähren von Berechtigungen zum Abfragen von Aufträgen für eine benutzerdefinierte Aktion
<a name="identity-based-policies-example-5"></a>

Im folgenden Beispiel werden Berechtigungen für das Pipeline-übergreifende Abfragen von Aufträgen für die benutzerdefinierte Aktion mit der Bezeichnung `TestProvider` vergeben, die ein `Test`-Aktionstyp in der ersten Version ist: 

**Anmerkung**  
Der Job Worker für eine benutzerdefinierte Aktion ist möglicherweise unter einem anderen AWS Konto konfiguriert oder erfordert eine bestimmte IAM-Rolle, um zu funktionieren.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:PollForJobs"
            ],
            "Resource": [
                "arn:aws:codepipeline:us-west-2:111222333444:actionType:Custom/Test/TestProvider/1"
            ]
        }
    ]
}
```

------

### Beispiel 6: Eine Richtlinie für die Jenkins-Integration mit anhängen oder bearbeiten AWS CodePipeline
<a name="identity-based-policies-example-6"></a>

Wenn Sie eine Pipeline so konfigurieren, dass sie Jenkins für Build oder Test verwendet, erstellen Sie eine separate Identität für diese Integration und fügen Sie eine IAM-Richtlinie hinzu, die über die Mindestberechtigungen verfügt, die für die Integration zwischen Jenkins und erforderlich sind. Die Richtlinie ist die gleiche wie die verwaltete Richtlinie `AWSCodePipelineCustomActionAccess`. Das folgende Beispiel zeigt eine Richtlinie für die Jenkins-Integration:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:AcknowledgeJob",
                "codepipeline:GetJobDetails",
                "codepipeline:PollForJobs",
                "codepipeline:PutJobFailureResult",
                "codepipeline:PutJobSuccessResult"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Beispiel 7: Konfigurieren des kontoübergreifenden Zugriffs auf eine Pipeline
<a name="identity-based-policies-example-7"></a>

Sie können den Pipeline-Zugriff für Benutzer und Gruppen in einem anderen AWS -Konto konfigurieren. Die empfohlene Methode besteht darin, eine Rolle in dem Konto zu erstellen, in dem die Pipeline erstellt wurde. Die Rolle sollte es Benutzern des anderen AWS Kontos ermöglichen, diese Rolle anzunehmen und auf die Pipeline zuzugreifen. Weitere Informationen finden Sie unter [Anleitung: Kontenübergreifender Zugriff mithilfe von Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/walkthru_cross-account-with-roles.html).

Das folgende Beispiel zeigt eine Richtlinie im 80398EXAMPLE-Konto, die es Benutzern ermöglicht, die `MyFirstPipeline` in der Konsole angegebene Pipeline anzuzeigen, aber nicht zu ändern. Diese Richtlinie basiert auf der verwalteten Richtlinie `AWSCodePipeline_ReadOnlyAccess`, aber da sie spezifisch für die Pipeline `MyFirstPipeline` gilt, kann sie die verwaltete Richtlinie nicht direkt verwenden. Wenn Sie die Richtlinie nicht auf eine bestimmte Pipeline beschränken möchten, sollten Sie eine der verwalteten Richtlinien in Betracht ziehen, die von erstellt und verwaltet wurden. Weitere Informationen finden Sie unter [Arbeiten mit verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html). Sie müssen diese Richtlinie an eine IAM-Rolle anhängen, die Sie für den Zugriff erstellen, z. B. an eine Rolle mit dem Namen: `CrossAccountPipelineViewers`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:GetPipeline",
                "codepipeline:GetPipelineState",
                "codepipeline:ListActionTypes",
                "codepipeline:ListPipelines",
                "iam:ListRoles",
                "s3:GetBucketPolicy",
                "s3:GetObject",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "codedeploy:GetApplication",
                "codedeploy:GetDeploymentGroup",
                "codedeploy:ListApplications",
                "codedeploy:ListDeploymentGroups",
                "elasticbeanstalk:DescribeApplications",
                "elasticbeanstalk:DescribeEnvironments",
                "lambda:GetFunctionConfiguration",
                "lambda:ListFunctions"
            ],
            "Resource": "arn:aws:codepipeline:us-east-2:111122223333:MyFirstPipeline"
        }
    ]
}
```

------

Nachdem Sie diese Richtlinie erstellt haben, erstellen Sie die IAM-Rolle im 80398EXAMPLE-Konto und fügen Sie die Richtlinie dieser Rolle hinzu. Zu den Vertrauensstellungen der Rolle müssen Sie das AWS Konto hinzufügen, das diese Rolle übernimmt.

Das folgende Beispiel zeigt eine im *111111111111* AWS Konto erstellte Richtlinie, die es Benutzern ermöglicht, die `CrossAccountPipelineViewers` im 80398EXAMPLE-Konto angegebene Rolle anzunehmen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::111122223333:role/CrossAccountPipelineViewers"
        }
    ]
}
```

------

# AWS CodePipeline Beispiele für ressourcenbasierte Richtlinien
<a name="security_iam_resource-based-policy-examples"></a>

**Topics**

Andere Services, z. B. Amazon-S3, unterstützen auch ressourcenbasierte Berechtigungsrichtlinien. Beispielsweise können Sie einem S3 Bucket eine Richtlinie zuweisen, um die Zugriffsberechtigungen für diesen Bucket zu verwalten. Es unterstützt zwar CodePipeline keine ressourcenbasierten Richtlinien, speichert aber Artefakte, die in Pipelines verwendet werden sollen, in versionierten S3-Buckets. 

**Example Um eine Richtlinie für einen S3-Bucket zu erstellen, der als Artefaktspeicher verwendet werden soll CodePipeline**  
Sie können jeden versionierten S3-Bucket als Artefaktspeicher für verwenden. CodePipeline Wenn Sie den Assistenten **Create Pipeline (Pipeline erstellen)** zum Erstellen Ihrer ersten Pipeline verwenden, wird dieser S3-Bucket für Sie erstellt, um sicherzustellen, dass alle Objekte, die in den Artefaktspeicher hochgeladen werden, verschlüsselt und Verbindungen zum Bucket sicher sind. Beim Erstellen Ihres eigenen S3-Bucket ist es eine bewährte Methode, die folgende Richtlinie oder ihre Elemente dem Bucket hinzuzufügen. In dieser Richtlinie ist der ARN für den S3-Bucket `codepipeline-us-east-2-1234567890`. Ersetzen Sie diesen ARN durch den ARN für Ihren S3-Bucket:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "SSEAndSSLPolicy",
    "Statement": [
        {
            "Sid": "DenyUnEncryptedObjectUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-server-side-encryption": "aws:kms"
                }
            }
        },
        {
            "Sid": "DenyInsecureConnections",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": false
                }
            }
        }
    ]
}
```

# Fehlerbehebung bei AWS CodePipeline 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 CodePipeline und IAM auftreten können.

**Topics**
+ [Ich bin nicht berechtigt, eine Aktion durchzuführen in CodePipeline](#security_iam_troubleshoot-no-permissions)
+ [Ich bin nicht berechtigt, IAM auszuführen: PassRole](#security_iam_troubleshoot-passrole)
+ [Ich bin Administrator und möchte anderen Zugriff gewähren CodePipeline](#security_iam_troubleshoot-admin-delegate)
+ [Ich möchte Personen außerhalb meines Kontos den Zugriff auf meine AWS Ressourcen ermöglichen CodePipeline](#security_iam_troubleshoot-cross-account-access)

## Ich bin nicht berechtigt, eine Aktion durchzuführen in CodePipeline
<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 ist die Person, die Ihnen Ihren Benutzernamen und Ihr Passwort bereitgestellt hat.

Der folgende Beispielfehler tritt auf, wenn der `mateojackson` IAM-Benutzer versucht, die Konsole zu verwenden, um Details zu einer Pipeline anzuzeigen, aber nicht über die `codepipeline:GetPipeline` entsprechenden Berechtigungen verfügt.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: codepipeline:GetPipeline on resource: my-pipeline
```

In diesem Fall bittet Mateo seinen Administrator um die Aktualisierung seiner Richtlinien, um unter Verwendung der Aktion `my-pipeline` auf die Ressource `codepipeline:GetPipeline` zugreifen zu können.

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

Wenn Sie die Fehlermeldung erhalten, dass Sie nicht zur Ausführung der Aktion `iam:PassRole` autorisiert sind, müssen Sie sich an Ihren Administrator wenden, um Unterstützung zu erhalten. Ihr Administrator ist die Person, die Ihnen Ihren Benutzernamen und Ihr Passwort bereitgestellt hat. Bitten Sie diese Person um die Aktualisierung Ihrer Richtlinien, um eine Rolle an CodePipeline ü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 CodePipeline auszuführen. Die Aktion erfordert jedoch, dass der Service über Berechtigungen verfügt, die durch eine Service-Rolle gewährt werden. Mary besitzt keine Berechtigungen für die Übergabe der Rolle an den Service.

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

In diesem Fall bittet Mary ihren Administrator um die Aktualisierung ihrer Richtlinien, um die Aktion `iam:PassRole` ausführen zu können.

## Ich bin Administrator und möchte anderen Zugriff gewähren CodePipeline
<a name="security_iam_troubleshoot-admin-delegate"></a>

Um anderen den Zugriff zu ermöglichen CodePipeline, 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 CodePipeline 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 Kontos den Zugriff auf meine AWS Ressourcen ermöglichen CodePipeline
<a name="security_iam_troubleshoot-cross-account-access"></a>

Sie können eine Rolle erstellen, mit der Benutzer in anderen Konten oder Personen außerhalb Ihrer Organisation auf Ihre Ressourcen zugreifen können. Sie können festlegen, wem die Übernahme der Rolle anvertraut wird. Für Dienste, die ressourcenbasierte Richtlinien oder Zugriffskontrolllisten (ACLs) unterstützen, können Sie diese Richtlinien verwenden, um Personen Zugriff auf Ihre Ressourcen zu gewähren.

Weitere Informationen dazu finden Sie hier:
+ Informationen darüber, ob diese Funktionen CodePipeline unterstützt werden, finden Sie unter. [Wie AWS CodePipeline funktioniert mit IAM](security_iam_service-with-iam.md)
+ *Informationen dazu, wie Sie Zugriff auf Ihre Ressourcen gewähren können, AWS-Konten die Ihnen gehören, finden Sie im IAM-Benutzerhandbuch unter [Gewähren des Zugriffs auf einen IAM-Benutzer in einem anderen AWS-Konto , den Sie besitzen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html).*
+ Informationen dazu, wie Sie Dritten Zugriff auf Ihre Ressourcen gewähren können AWS-Konten, finden Sie [AWS-Konten im *IAM-Benutzerhandbuch* unter Gewähren des Zugriffs für Dritte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html).
+ Informationen dazu, wie Sie über einen Identitätsverbund Zugriff gewähren, finden Sie unter [Gewähren von Zugriff für extern authentifizierte Benutzer (Identitätsverbund)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) im *IAM-Benutzerhandbuch*.
+ Informationen zum Unterschied zwischen der Verwendung von Rollen und ressourcenbasierten Richtlinien für den kontoübergreifenden Zugriff 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*.

# Berechtigungsreferenz
<a name="permissions-reference"></a>

Verwenden Sie die folgende Tabelle als Referenz, wenn Sie die Zugriffskontrolle einrichten und Berechtigungsrichtlinien schreiben, die Sie einer IAM-Identität zuordnen können (identitätsbasierte Richtlinien). In der Tabelle werden alle API-Operationen und die zugehörigen Aktionen aufgeführt, für die Sie Berechtigungen zur Durchführung der Aktion erteilen können. Bei Vorgängen, die *Berechtigungen auf Ressourcenebene* unterstützen, ist in der Tabelle die AWS Ressource aufgeführt, für die Sie die Berechtigungen erteilen können. Sie geben die Aktionen im Feld `Action` der Richtlinie an.

Mit *Berechtigungen auf Ressourcenebene* können Sie angeben, für welche Ressourcen Benutzer Aktionen ausführen dürfen. AWS CodePipeline bietet teilweise Unterstützung für Berechtigungen auf Ressourcenebene. Das bedeutet, dass Sie bei einigen AWS CodePipeline API-Aufrufen steuern können, wann Benutzer diese Aktionen verwenden dürfen, je nachdem, welche Bedingungen erfüllt sein müssen, oder welche Ressourcen Benutzer verwenden dürfen. Beispielsweise können Sie Benutzern die Berechtigung erteilen, Ausführungsinformationen für die Pipeline aufzulisten, dies aber nur für eine oder mehrere bestimmte Pipeline bzw. Pipelines.

**Anmerkung**  
In der Spalte **Ressourcen** werden die Ressourcen aufgeführt, die für API-Aufrufe erforderlich sind, die Berechtigungen auf Ressourcenebene unterstützen. Bei API-Aufrufen, die keine Berechtigungen auf Ressourcenebene unterstützen, können Sie den Benutzern die Berechtigung zu ihrer Verwendung erteilen, müssen aber für das Ressourcenelement in der Richtlinienanweisung einen Platzhalter (\$1) einfügen.




**API-Operationen und erforderliche Berechtigungen für Aktionen**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/permissions-reference.html)

# Verwalten Sie die CodePipeline Servicerolle
<a name="how-to-custom-role"></a>

Die Servicerolle ist mit einer oder mehreren Richtlinien konfiguriert, die den Zugriff auf die von der Pipeline verwendeten AWS Ressourcen steuern. Möglicherweise möchten Sie dieser Rolle weitere Richtlinien zuordnen, die der Rolle zugeordnete Richtlinie bearbeiten oder Richtlinien für andere Servicerollen in konfigurieren AWS. Sie können auch einer Rolle eine Richtlinie anfügen, wenn Sie den kontenübergreifenden Zugriff auf Ihre Pipeline konfigurieren.

**Wichtig**  
Das Modifizieren einer Richtlinienanweisung oder Anfügen einer weiteren Richtlinie zur Rolle kann Pipelines funktionsunfähig machen. Vergewissern Sie sich über die Auswirkungen, bevor Sie die Servicerolle für auf irgendeine Weise verändern. Sie sollten Ihre Pipelines nach Durchführung von Änderungen an der Servicerolle unbedingt testen.

**Anmerkung**  
In der Konsole werden Servicerollen, die vor September 2018 erstellt wurden, mit dem Namen `oneClick_AWS-CodePipeline-Service_ID-Number` erstellt.  
Servicerollen, die nach September 2018 erstellt wurden, verwenden das Namensformat der Servicerolle `AWSCodePipelineServiceRole-Region-Pipeline_Name`. Bei einer Pipeline mit dem Namen `MyFirstPipeline` in `eu-west-2` benennt die Konsole beispielsweise die Rolle und die Richtlinie`AWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline`.

## CodePipeline Richtlinie für die Servicerolle
<a name="how-to-custom-role-policy"></a>

Die Richtlinie zur CodePipeline Servicerolle enthält die Mindestberechtigungen für die Verwaltung von Pipelines. Sie können die Diensterollenanweisung bearbeiten, um den Zugriff auf Ressourcen, die Sie nicht verwenden, zu entfernen oder hinzuzufügen. In der entsprechenden Aktionsreferenz finden Sie die für jede Aktion erforderlichen Mindestberechtigungen CodePipeline .

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowS3BucketAccess",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::[[pipeArtifactBucketNames]]"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "{{accountId}}"
        }
      }
    },
    {
      "Sid": "AllowS3ObjectAccess",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObjectTagging",
        "s3:GetObjectTagging",
        "s3:GetObjectVersionTagging"
      ],
      "Resource": [
        "arn:aws:s3:::[[pipeArtifactBucketNames]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "{{accountId}}"
        }
      }
    }
  ]
}
```

------

**Anmerkung**  
In der Richtlinie sind die folgenden Berechtigungen erforderlich, wenn die S3-Objekte in Ihrem Quell-Bucket Tags enthalten:   

```
s3:PutObjectTagging
s3:GetObjectTagging
s3:GetObjectVersionTagging
```

## Entfernen Sie Berechtigungen aus der CodePipeline Servicerolle
<a name="remove-permissions-from-policy"></a>

Sie können die Servicerollenanweisung entsprechend bearbeiten, um den Zugriff auf ungenutzte Ressourcen zu entfernen. Wenn beispielsweise keine Ihrer Pipelines Elastic Beanstalk enthält, können Sie die Richtlinienerklärung bearbeiten, um den Abschnitt zu entfernen, der Zugriff auf Elastic Beanstalk Beanstalk-Ressourcen gewährt.

Ebenso können Sie, wenn keine Ihrer Pipelines Folgendes beinhaltet CodeDeploy, die Richtlinienerklärung bearbeiten, um den Abschnitt zu entfernen, der Zugriff auf Ressourcen gewährt: CodeDeploy 

```
    {
    "Action": [
        "codedeploy:CreateDeployment",
        "codedeploy:GetApplicationRevision",
        "codedeploy:GetDeployment",
        "codedeploy:GetDeploymentConfig",
        "codedeploy:RegisterApplicationRevision"
    ],
    "Resource": "*",
    "Effect": "Allow"
},
```

## Fügen Sie der CodePipeline Servicerolle Berechtigungen hinzu
<a name="how-to-update-role-new-services"></a>

Bevor Sie sie in Ihren Pipelines verwenden können, müssen Sie Ihre Dienstrollen-Richtlinienerklärung mit Berechtigungen für eine Richtlinie aktualisieren, die noch AWS-Service nicht in der Standardrichtlinie für die Servicerolle enthalten ist.

Dies ist besonders wichtig, wenn die Servicerolle, die Sie für Ihre Pipelines verwenden, erstellt wurde, bevor der Support für eine hinzugefügt wurde. AWS-Service

Die folgende Tabelle zeigt, wann Unterstützung für andere AWS-Services hinzugefügt wurde. 


****  

| AWS-Service | CodePipeline Datum der Unterstützung | 
| --- | --- | 
| CodePipeline Unterstützung für Aktionen aufrufen hinzugefügt. Siehe [Richtlinienberechtigungen für die Servicerolle für die CodePipeline Aufrufaktion](action-reference-PipelineInvoke.md#action-reference-PipelineInvoke-permissions-action). | 14. März 2025 | 
|  EC2Unterstützung für Aktionen hinzugefügt. Siehe [Richtlinienberechtigungen für Dienstrollen für die EC2-Bereitstellungsaktion](action-reference-EC2Deploy.md#action-reference-EC2Deploy-permissions-action). | 21. Februar 2025 | 
|  EKSUnterstützung für Aktionen hinzugefügt. Siehe [Richtlinienberechtigungen für die Servicerolle](action-reference-EKS.md#action-reference-EKS-service-role). | 20. Februar 2025 | 
|  Unterstützung für Amazon Elastic Container ECRBuildAndPublish Registry-Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: Aktion `ECRBuildAndPublish`](action-reference-ECRBuildAndPublish.md#edit-role-ECRBuildAndPublish). | 22. November 2024 | 
| Unterstützung für Amazon Inspector InspectorScan Inspector-Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: `InspectorScan` Aktion](action-reference-InspectorScan.md#edit-role-InspectorScan). | 22. November 2024 | 
| Unterstützung für Befehlsaktionen hinzugefügt. Siehe [Berechtigungen für die Servicerolle: Befehle, Aktion](action-reference-Commands.md#edit-role-Commands). | 03. Oktober 2024 | 
| CloudFormation Unterstützung für Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: Aktion `CloudFormationStackSet`](action-reference-StackSets.md#edit-role-cfn-stackset) und [Berechtigungen für Servicerollen: `CloudFormationStackInstances` Aktion](action-reference-StackSets.md#edit-role-cfn-stackinstances). | 30. Dezember 2020 | 
| CodeCommit Unterstützung für Aktionen im vollständigen Klonausgabeartefaktformat hinzugefügt. Siehe [Berechtigungen für Servicerollen: CodeCommit Aktion](action-reference-CodeCommit.md#edit-role-codecommit). | 11. November 2020 | 
| AWS CodeBuild Unterstützung für Batch-Build-Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: CodeCommit Aktion](action-reference-CodeCommit.md#edit-role-codecommit). | 30. Juli 2020 | 
| AWS AppConfig Unterstützung für Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: Aktion `AppConfig`](action-reference-AppConfig.md#edit-role-appconfig). | 22. Juni 2020 | 
| AWS Step Functions Aktionsunterstützung hinzugefügt. Siehe [Berechtigungen für Servicerollen: `StepFunctions` Aktion](action-reference-StepFunctions.md#edit-role-stepfunctions). | 27. Mai 2020 | 
| AWS CodeStar Unterstützung für Verbindungsaktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: CodeConnections Aktion](action-reference-CodestarConnectionSource.md#edit-role-connections). | 18. Dezember 2019 | 
| Unterstützung für S3-Bereitstellungsaktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: S3-Bereitstellungsaktion](action-reference-S3Deploy.md#edit-role-s3deploy). | 16. Januar 2019 | 
| Die Unterstützung für CodeDeployToECS Aktionsaktionen wurde hinzugefügt. Siehe [Berechtigungen für Servicerollen: `CodeDeployToECS` Aktion](action-reference-ECSbluegreen.md#edit-role-codedeploy-ecs). | 27. November 2018 | 
| Unterstützung für Amazon ECR-Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: Amazon ECR-Aktion](action-reference-ECR.md#edit-role-ecr). | 27. November 2018 | 
| Unterstützung Service Catalog Servicekatalog-Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: Aktion „Service Catalog“](action-reference-ServiceCatalog.md#edit-role-servicecatalog). | 16. Oktober 2018 | 
| AWS Device Farm Unterstützung für Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: AWS Device Farm Aktion](action-reference-DeviceFarm.md#edit-role-devicefarm). | 19. Juli 2018 | 
| Unterstützung für Amazon ECS-Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: Amazon ECS-Standardaktion](action-reference-ECS.md#edit-role-ecs). | 12. Dezember 2017//Update für die Anmeldung zur Tagging-Autorisierung am 21. Juli 2017 | 
| CodeCommit Unterstützung für Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: CodeCommit Aktion](action-reference-CodeCommit.md#edit-role-codecommit). | 18. April 2016 | 
| AWS OpsWorks Aktionsunterstützung hinzugefügt. Siehe [Berechtigungen für Servicerollen: AWS OpsWorks Aktion](action-reference-OpsWorks.md#edit-role-opsworks). | 2. Juni 2016 | 
| CloudFormation Aktionsunterstützung hinzugefügt. Siehe [Berechtigungen für Servicerollen: CloudFormation Aktion](action-reference-CloudFormation.md#edit-role-cloudformation). | 3. November 2016 | 
| AWS CodeBuild Aktionsunterstützung hinzugefügt. Siehe [Berechtigungen für Servicerollen: CodeBuild Aktion](action-reference-CodeBuild.md#edit-role-codebuild). | 1. Dezember 2016 | 
| Unterstützung für Elastic Beanstalk Beanstalk-Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: Aktion `ElasticBeanstalk` bereitstellen](action-reference-Beanstalk.md#edit-role-beanstalk). | Erster Start des Dienstes | 
| CodeDeploy Unterstützung für Aktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: AWS CodeDeploy Aktion](action-reference-CodeDeploy.md#edit-role-codedeploy). | Erster Start des Dienstes | 
| Unterstützung für S3-Quellaktionen hinzugefügt. Siehe [Berechtigungen für Servicerollen: S3-Quellaktion](action-reference-S3.md#edit-role-s3source). | Erster Start des Dienstes | 

Gehen Sie folgendermaßen vor, um Berechtigungen für einen unterstützten Service hinzuzufügen:

 

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Wählen Sie in der IAM-Konsole im Navigationsbereich **Rollen** und dann Ihre `AWS-CodePipeline-Service` Rolle aus der Rollenliste aus.

1. Wählen Sie auf der Registerkarte **Berechtigungen** unter **Inline-Richtlinien** in der Zeile für Ihre Servicerollenrichtlinie die Option **Richtlinie bearbeiten** aus.

1. Fügen Sie die erforderlichen Berechtigungen im Feld **Richtliniendokument** hinzu. 
**Anmerkung**  
Beachten Sie bei der Erstellung von IAM-Richtlinien die standardmäßigen Sicherheitsempfehlungen zur Gewährung von geringsten Rechten, d. h. gewähren Sie nur die für die Ausführung einer Aufgabe erforderlichen Berechtigungen. Einige API-Aufrufe unterstützen ressourcenbasierte Berechtigungen und lassen Zugriffseinschränkungen zu. In diesem Fall können Sie beispielsweise das Platzhalterzeichen (\$1) durch einen Ressourcen-ARN oder durch einen Ressourcen-ARN, der einen Platzhalter (\$1) enthält, ersetzen, um die Berechtigungen beim Aufrufen von `DescribeTasks` und `ListTasks` einzuschränken. Weitere Informationen zum Erstellen einer Richtlinie, die den Zugriff mit den geringsten Rechten gewährt, finden Sie unter. [https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)

1. Wählen Sie **Review policy**, um sicherzustellen, dass die Richtlinie keine Fehler enthält. **Wenn die Richtlinie fehlerfrei ist, wählen Sie Richtlinie anwenden.**