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.
Selbstverwaltete Berechtigungen erteilen
Dieses Thema enthält Anweisungen zum Erstellen der IAM Servicerollen, die für die kontenübergreifende Bereitstellung und AWS-Regionen mit selbstverwalteten Berechtigungen erforderlich sind. StackSets Diese Rollen sind erforderlich, um eine vertrauenswürdige Beziehung zwischen dem Konto, von dem aus Sie das Stack-Set verwalten, und dem Konto, für das Sie Stack-Instances bereitstellen, herzustellen. Mithilfe dieses Berechtigungsmodells StackSets können Sie die Bereitstellung für alle AWS-Konto Benutzer durchführen, für die Sie über die erforderlichen Berechtigungen zum Erstellen einer IAM Rolle verfügen.
Informationen zur Verwendung von vom Dienst verwalteten Berechtigungen finden Sie Aktivieren Sie den vertrauenswürdigen Zugriff für Stack-Sets mit Organizations stattdessen unter.
Themen
- Übersicht über selbstverwaltete Berechtigungen
- Erteilen Sie allen Benutzern des Administratorkontos die Berechtigung, Stacks in allen Zielkonten zu verwalten
- Einrichten von erweiterten Berechtigungsoptionen für Operationen für Stack-Sets
- Richten Sie globale Schlüssel ein, um Confused-Deputy-Probleme zu mindern.
Übersicht über selbstverwaltete Berechtigungen
Bevor Sie ein Stack-Set mit selbstverwalteten Berechtigungen erstellen, müssen Sie in jedem Konto IAM Servicerollen erstellt haben.
Die grundlegenden Schritte sind:
-
Ermitteln Sie, welches AWS Konto das Administratorkonto ist.
Stack-Sets werden in diesem Administratorkonto erstellt. Ein Zielkonto ist das Konto, in dem Sie einzelne Stacks erstellen, die einem Stack-Set angehören.
-
Legen Sie fest, wie Sie Berechtigungen für die Stack-Sets strukturieren möchten:
Die einfachste (und umfangreichste) Berechtigungskonfiguration sieht vor, dass Sie allen Benutzern und Gruppen im Administratorkonto die Möglichkeit zum Erstellen und Aktualisieren sämtlicher Stack-Sets einräumen, die über dieses Konto verwaltet werden. Wenn Sie eine feinere Kontrolle benötigen, können Sie Berechtigungen einrichten, die Folgendes angeben:
-
Welche Benutzer und Gruppen Stack-Set-Operationen in welchen Zielkonten erstellen können
-
Welche Ressourcen Benutzer und Gruppen in ihre Stack-Sets einschließen können
-
Welche Stack-Set-Operationen bestimmte Benutzer und Gruppen ausführen können
-
-
Erstellen Sie die erforderlichen IAM Servicerollen in Ihren Administrator- und Zielkonten, um die gewünschten Berechtigungen zu definieren.
Konkret handelt es sich bei den beiden erforderlichen Rollen um:
-
AWSCloudFormationStackSetAdministrationRole— Diese Rolle wird für das Administratorkonto bereitgestellt.
-
AWSCloudFormationStackSetExecutionRole— Diese Rolle wird für alle Konten bereitgestellt, in denen Sie Stack-Instances erstellen.
-
Erteilen Sie allen Benutzern des Administratorkontos die Berechtigung, Stacks in allen Zielkonten zu verwalten
In diesem Abschnitt erfahren Sie, wie Sie Berechtigungen einrichten, damit alle Benutzer und Gruppen des Administratorkontos Stack-Set-Operationen in allen Zielkonten ausführen können. Er führt Sie durch die Erstellung der erforderlichen IAM Servicerollen in Ihren Administrator- und Zielkonten. Jeder Benutzer des Administratorkontos kann dann alle Stacks in allen Zielkonten erstellen, aktualisieren oder löschen.
Durch diese Strukturierung von Berechtigungen geben Benutzer beim Erstellen oder Aktualisieren von Stack-Sets keine Administratorrolle weiter.
Einrichten von erweiterten Berechtigungsoptionen für Operationen für Stack-Sets
Wenn Sie eine genauere Kontrolle über die Stack-Sets benötigen, die Benutzer und Gruppen über ein einziges Administratorkonto erstellen, können Sie mithilfe von IAM Rollen Folgendes angeben:
-
Welche Benutzer und Gruppen Stack-Set-Operationen in welchen Zielkonten erstellen können
-
Welche Ressourcen Benutzer und Gruppen in ihre Stack-Sets einschließen können
-
Welche Stack-Set-Operationen bestimmte Benutzer und Gruppen ausführen können
Steuern Sie, welche Benutzer Stack-Set-Operationen in bestimmten Zielkonten ausführen können
Verwenden Sie benutzerdefinierte Administratorrollen, um zu steuern, welche Benutzer und Gruppen Stack-Set-Operationen in welchen Zielkonten ausführen können. Sie können steuern, welche Benutzer des Administratorkontos Stack-Set-Operationen in bestimmten Zielkonten ausführen können. Zu diesem Zweck erstellen Sie eine Vertrauensbeziehung zwischen jedem Zielkonto und einer bestimmten benutzerdefinierten Administratorrolle, anstatt die AWSCloudFormationStackSetAdministrationRoleServicerolle im Administratorkonto selbst zu erstellen. Dann erteilen Sie bestimmten Benutzern und Gruppen die Berechtigung, die benutzerdefinierte Administratorrolle beim Ausführen von Stack-Set-Vorgängen in einem bestimmten Zielkonto zu verwenden.
Sie können beispielsweise in Ihrem Administratorkonto die Rollen A und B erstellen. Rolle A erhält die Berechtigung zum Zugriff auf Zielkonto 1 über Konto 8. Rolle B erhält die Berechtigung zum Zugriff auf Zielkonto 9 über Konto 16.
Das Einrichten der erforderlichen Berechtigungen umfasst die Definition einer benutzerdefinierten Administratorrolle, die Erstellung einer Servicerolle für das Zielkonto und die Erteilung der Erlaubnis, den Benutzern die benutzerdefinierte Administratorrolle bei der Ausführung von Stackset-Vorgängen zu übergeben.
Im Allgemeinen funktioniert das wie folgt, sobald Sie über die erforderlichen Berechtigungen verfügen: Beim Erstellen eines Stack-Sets muss der Benutzer eine benutzerdefinierte Administratorrolle angeben. Der Benutzer muss über die Berechtigung verfügen, die Rolle an ihn weiterzugeben CloudFormation. Darüber hinaus muss die benutzerdefinierte Administratorrolle über eine Vertrauensbeziehung zu den für das Stack-Set angegebenen Zielkonten verfügen. CloudFormation erstellt das Stack-Set und ordnet ihm die benutzerdefinierte Administratorrolle zu. Beim Aktualisieren eines Stack-Sets muss der Benutzer explizit eine benutzerdefinierte Administratorrolle angeben, auch wenn es sich um dieselbe benutzerdefinierte Administratorrolle handelt, die zuvor für dieses Stack-Set verwendet wurde. CloudFormation verwendet diese Rolle, um den Stack zu aktualisieren, sofern die oben genannten Anforderungen erfüllt sind.
Steuern Sie die Ressourcen, die Benutzer in bestimmte Stack-Sets aufnehmen können
Verwenden Sie benutzerdefinierte Ausführungsrollen, um zu steuern, welche Stack-Ressourcen Benutzer und Gruppen in ihre Stack-Sets aufnehmen können. Sie können beispielsweise eine Gruppe einrichten, die nur Amazon S3-bezogene Ressourcen in die Stack-Sets aufnehmen können, die sie erstellen, während für ein anderes Team nur DynamoDB-Ressourcen erlaubt sind. Zu diesem Zweck erstellen Sie eine Vertrauensbeziehung zwischen der benutzerdefinierten Administratorrolle für jede Gruppe und einer benutzerdefinierten Ausführungsrolle für jeden Satz von Ressourcen. Die benutzerdefinierte Ausführungsrolle definiert, welche Stack-Ressourcen in Stack-Sets aufgenommen werden können. Die benutzerdefinierte Administratorrolle befindet sich im Administratorkonto, während sich die benutzerdefinierte Ausführungsrolle in jedem Zielkonto befindet, in dem Sie Stacksets mithilfe der definierten Ressourcen erstellen möchten. Dann erteilen Sie bestimmten Benutzern und Gruppen die Berechtigung, die benutzerdefinierte Administratorrolle beim Ausführen von Stack-Set-Vorgängen zu aktivieren.
Sie können beispielsweise benutzerdefinierte Administratorrollen A, B und C im Administratorkonto erstellen. Benutzer und Gruppen mit der Berechtigung zum Verwenden von Rolle A können Stack-Sets mit den Stack-Ressourcen erstellen, die speziell in der benutzerdefinierten Ausführungsrolle X, jedoch nicht in der Rolle Y oder Z oder einer Ressource aufgelistet sind, die nicht in einer Ausführungsrolle enthalten ist.
Bei der Aktualisierung eines Stack-Sets muss der Benutzer explizit eine benutzerdefinierte Administratorrolle angeben, auch wenn es sich um dieselbe benutzerdefinierte Administratorrolle handelt, die zuvor für dieses Stack-Set verwendet wurde. CloudFormation führt das Update mit der angegebenen benutzerdefinierten Administratorrolle durch, sofern der Benutzer berechtigt ist, Operationen an diesem Stack-Set durchzuführen.
Entsprechend kann der Benutzer auch eine benutzerdefinierte Ausführungsrolle angeben. Wenn sie eine benutzerdefinierte Ausführungsrolle angeben, CloudFormation verwendet diese Rolle, um den Stack zu aktualisieren, sofern die oben genannten Anforderungen erfüllt sind. Wenn der Benutzer keine benutzerdefinierte Ausführungsrolle angibt, CloudFormation führt er das Update unter Verwendung der benutzerdefinierten Ausführungsrolle durch, die zuvor dem Stack-Set zugeordnet war, sofern der Benutzer berechtigt ist, Operationen an diesem Stack-Set auszuführen.
Einrichten von Berechtigungen für bestimmte Stack-Set-Operationen
Darüber hinaus können Sie Berechtigungen für Benutzer und Gruppen einrichten, die bestimmte Stack-Set-Operationen durchführen können, wie z. B. das Erstellen, Aktualisieren und Löschen von Stack-Sets oder Stack-Instances. Weitere Informationen finden Sie CloudFormation im IAMBenutzerhandbuch unter Aktionen, Ressourcen und Bedingungsschlüssel für.
Richten Sie globale Schlüssel ein, um Confused-Deputy-Probleme zu mindern.
Das Problem des verwirrten Stellvertreters ist ein Sicherheitsproblem, bei dem eine Entität, die keine Berechtigung zur Durchführung einer Aktion hat, eine privilegiertere Entität zur Durchführung der Aktion zwingen kann. In AWS kann ein dienstübergreifendes Identitätswechsels zum Problem des verwirrten Stellvertreters führen. Ein serviceübergreifender Identitätswechsel kann auftreten, wenn ein Service (der Anruf-Service) einen anderen Service anruft (den aufgerufenen Service). Der Anruf-Service kann so manipuliert werden, dass er seine Berechtigungen verwendet, um auf die Ressourcen eines anderen Kunden zu reagieren, auf die er sonst nicht zugreifen dürfte. Um dies zu verhindern, AWS bietet Tools, mit denen Sie Ihre Daten für alle Dienste mit Dienstprinzipalen schützen können, denen Zugriff auf Ressourcen in Ihrem Konto gewährt wurde.
Wir empfehlen, die Kontextschlüssel aws:SourceArn
und die aws:SourceAccount
globalen Bedingungsschlüssel in Ressourcenrichtlinien zu verwenden, um die Berechtigungen einzuschränken, AWS CloudFormation StackSets die der Ressource einen anderen Dienst gewähren. Wenn Sie beide globalen Bedingungskontextschlüssel verwenden, müssen der aws:SourceAccount
-Wert und das Konto im aws:SourceArn
-Wert dieselbe Konto-ID verwenden, wenn sie in derselben Richtlinienanweisung verwendet werden.
Der effektivste Schutz vor dem Problem mit dem verwirrten Deputy ist die Verwendung des Kontextschlüssels für aws:SourceArn
globale Bedingungen mit ARN der gesamten Ressource. Wenn Sie die gesamte ARN Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den aws:SourceArn
globalen Kontextbedingungsschlüssel mit Platzhaltern (*
) für die unbekannten Teile von. ARN Beispiel, arn:aws:
. Verwenden Sie nach Möglichkeit cloudformation
::123456789012
:*aws:SourceArn
, da es spezifischer ist. Verwenden Sie diese aws:SourceAccount
Option nur, wenn Sie das richtige ARN ARN ODER-Muster nicht ermitteln können.
Wenn die Administratorrolle in Ihrem Administratorkonto StackSets annimmt, StackSets füllt Ihre Administratorkonto-ID und Ihren StackSets Amazon-Ressourcennamen (ARN) aus. Sie können daher Bedingungen für die globalen Schlüssel aws:SourceAccount
und aws:SourceArn
in den Vertrauensbeziehungen definieren, um Confused-Deputy-Probleme zu vermeiden. Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel aws:SourceArn
und die aws:SourceAccount
globale Bedingung verwenden können, StackSets um das Problem des verwirrten Stellvertreters zu vermeiden.