

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.

# Verwalten Sie AWS IAM Identity Center Berechtigungssätze als Code, indem Sie AWS CodePipeline
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline"></a>

*Andre Cavalcante und Claison Amorim, Amazon Web Services*

## Zusammenfassung
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-summary"></a>

AWS IAM Identity Center hilft Ihnen dabei, den Single Sign-On (SSO) -Zugriff auf all Ihre Anwendungen zentral zu verwalten. AWS-Konten Sie können Benutzeridentitäten in IAM Identity Center erstellen und verwalten, oder Sie können eine Verbindung zu einer vorhandenen Identitätsquelle herstellen, z. B. einer Microsoft Active Directory-Domäne oder einem externen Identitätsanbieter (IdP). [IAM Identity Center bietet eine einheitliche Administrationserfahrung, mit der Sie mithilfe von Berechtigungssätzen einen detaillierten Zugriff auf Ihre AWS Umgebung definieren, anpassen und zuweisen können.](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) Berechtigungssätze gelten für die verbundenen Benutzer und Gruppen aus Ihrem IAM Identity Center-Identitätsspeicher oder Ihrem externen IdP.

Dieses Muster hilft Ihnen dabei, IAM Identity Center-Berechtigungssätze als Code in Ihrer Umgebung mit mehreren Konten zu verwalten, die als Organisation in verwaltet wird. AWS Organizations Mit diesem Muster können Sie Folgendes erreichen:
+ Berechtigungssätze erstellen, löschen und aktualisieren
+ Erstellen, aktualisieren oder löschen Sie Berechtigungssatz-Zuweisungen an das Ziel AWS-Konten, Organisationseinheiten (OUs) oder Ihren Organisationsstamm.

Um IAM Identity Center-Berechtigungen und -Zuweisungen als Code zu verwalten, stellt diese Lösung eine CI/CD-Pipeline (Continuous Integration and Continuous Delivery) bereit, die und verwendet. AWS CodeBuild AWS CodePipeline Sie verwalten die Berechtigungssätze und Zuweisungen in JSON-Vorlagen, die Sie in einem Remote-Repository speichern. Wenn EventBridge Amazon-Regeln eine Änderung am Repository oder Änderungen an den Konten in der Ziel-OU erkennen, wird eine AWS Lambda Funktion gestartet. Die Lambda-Funktion initiiert die CI/CD Pipeline, die die Berechtigungssätze und Zuweisungen in IAM Identity Center aktualisiert.

## Voraussetzungen und Einschränkungen
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-prereqs"></a>

