

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.

# Automatische Validierung und Bereitstellung von IAM-Richtlinien und -Rollen mithilfe CodePipeline von IAM Access Analyzer und AWS-Makros CloudFormation
<a name="automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros"></a>

*Helton Ribeiro und Guilherme Simoes, Amazon Web Services*

## Zusammenfassung
<a name="automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros-summary"></a>

Dieses Muster beschreibt die Schritte und bietet Code zum Erstellen einer Bereitstellungspipeline, die es Ihren Entwicklungsteams ermöglicht, Richtlinien und Rollen für AWS Identity and Access Management (IAM) in Ihren Amazon Web Services (AWS) -Konten zu erstellen. Dieser Ansatz hilft Ihrem Unternehmen, den Aufwand für Ihre operativen Teams zu reduzieren und den Bereitstellungsprozess zu beschleunigen. Es hilft Ihren Entwicklern auch dabei, IAM-Rollen und -Richtlinien zu erstellen, die mit Ihren bestehenden Governance- und Sicherheitskontrollen kompatibel sind.

Der Ansatz dieses Musters verwendet [AWS Identity and Access Management Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html), um die IAM-Richtlinien zu validieren, die Sie den IAM-Rollen zuordnen möchten, und verwendet AWS, CloudFormation um die IAM-Rollen bereitzustellen. Anstatt jedoch die CloudFormation AWS-Vorlagendatei direkt zu bearbeiten, erstellt Ihr Entwicklungsteam IAM-Richtlinien und -Rollen im JSON-Format. Ein CloudFormation AWS-Makro wandelt diese Richtliniendateien im JSON-Format vor Beginn der Bereitstellung in AWS CloudFormation IAM-Ressourcentypen um.

Die Bereitstellungspipeline (`RolesPipeline`) umfasst Quell-, Validierungs- und Bereitstellungsphasen. In der Quellphase überträgt Ihr Entwicklungsteam die JSON-Dateien, die die Definition der IAM-Rollen und -Richtlinien enthalten, in ein CodeCommit AWS-Repository. AWS führt CodeBuild dann ein Skript aus, um diese Dateien zu validieren, und kopiert sie in einen Amazon Simple Storage Service (Amazon S3) -Bucket. Da Ihre Entwicklungsteams keinen direkten Zugriff auf die CloudFormation AWS-Vorlagendatei haben, die in einem separaten S3-Bucket gespeichert ist, müssen sie den Erstellungs- und Validierungsprozess der JSON-Datei befolgen.

Schließlich CodeDeploy verwendet AWS während der Bereitstellungsphase einen CloudFormation AWS-Stack, um die IAM-Richtlinien und -Rollen in einem Konto zu aktualisieren oder zu löschen.

**Wichtig**  
Der Workflow dieses Musters ist ein Machbarkeitsnachweis (POC), und wir empfehlen, ihn nur in einer Testumgebung zu verwenden. Wenn Sie den Ansatz dieses Musters in einer Produktionsumgebung verwenden möchten, finden Sie in der [IAM-Dokumentation unter Bewährte Sicherheitsmethoden in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) weitere Informationen und nehmen Sie die erforderlichen Änderungen an Ihren IAM-Rollen und AWS-Services vor.

