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
Erstellt von Andre Cavalcante (AWS) und Claison Amorim (AWS)
Übersicht
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. 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 zum Ziel AWS-Konten, zu den Organisationseinheiten (OUs) oder zum Stammverzeichnis Ihrer Organisation.
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
Voraussetzungen
Eine Umgebung mit mehreren Konten, die als Organisation in verwaltet wird. AWS Organizations Weitere Informationen finden Sie unter Organisation erstellen.
IAM Identity Center, aktiviert und konfiguriert mit einer Identitätsquelle. Weitere Informationen finden Sie unter Erste Schritte 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.
AWS Organizations — Anweisungen finden Sie unter Delegierter Administrator 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. 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.
Die Konto-ID des Verwaltungskontos der Organisation. Anweisungen finden Sie unter Ihre AWS-Konto ID finden.
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. Sie können dieses Muster nicht verwenden, um vordefinierte Berechtigungen zu verwalten oder zuzuweisen.
Dieses Muster kann nicht verwendet werden, um einen Berechtigungssatz für das Verwaltungskonto der Organisation zu verwalten.
Architektur
Zielarchitektur

Das Diagramm zeigt den folgenden Workflow:
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
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.Die initiierte Lambda-Funktion startet die CI/CD-Pipeline in. CodePipeline
CodePipeline startet das Projekt.
TemplateValidation
CodeBuild DasTemplateValidation
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.
Die
PermissionSet
Aktionsgruppe imDeploy
CodeBuild Projekt wird verwendet, AWS SDK for Python (Boto3) um die Berechtigungssätze im IAM Identity Center zu löschen, zu erstellen oder zu aktualisieren. Nur Berechtigungssätze mit demSSOPipeline:true
Tag sind betroffen. Alle Berechtigungssätze, die über diese Pipeline verwaltet werden, haben dieses Tag.Die
Assignments
Aktionsgruppe imDeploy
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.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 ausgeführt wird. Terraform und Boto3 verwalten die Drosselung automatisch, um Leistungseinbußen zu minimieren.
Tools
AWS-Services
AWS CloudFormationhilft 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 CodeBuildist ein vollständig verwalteter Build-Service, der Ihnen hilft, Quellcode zu kompilieren, Komponententests durchzuführen und Artefakte zu erstellen, die sofort einsatzbereit sind.
AWS CodePipelinehilft 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 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 Centerhilft Ihnen dabei, den Single Sign-On (SSO) -Zugriff auf all Ihre Anwendungen AWS-Konten und Cloud-Anwendungen zentral zu verwalten.
AWS Organizationsist ein Kontoverwaltungsdienst, mit dem Sie mehrere Konten zu einer Organisation AWS-Konten zusammenfassen können, die Sie erstellen und zentral verwalten.
AWS SDK for Python (Boto3)
ist ein Softwareentwicklungskit, mit dem Sie Ihre Python-Anwendung, -Bibliothek oder Ihr Skript integrieren können AWS-Services. Amazon Simple Storage Service (Amazon S3) 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
Bewährte Methoden
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 und bewährte Methoden zur Sicherheit.
Epen
Aufgabe | Beschreibung | 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
| DevOps Ingenieur |
Definieren Sie die Berechtigungssätze. |
| DevOps Ingenieur |
Definieren Sie die Aufgaben. |
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie Ressourcen im delegierten IAM Identity Center-Administratorkonto bereit. |
| DevOps Ingenieur |
Stellen Sie Ressourcen im AWS Organizations Verwaltungskonto bereit. |
| DevOps Ingenieur |
Beenden Sie die Einrichtung des Remote-Repositorys. | Ändern Sie den Status der AWS CodeConnections Verbindung von | DevOps Ingenieur |
Laden Sie Dateien in das Remote-Repository hoch. | Laden Sie alle Dateien, die Sie aus dem | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Aktualisieren Sie die Berechtigungssätze und Zuweisungen. | Wenn die 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:
| DevOps Ingenieur |
Fehlerbehebung
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. |
Pipeline-Fehler in der Validierungsphase | Dieser Fehler tritt auf, wenn der Berechtigungssatz oder die Zuweisungsvorlagen Fehler enthalten.
|
Zugehörige Ressourcen
Berechtigungssätze (IAM Identity Center-Dokumentation)