**Voraussetzungen**
+ Eine Umgebung mit mehreren Konten, die als Organisation in verwaltet wird. AWS Organizations Weitere Informationen finden Sie unter [Organisation erstellen](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_create.html).
+ IAM Identity Center, aktiviert und konfiguriert mit einer Identitätsquelle. Weitere Informationen finden Sie unter [Erste Schritte](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) in der IAM Identity Center-Dokumentation.
+ Ein Mitgliedskonto, das als delegierter Administrator für Folgendes registriert ist: AWS-Services
  + IAM Identity Center — Anweisungen finden Sie in der IAM Identity Center-Dokumentation unter [Ein Mitgliedskonto registrieren](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html#delegated-admin-how-to-register).
  + AWS Organizations — Anweisungen finden Sie unter [Delegierter Administrator](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_delegate_policies.html) für. AWS Organizations Dieses Konto muss berechtigt sein, Konten aufzulisten und zu beschreiben und OUs.
**Anmerkung**  
Sie müssen für beide Dienste dasselbe Konto wie der delegierte Administrator verwenden.
+ Berechtigungen zum Bereitstellen von AWS CloudFormation Stacks im delegierten Administratorkonto von IAM Identity Center und im Verwaltungskonto der Organisation. Weitere Informationen finden Sie in der Dokumentation unter [Zugriffskontrolle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html). CloudFormation 
+ Ein Amazon Simple Storage Service (Amazon S3) -Bucket im delegierten Administratorkonto von IAM Identity Center. Sie laden den Artefaktcode in diesen Bucket hoch. Anweisungen finden Sie in der Amazon S3 S3-Dokumentation unter [Bucket erstellen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html).
+ Die Konto-ID des Verwaltungskontos der Organisation. Anweisungen finden Sie unter [Ihre AWS-Konto ID finden](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindAccountId).
+ Ein Repository auf Ihrem Quellcode-Host, z. GitHub B.

**Einschränkungen**
+ Dieses Muster kann nicht zur Verwaltung oder Zuweisung von Berechtigungssätzen für Umgebungen mit nur einem Konto oder für Konten verwendet werden, die nicht als Organisation in AWS Organizations verwaltet werden.
+ Die Namen der Berechtigungssätze, die Zuweisung IDs und die IAM Identity Center-Prinzipaltypen können nach der Bereitstellung IDs nicht geändert werden.
+ Dieses Muster hilft Ihnen bei der Erstellung und Verwaltung [benutzerdefinierter Berechtigungen](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetcustom.html). Sie können dieses Muster nicht verwenden, um [vordefinierte Berechtigungen](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetpredefined.html) zu verwalten oder zuzuweisen.
+ Dieses Muster kann nicht verwendet werden, um einen Berechtigungssatz für das Verwaltungskonto der Organisation zu verwalten.

## Architektur
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-architecture"></a>

**Zielarchitektur**

![\[Verwendung einer CI/CD Pipeline zur Verwaltung von Berechtigungssätzen in IAM Identity Center\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/419aaa80-1b97-402d-9c74-c1b8c1ddd1cb/images/1f143bc4-c2c6-4ab6-8615-742fec617f18.png)


Das Diagramm zeigt den folgenden Workflow:

1. Ein Benutzer nimmt eine der folgenden Änderungen vor:
   + Übergibt eine oder mehrere Änderungen an das Remote-Repository, z. B. GitHub
   + Ändert die Konten in der Organisationseinheit in AWS Organizations

1. Wenn der Benutzer eine Änderung am Remote-Repository in den Hauptzweig übernommen hat, wird die Pipeline gestartet. 

   Wenn der Benutzer die Konten in der Organisationseinheit geändert hat, erkennt die `MoveAccount` EventBridge Regel die Änderung und startet eine Lambda-Funktion im Verwaltungskonto der Organisation.

1. Die initiierte Lambda-Funktion startet die CI/CD Pipeline in CodePipeline.

1. CodePipeline startet das `TemplateValidation` CodeBuild Projekt. Das `TemplateValidation` CodeBuild Projekt verwendet ein Python-Skript im Remote-Repository, um die Berechtigungssatz-Vorlagen zu validieren. CodeBuild validiert Folgendes:
   + Die Namen der Berechtigungssätze sind eindeutig.
   + Die Zuweisungsanweisung IDs (`Sid`) ist einzigartig.
   + Richtliniendefinitionen sind im `CustomPolicy` Parameter enthalten und gültig. (Diese Überprüfung verwendet AWS Identity and Access Management Access Analyzer.)
   + Die Amazon-Ressourcennamen (ARNs) der verwalteten Richtlinien sind gültig.

1. Die `PermissionSet` Aktionsgruppe im `Deploy` CodeBuild Projekt wird verwendet, AWS SDK für Python (Boto3) um die Berechtigungssätze im IAM Identity Center zu löschen, zu erstellen oder zu aktualisieren. Nur Berechtigungssätze mit dem `SSOPipeline:true` Tag sind betroffen. Alle Berechtigungssätze, die über diese Pipeline verwaltet werden, haben dieses Tag.

1. Die `Assignments` Aktionsgruppe im `Deploy` CodeBuild Projekt verwendet Terraform, um die Aufgaben im IAM Identity Center zu löschen, zu erstellen oder zu aktualisieren. Die Terraform-Backend-Statusdateien werden in einem Amazon S3 S3-Bucket im selben Konto gespeichert.

1. CodeBuild aktualisiert die Berechtigungssätze und Zuweisungen im IAM Identity Center.

**Automatisierung und Skalierung**

Da alle neuen Konten in einer Umgebung mit mehreren Konten in eine bestimmte Organisationseinheit verschoben werden AWS Organizations, wird diese Lösung automatisch ausgeführt und gewährt allen Konten, die Sie in den Zuweisungsvorlagen angeben, die erforderlichen Berechtigungssätze. Es sind keine zusätzlichen Automatisierungen oder Skalierungsaktionen erforderlich.

In großen Umgebungen kann die Anzahl der API-Anfragen an IAM Identity Center dazu führen, dass diese Lösung langsamer läuft. Terraform und Boto3 verwalten die Drosselung automatisch, um Leistungseinbußen zu minimieren.

## Tools
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-tools"></a>

**AWS-Services**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)hilft Ihnen dabei, AWS Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus über und zu verwalten. AWS-Konten AWS-Regionen
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)ist ein vollständig verwalteter Build-Service, der Ihnen hilft, Quellcode zu kompilieren, Komponententests durchzuführen und Artefakte zu erstellen, die sofort einsatzbereit sind. 
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)hilft Ihnen dabei, die verschiedenen Phasen einer Softwareversion schnell zu modellieren und zu konfigurieren und die Schritte zu automatisieren, die für die kontinuierliche Veröffentlichung von Softwareänderungen erforderlich sind.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) ist ein serverloser Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Echtzeitdaten aus einer Vielzahl von Quellen verbinden können. Zum Beispiel AWS Lambda Funktionen, HTTP-Aufruf-Endpunkte, die API-Ziele verwenden, oder Event-Busse in anderen. AWS-Konten
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)hilft Ihnen dabei, den Single Sign-On (SSO) -Zugriff auf all Ihre Anwendungen AWS-Konten und Cloud-Anwendungen zentral zu verwalten.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)ist ein Kontoverwaltungsdienst, mit dem Sie mehrere Konten zu einer Organisation AWS-Konten zusammenfassen können, die Sie erstellen und zentral verwalten.
+ [AWS SDK für Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)ist ein Softwareentwicklungskit, mit dem Sie Ihre Python-Anwendung, -Bibliothek oder Ihr Skript integrieren können AWS-Services.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