## Voraussetzungen und Einschränkungen
<a name="automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ Ein neuer oder vorhandener S3-Bucket für die Pipeline. `RolesPipeline` Stellen Sie sicher, dass die von Ihnen verwendeten Zugangsdaten berechtigt sind, Objekte in diesen Bucket hochzuladen.
+ AWS-Befehlszeilenschnittstelle (AWS CLI), installiert und konfiguriert. Weitere Informationen dazu finden Sie unter [Installation, Aktualisierung und Deinstallation der AWS-CLI in der AWS-CLI-Dokumentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html). 
+ AWS Serverless Application Model (AWS SAM) CLI, installiert und konfiguriert. Weitere Informationen dazu finden Sie unter [Installation der AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) in der AWS SAM-Dokumentation. 
+ Python 3, auf Ihrem lokalen Computer installiert. Weitere Informationen dazu finden Sie in der [Python-Dokumentation](https://www.python.org/).
+ Ein Git-Client, installiert und konfiguriert.
+ Das GitHub `IAM roles pipeline` Repository, auf Ihren lokalen Computer geklont. 
+ Bestehende IAM-Richtlinien und -Rollen im JSON-Format. Weitere Informationen dazu finden Sie in der [ReadMe](https://github.com/aws-samples/iam-roles-pipeline/blob/main/README.md)Datei im Github-Repository. `IAM roles pipeline`
+ Ihr Entwicklerteam darf nicht berechtigt sein, die AWS- CodePipeline CodeBuild, und CodeDeploy Ressourcen dieser Lösung zu bearbeiten.

**Einschränkungen**
+ Der Workflow dieses Musters ist ein Machbarkeitsnachweis (POC), und wir empfehlen, ihn nur in einer Testumgebung zu verwenden. Wenn Sie den Ansatz dieses Musters in einer Produktionsumgebung verwenden möchten, finden Sie in der [IAM-Dokumentation unter Bewährte Sicherheitsmethoden in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) weitere Informationen und nehmen Sie die erforderlichen Änderungen an Ihren IAM-Rollen und AWS-Services vor.

## Architektur
<a name="automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros-architecture"></a>

Das folgende Diagramm zeigt, wie Sie mithilfe CodePipeline von IAM Access Analyzer und CloudFormation AWS-Makros automatisch IAM-Rollen und -Richtlinien für ein Konto validieren und bereitstellen.

![\[Schritte zur Validierung und Bereitstellung von IAM-Richtlinien und -Rollen in einem AWS-Konto.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/df1add4d-f211-43e3-8976-5314da75f627/images/832bebaf-27a0-4949-9c30-99fc4c9982b8.png)


Das Diagramm zeigt den folgenden Workflow:

1. Ein Entwickler schreibt JSON-Dateien, die die Definitionen für die IAM-Richtlinien und -Rollen enthalten. Der Entwickler überträgt den Code in ein CodeCommit Repository und initiiert CodePipeline dann die Pipeline. `RolesPipeline`

1. CodeBuild validiert die JSON-Dateien mithilfe von IAM Access Analyzer. Wenn sicherheits- oder fehlerbezogene Ergebnisse vorliegen, wird der Bereitstellungsprozess gestoppt.

1. Wenn keine sicherheits- oder fehlerbezogenen Ergebnisse vorliegen, werden die JSON-Dateien an den S3-Bucket gesendet. `RolesBucket`

1. Ein als AWS-Lambda-Funktion implementiertes CloudFormation AWS-Makro liest dann die JSON-Dateien aus dem `RolesBucket` Bucket und wandelt sie in AWS CloudFormation IAM-Ressourcentypen um.

1. Ein vordefinierter CloudFormation AWS-Stack installiert, aktualisiert oder löscht die IAM-Richtlinien und -Rollen im Konto. 

**Automatisierung und Skalierung**

 CloudFormation AWS-Vorlagen, die dieses Muster automatisch bereitstellen, werden im [Pipeline-Repository für GitHub IAM-Rollen](https://github.com/aws-samples/iam-roles-pipeline) bereitgestellt.

## Tools
<a name="automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
+ Mit [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) können Sie den Zugriff auf Ihre AWS-Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.
+ [IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) hilft Ihnen dabei, die Ressourcen in Ihrer Organisation und Konten, wie S3-Buckets oder IAM-Rollen, zu identifizieren, die mit einer externen Entität gemeinsam genutzt werden. Dies hilft Ihnen, unbeabsichtigten Zugriff auf Ihre Ressourcen und Daten zu identifizieren.
+ Das [AWS Serverless Application Model (AWS SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) ist ein Open-Source-Framework, mit dem Sie serverlose Anwendungen in der AWS-Cloud erstellen können.

**Code**

Der Quellcode und die Vorlagen für dieses Muster sind im Pipeline-Repository für GitHub [IAM-Rollen](https://github.com/aws-samples/iam-roles-pipeline) verfügbar.

## Epen
<a name="automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros-epics"></a>

### Klonen Sie das Repository
<a name="clone-the-repository"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
|  Klonen Sie das Beispiel-Repository. | Klonen Sie das [Pipeline-Repository für GitHub IAM-Rollen](https://github.com/aws-samples/iam-roles-pipeline) auf Ihren lokalen Computer. | App-Entwickler, General AWS | 

### Stellen Sie die RolesPipeline Pipeline bereit
<a name="deploy-the-rolespipeline-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie die Pipeline bereit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros.html) | App-Entwickler, General AWS | 
| Klonen Sie das Repository der Pipeline. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros.html) | App-Entwickler, General AWS | 

### Testen Sie die RolesPipeline Pipeline
<a name="test-the-rolespipeline-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Testen Sie die RolesPipeline Pipeline mit gültigen IAM-Richtlinien und -Rollen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros.html) | App-Entwickler, General AWS | 
| Testen Sie die RolesPipeline Pipeline mit ungültigen IAM-Richtlinien und -Rollen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros.html) | App-Entwickler, General AWS | 

### Bereinigen Ihrer Ressourcen
<a name="clean-up-your-resources"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Bereite dich auf die Säuberung vor. | Leeren Sie die S3-Buckets und führen Sie dann den `destroy` Befehl aus. | App-Entwickler, General AWS | 
| Löschen Sie den RolesStack Stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros.html) | App-Entwickler, General AWS | 
| Löschen Sie den RolesPipeline Stack. | Um den `RolesPipeline` CloudFormation AWS-Stack zu löschen, folgen Sie den Anweisungen in der [ReadMe](https://github.com/aws-samples/iam-roles-pipeline/blob/main/README.md)Datei im `IAM roles pipeline` Github-Repository. | App-Entwickler, General AWS | 

## Zugehörige Ressourcen
<a name="automatically-validate-and-deploy-iam-policies-and-roles-in-an-aws-account-by-using-codepipeline-iam-access-analyzer-and-aws-cloudformation-macros-resources"></a>
+ [IAM Access Analyzer — Richtlinienvalidierung](https://aws.amazon.com/blogs/aws/iam-access-analyzer-update-policy-validation/) (AWS-News-Blog)
+ [Verwenden von CloudFormation AWS-Makros zur benutzerdefinierten Verarbeitung von Vorlagen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html) ( CloudFormation AWS-Dokumentation)
+ [Lambda-Funktionen mit Python erstellen](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html) (AWS Lambda Lambda-Dokumentation)