**Code-Repository**

Der Code für dieses Muster ist im Repository [aws-iam-identity-center-pipeline](https://github.com/aws-samples/aws-iam-identity-center-pipeline) verfügbar. Der Vorlagenordner im Repository enthält Beispielvorlagen für Berechtigungssätze und Zuweisungen. Er enthält auch AWS CloudFormation Vorlagen für die Bereitstellung der CI/CD Pipeline und der AWS Ressourcen in den Zielkonten.

## Best Practices
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-best-practices"></a>
+ Bevor Sie mit der Änderung des Berechtigungssatzes und der Zuweisungsvorlagen beginnen, empfehlen wir Ihnen, die Berechtigungssätze für Ihre Organisation zu planen. Überlegen Sie, wie die Berechtigungen aussehen sollen, für welche Konten oder OUs welcher Berechtigungssatz gelten soll und für welche IAM Identity Center-Prinzipale (Benutzer oder Gruppen) der Berechtigungssatz gelten soll. Die Namen des Berechtigungssatzes, die Zuordnung IDs und die IAM Identity Center-Prinzipaltypen können nach der IDs Bereitstellung nicht geändert werden.
+ Halten Sie sich an das Prinzip der geringsten Rechte und gewähren Sie nur die für die Ausführung einer Aufgabe erforderlichen Mindestberechtigungen. Weitere Informationen finden Sie in der AWS Identity and Access Management (IAM-[) Dokumentation unter Gewährung der geringsten Rechte](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) und [bewährte Methoden zur Sicherheit](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html).

## Epen
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-epics"></a>

### Planen Sie Berechtigungssätze und Zuweisungen
<a name="plan-permission-sets-and-assignments"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das Repository | Geben Sie in einer Bash-Shell den folgenden Befehl ein. Dadurch wird das [aws-iam-identity-center-pipeline](https://github.com/aws-samples/aws-iam-identity-center-pipeline) Repository von geklont. GitHub<pre>git clone https://github.com/aws-samples/aws-iam-identity-center-pipeline.git</pre> | DevOps Ingenieur | 
| Definieren Sie die Berechtigungssätze. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline.html) | DevOps Ingenieur | 
| Definieren Sie die Aufgaben. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline.html) | DevOps Ingenieur | 

### Stellen Sie die Berechtigungssätze und Zuweisungen bereit
<a name="deploy-the-permission-sets-and-assignments"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie Ressourcen im delegierten IAM Identity Center-Administratorkonto bereit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline.html) | DevOps Ingenieur | 
| Stellen Sie Ressourcen im AWS Organizations Verwaltungskonto bereit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline.html) | DevOps Ingenieur | 
| Beenden Sie die Einrichtung des Remote-Repositorys. | Ändern Sie den Status der AWS CodeConnections Verbindung von `PENDING` zu`AVAILABLE`. Diese Verbindung wurde erstellt, als Sie den CloudFormation Stack bereitgestellt haben. Anweisungen finden Sie in der CodeConnections Dokumentation unter [Aktualisieren einer ausstehenden Verbindung](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html).  | DevOps Ingenieur | 
| Laden Sie Dateien in das Remote-Repository hoch. | Laden Sie alle Dateien, die Sie aus dem `aws-samples` Repository heruntergeladen und in den vorherigen Schritten bearbeitet haben, in das Remote-Repository hoch. Änderungen an der `main` Verzweigung starten die Pipeline, die die Berechtigungssätze und Zuweisungen erstellt oder aktualisiert. | DevOps Ingenieur | 

### Aktualisierung der Berechtigungssätze und Zuweisungen
<a name="updating-the-permission-sets-and-assignments"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Aktualisieren Sie die Berechtigungssätze und Zuweisungen. | Wenn die `MoveAccount` EventBridge Amazon-Regel Änderungen an den Konten in der Organisation feststellt, startet die CI/CD Pipeline automatisch und aktualisiert die Berechtigungssätze. Wenn Sie beispielsweise ein Konto zu einer in der JSON-Datei für Zuweisungen angegebenen Organisationseinheit hinzufügen, wendet die CI/CD Pipeline den Berechtigungssatz auf das neue Konto an.Wenn Sie die bereitgestellten Berechtigungssätze und Zuweisungen ändern möchten, aktualisieren Sie die JSON-Dateien und übertragen Sie sie dann in das Remote-Repository. Beachten Sie Folgendes, wenn Sie die CI/CD Pipeline verwenden, um zuvor bereitgestellte Berechtigungssätze und Zuordnungen zu verwalten:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline.html) | DevOps Ingenieur | 

## Fehlerbehebung
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Fehler aufgrund einer Zugriffsverweigerung | Vergewissern Sie sich, dass Sie über die erforderlichen Berechtigungen verfügen, um die CloudFormation Vorlagen und die darin definierten Ressourcen bereitzustellen. Weitere Informationen finden Sie in der CloudFormation Dokumentation unter [Zugriffskontrolle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html). | 
| Pipeline-Fehler in der Validierungsphase | Dieser Fehler tritt auf, wenn der Berechtigungssatz oder die Zuweisungsvorlagen Fehler enthalten.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline.html) | 

## Zugehörige Ressourcen
<a name="manage-aws-iam-identity-center-permission-sets-as-code-by-using-aws-codepipeline-resources"></a>
+ [Berechtigungssätze](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) (IAM Identity Center-Dokumentation)