

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
<a name="stacksets-prereqs-self-managed"></a>

*Dieses Thema enthält Anweisungen zum Erstellen der IAM-Dienstrollen, die für die kontenübergreifende Bereitstellung und AWS-Regionen mit StackSets selbstverwalteten Berechtigungen erforderlich sind.* Diese Rollen sind erforderlich, um eine vertrauenswürdige Beziehung zwischen dem Konto, von dem StackSet aus Sie die Daten verwalten, und dem Konto, für das Sie Stack-Instances bereitstellen, herzustellen. Wenn Sie dieses Berechtigungsmodell verwenden, StackSets können Sie es für alle AWS-Konto bereitstellen, für die Sie die Berechtigung zum Erstellen einer IAM-Rolle haben. 

Um *dienstverwaltete* Berechtigungen zu verwenden, lesen Sie stattdessen [Aktivieren Sie den vertrauenswürdigen Zugriff](stacksets-orgs-activate-trusted-access.md) .

**Topics**
+ [Übersicht über selbstverwaltete Berechtigungen](#prereqs-self-managed-permissions)
+ [Geben Sie allen Benutzern des Administratorkontos die Berechtigung, Stapel in allen Zielkonten zu verwalten](#stacksets-prereqs-accountsetup)
+ [Richten Sie erweiterte Berechtigungsoptionen für StackSet Operationen ein](#stacksets-prereqs-advanced-perms)
+ [Richten Sie globale Schlüssel ein, um Confused-Deputy-Probleme zu mindern.](#confused-deputy-mitigation)

## Übersicht über selbstverwaltete Berechtigungen
<a name="prereqs-self-managed-permissions"></a>

Bevor Sie eine StackSet mit selbstverwalteten Berechtigungen erstellen, müssen Sie in jedem Konto IAM-Dienstrollen erstellt haben.

Die grundlegenden Schritte sind:

1. Ermitteln Sie, welches AWS-Konto das *Administratorkonto* ist.

   StackSets werden in diesem Administratorkonto erstellt. Ein *Zielkonto* ist das Konto, in dem Sie einzelne Stacks erstellen, die zu einem StackSet gehören.

1. Bestimmen Sie, wie Sie die Berechtigungen für die StackSet strukturieren möchten.

   Bei der einfachsten (und großzügigsten) Berechtigungskonfiguration geben Sie *allen* Benutzern und Gruppen im Administratorkonto die Möglichkeit, *alle* über dieses Konto StackSets verwalteten Berechtigungen zu erstellen und zu aktualisieren. Wenn Sie eine feinere Kontrolle benötigen, können Sie Berechtigungen einrichten, die Folgendes angeben:
   + Welche Benutzer und Gruppen können StackSet Operationen in welchen Zielkonten ausführen?
   + Welche Ressourcen Benutzer und Gruppen in ihre aufnehmen können StackSets.
   + Welche StackSet Operationen bestimmte Benutzer und Gruppen ausführen können.

1. Erstellen Sie die erforderlichen IAM-Servicerollen in Ihrem Administrator- und Ziel-Konto, um die gewünschten Berechtigungen zu definieren. 

   Konkret sind die beiden erforderlichen Rollen:
   + **AWSCloudFormationStackSetAdministrationRole**— Diese Rolle wird für das Administratorkonto bereitgestellt.
   + **AWSCloudFormationStackSetExecutionRole**— Diese Rolle wird für alle Konten bereitgestellt, in denen Sie Stack-Instances erstellen.

## Geben Sie allen Benutzern des Administratorkontos die Berechtigung, Stapel in allen Zielkonten zu verwalten
<a name="stacksets-prereqs-accountsetup"></a>

In diesem Abschnitt erfahren Sie, wie Sie Berechtigungen einrichten, damit alle Benutzer und Gruppen des Administratorkontos StackSet Operationen in allen Zielkonten ausführen können. Es führt Sie durch die Erstellung der erforderlichen IAM-Service-Rollen in Ihren Administrator- und Zielkonten. Jeder, der über das Administratorkonto verfügt, kann dann beliebige Stapel für alle Zielkonten erstellen, aktualisieren oder löschen. 

Durch diese Strukturierung von Berechtigungen übergeben Benutzer keine Administratorrolle, wenn sie eine erstellen oder aktualisieren StackSet.

![\[Jeder Benutzer im Administratorkonto kann dann nach dem Einrichten einer Vertrauensbeziehung ein beliebiges StackSet Zielkonto erstellen.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_master_target.png)


------
#### [ Administrator account ]

Erstellen Sie im Administratorkonto eine IAM-Rolle mit dem Namen **AWSCloudFormationStackSetAdministrationRole**. 

Sie können dies tun, indem Sie einen Stack aus der CloudFormation Vorlage erstellen, die unter [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetAdministrationRole.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetAdministrationRole.yml) verfügbar ist. 

**Example Beispiel für eine Berechtigungsrichtlinie**  
Die mit der vorangegangenen Vorlage erstellte Administrationsrolle enthält die folgende Berechtigungsrichtlinie.     
****  

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

**Example Beispiel Treuhandvertrag 1**  
Die vorangehende Vorlage enthält auch die folgende Vertrauensrichtlinie, die dem Dienst die Berechtigung zur Verwendung der Administrationsrolle und der mit der Rolle verbundenen Berechtigungen erteilt.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

**Example Beispiel Treuhandvertrag 2**  
Wenn Sie Stack-Instances in einem Zielkonto bereitstellen möchten, das sich in einer Region befindet, die standardmäßig deaktiviert ist, müssen Sie auch den regionalen Dienstprinzipal für diese Region angeben. Jede standardmäßig deaktivierte Region verfügt über einen eigenen regionalen Service-Prinzipal.  
Die folgende Beispiel-Vertrauensrichtlinie gewährt dem Dienst die Berechtigung zur Verwendung der Administrationsrolle in der Region Asien-Pazifik (Hongkong) (`ap-east-1`), einer Region, die standardmäßig deaktiviert ist.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "cloudformation.amazonaws.com",
            "cloudformation.ap-east-1.amazonaws.com"
         ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```
Weitere Informationen finden Sie unter [Bereiten Sie sich auf die Ausführung von StackSet Vorgängen vor AWS-Regionen , die standardmäßig deaktiviert sind](stacksets-opt-in-regions.md). Eine Liste der Regionalcodes finden Sie unter [Regionale Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) in der *Allgemeine AWS-Referenz Anleitung*.

------
#### [ Target accounts ]

Erstellen Sie in jedem Zielkonto eine Servicerolle mit dem Namen **AWSCloudFormationStackSetExecutionRole**, dass dem Administratorkonto vertraut. Die Rolle muss genau diesen Namen haben. Sie können dies tun, indem Sie einen Stack aus der CloudFormation Vorlage erstellen, die unter [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetExecutionRole.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetExecutionRole.yml) verfügbar ist. Wenn Sie diese Vorlage verwenden, werden Sie aufgefordert, die Konto-ID des Administratorkontos anzugeben, mit dem Ihr Zielkonto eine Vertrauensbeziehung haben muss.

**Wichtig**  
Beachten Sie, dass diese Vorlage Administratorzugriff gewährt. Nachdem Sie die Vorlage verwendet haben, um eine Ausführungsrolle für ein Zielkonto zu erstellen, müssen Sie die Berechtigungen in der Richtlinienanweisung auf die Ressourcentypen beschränken, die Sie verwenden. StackSets

Für die Servicerolle des Zielkontos sind Berechtigungen erforderlich, um alle in Ihrer CloudFormation Vorlage angegebenen Vorgänge ausführen zu können. Wenn Ihre Vorlage beispielsweise einen S3-Bucket erstellt, benötigen Sie Berechtigungen zum Erstellen neuer Objekte für S3. Ihr Zielkonto benötigt immer vollständige CloudFormation -Berechtigungen, darunter die Berechtigungen zum Erstellen, Aktualisieren, Löschen und Beschreiben von Stacks. 

**Example Beispiel Berechtigungsrichtlinie 1**  
Die mit dieser Vorlage erstellte Rolle aktiviert die folgende Richtlinie in einem Zielkonto.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    }
  ]
}
```

**Example Beispiel Berechtigungsrichtlinie 2**  
Das folgende Beispiel zeigt eine Richtlinienerklärung mit den *Mindestberechtigungen* StackSets , um zu funktionieren. Um Stapel in Zielkonten zu erstellen, die Ressourcen von anderen Diensten als verwenden CloudFormation, müssen Sie diese Dienstaktionen und Ressourcen zur **AWSCloudFormationStackSetExecutionRole**Richtlinienerklärung für jedes Zielkonto hinzufügen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "cloudformation:*"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example Beispiel für eine Treuhand-Police**  
Die folgende Vertrauensbeziehung wird durch die Vorlage erstellt. Die ID des Administratorkontos wird als *admin\$1account\$1id* angezeigt.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```
Sie können die Vertrauensbeziehung einer vorhandenen Ausführungsrolle für ein Zielkonto so konfigurieren, dass sie einer bestimmten Rolle im Administratorkonto vertraut. Wenn Sie die Rolle im Administratorkonto löschen und eine neue erstellen, um sie zu ersetzen, müssen Sie die Vertrauensstellung Ihres Zielkontos mit der neuen Administratorkontorolle konfigurieren, wie *admin\$1account\$1id* im vorherigen Beispiel dargestellt.

------

## Richten Sie erweiterte Berechtigungsoptionen für StackSet Operationen ein
<a name="stacksets-prereqs-advanced-perms"></a>

Wenn Sie eine genauere Kontrolle darüber benötigen StackSets , was Benutzer und Gruppen über ein einziges Administratorkonto erstellen, können Sie mithilfe von IAM-Rollen Folgendes angeben:
+ Welche Benutzer und Gruppen StackSet Operationen in welchen Zielkonten ausführen können.
+ Welche Ressourcen Benutzer und Gruppen in ihre aufnehmen können StackSets.
+ Welche StackSet Operationen bestimmte Benutzer und Gruppen ausführen können.

### Steuern Sie, welche Benutzer StackSet Operationen in bestimmten Zielkonten ausführen können
<a name="stacksets-prereqs-multiadmin"></a>

Verwenden Sie benutzerdefinierte Administratorrollen, um zu steuern, welche Benutzer und Gruppen StackSet Operationen in welchen Zielkonten ausführen können. Möglicherweise möchten Sie steuern, welche Benutzer des Administratorkontos StackSet Operationen in welchen Zielkonten ausführen können. Zu diesem Zweck erstellen Sie eine Vertrauensbeziehung zwischen jedem Zielkonto und einer bestimmten benutzerdefinierten Administratorrolle, anstatt die **AWSCloudFormationStackSetAdministrationRole**Servicerolle im Administratorkonto selbst zu erstellen. Anschließend aktivieren Sie bestimmte Benutzer und Gruppen, um die benutzerdefinierte Administratorrolle bei der Ausführung von StackSet 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.

![\[Eine Vertrauensbeziehung zwischen einer benutzerdefinierten Administratorrolle und Zielkonten, die es Benutzern ermöglicht, eine zu erstellen StackSet.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_admin_target.png)


Das Einrichten der erforderlichen Berechtigungen umfasst das Definieren einer benutzerdefinierten Administratorrolle, das Erstellen einer Servicerolle für das Zielkonto und das Erteilen der Berechtigungen für Benutzer, 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 einer StackSet muss der Benutzer eine benutzerdefinierte Administratorrolle angeben. Der Benutzer benötigt die Berechtigung zum Übergeben der Rolle an CloudFormation. Darüber hinaus muss die benutzerdefinierte Administratorrolle über eine Vertrauensbeziehung zu den Zielkonten verfügen, die für die angegeben sind StackSet. CloudFormation erstellt die benutzerdefinierte Verwaltungsrolle StackSet und ordnet ihr die benutzerdefinierte Administratorrolle zu. Beim Aktualisieren einer StackSet muss der Benutzer explizit eine benutzerdefinierte Administratorrolle angeben, auch wenn es sich um dieselbe benutzerdefinierte Administratorrolle handelt, die StackSet zuvor für diese Rolle verwendet wurde. CloudFormationverwendet diese Rolle, um den Stack zu aktualisieren, sofern die oben genannten Anforderungen erfüllt sind.

------
#### [ Administrator account ]

**Example Beispiel für eine Berechtigungsrichtlinie**  
Erstellen Sie für jede StackSet Rolle eine benutzerdefinierte Administratorrolle mit der Berechtigung, die Ausführungsrolle des Zielkontos zu übernehmen.   
Der Name der Ausführungsrolle des Zielkontos muss in jedem Zielkonto derselbe sein. Wenn der Rollenname lautet **AWSCloudFormationStackSetExecutionRole**, wird er automatisch beim Erstellen einer StackSets verwendet StackSet. Wenn Sie einen benutzerdefinierten Rollennamen angeben, müssen Benutzer den Namen der Ausführungsrolle beim Erstellen einer angeben StackSet.  
Erstellen Sie eine [IAM-Dienstrolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) mit einem benutzerdefinierten Namen und der folgenden Berechtigungsrichtlinie. In den folgenden Beispielen *custom\$1execution\$1role* bezieht sich dies auf die Ausführungsrolle in den Zielkonten.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/custom_execution_role"
            ],
            "Effect": "Allow"
        }
    ]
}
```
Wenn Sie mehrere Konten in einer einzigen Anweisung angeben möchten, trennen Sie diese durch Kommas.  

```
"Resource": [
  "arn:aws:iam::target_account_id_1:role/custom_execution_role", 
  "arn:aws:iam::target_account_id_2:role/custom_execution_role"
]
```
Sie können alle Zielkonten angeben, indem Sie einen Platzhalter (\$1) anstelle einer Konto-ID verwenden.  

```
"Resource": [
  "arn:aws:iam::*:role/custom_execution_role"
]
```

**Example Beispiel Treuhandvertrag 1**  
Sie müssen eine Vertrauensrichtlinie für die Dienstrolle erstellen, um festzulegen, welche IAM-Principals die Rolle übernehmen können.    
****  

```
{ 
  "Version":"2012-10-17",		 	 	  
  "Statement": [ 
    { 
      "Effect": "Allow", 
      "Principal": { 
        "Service": "cloudformation.amazonaws.com" 
      }, 
      "Action": "sts:AssumeRole" 
    } 
  ] 
}
```

**Example Beispiel Treuhandvertrag 2**  
Wenn Sie Stack-Instances in einem Zielkonto bereitstellen möchten, das sich in einer Region befindet, die standardmäßig deaktiviert ist, müssen Sie auch den regionalen Dienstprinzipal für diese Region angeben. Jede standardmäßig deaktivierte Region verfügt über einen eigenen regionalen Service-Prinzipal.  
Die folgende Beispiel-Vertrauensrichtlinie gewährt dem Dienst die Berechtigung zur Verwendung der Administrationsrolle in der Region Asien-Pazifik (Hongkong) (`ap-east-1`), einer Region, die standardmäßig deaktiviert ist.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "cloudformation.amazonaws.com",
            "cloudformation.ap-east-1.amazonaws.com"
         ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```
Weitere Informationen finden Sie unter [Bereiten Sie sich auf die Ausführung von StackSet Vorgängen vor AWS-Regionen , die standardmäßig deaktiviert sind](stacksets-opt-in-regions.md). Eine Liste der Regionalcodes finden Sie unter [Regionale Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) im *AWS Allgemeinen Referenzhandbuch*.

**Example Beispiel einer Pass-Rollen-Richtlinie**  
Sie benötigen außerdem eine IAM-Berechtigungsrichtlinie für Ihre IAM-Benutzer, die es dem Benutzer ermöglicht, bei der Ausführung StackSet von Vorgängen die benutzerdefinierte Administratorrolle zu übergeben. Weitere Informationen finden Sie unter [Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle an einen AWS -Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).  
Im folgenden Beispiel *customized\$1admin\$1role* bezieht sich dies auf die Administratorrolle, die der Benutzer bestehen muss.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/customized_admin_role"
    }
  ]
}
```

------
#### [ Target accounts ]

Erstellen Sie in jedem Zielkonto eine Service-Rolle, die der benutzerdefinierten Administrationsrolle vertraut, die Sie mit diesem Konto verwenden möchten. 

Für die Rolle des Zielkontos sind Berechtigungen erforderlich, um alle in Ihrer CloudFormation Vorlage angegebenen Vorgänge ausführen zu können. Wenn Ihre Vorlage beispielsweise einen S3-Bucket erstellt, benötigen Sie Berechtigungen zum Erstellen neuer Objekte in S3. Ihr Zielkonto benötigt immer volle CloudFormation Berechtigungen, zu denen auch Berechtigungen zum Erstellen, Aktualisieren, Löschen und Beschreiben von Stacks gehören.

Der Rollenname des Zielkontos muss in jedem Zielkonto derselbe sein. Wenn der Rollenname lautet **AWSCloudFormationStackSetExecutionRole**, wird er automatisch beim Erstellen eines StackSets StackSet verwendet. Wenn Sie einen benutzerdefinierten Rollennamen angeben, müssen Benutzer den Namen der Ausführungsrolle beim Erstellen einer angeben StackSet.

**Example Beispiel für eine Berechtigungsrichtlinie**  
Das folgende Beispiel zeigt eine Richtlinienanweisung mit den *Mindestberechtigungen* StackSets , um zu funktionieren. Um Stacks in Zielkonten zu erstellen, die Ressourcen von anderen Diensten als verwenden CloudFormation, müssen Sie diese Dienstaktionen und Ressourcen zur Berechtigungsrichtlinie hinzufügen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example Beispiel für eine Treuhand-Police**  
Sie müssen die folgende Vertrauensrichtlinie angeben, wenn Sie die Rolle erstellen, um die Vertrauensbeziehung zu definieren.    
****  

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

------

### Steuern Sie die Ressourcen, die Benutzer in bestimmten Fällen einbeziehen können StackSets
<a name="stacksets-prereqs-executionrole"></a>

Verwenden Sie benutzerdefinierte Ausführungsrollen, um zu steuern, welche Stack-Ressourcen Benutzer und Gruppen in ihre Rollen aufnehmen können StackSets. Beispielsweise möchten Sie möglicherweise eine Gruppe einrichten, die nur Amazon S3-bezogene Ressourcen in die von StackSets ihnen erstellten Dateien einbeziehen kann, während ein anderes Team nur DynamoDB-Ressourcen einbeziehen kann. Dazu erstellen Sie eine Vertrauensbeziehung zwischen der angepassten Administrationsrolle für jede Gruppe und einer angepassten Ausführungsrolle für jede Gruppe von Ressourcen. Die benutzerdefinierte Ausführungsrolle definiert, in welche Stack-Ressourcen aufgenommen werden können. StackSets 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 etwas erstellen möchten. Anschließend aktivieren Sie bestimmte Benutzer und Gruppen, um die benutzerdefinierte Administratorrolle bei der Ausführung StackSets von Vorgängen zu verwenden.

Sie können zum Beispiel benutzerdefinierte Administrationsrollen A, B und C im Administratorkonto erstellen. Benutzer und Gruppen mit der Berechtigung zur Verwendung von Rolle A können Ressourcen erstellen, die die Stack-Ressourcen StackSets enthalten, die speziell in der benutzerdefinierten Ausführungsrolle X aufgeführt sind, aber nicht die Ressourcen in den Rollen Y oder Z oder Ressourcen, die in keiner Ausführungsrolle enthalten sind.

![\[Eine Vertrauensbeziehung zwischen einer benutzerdefinierten Administratorrolle und einer benutzerdefinierten Ausführungsrolle in Zielkonten, sodass Benutzer eine erstellen können StackSet.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_admin_execution.png)


Beim Aktualisieren einer StackSet muss der Benutzer explizit eine benutzerdefinierte Administratorrolle angeben, auch wenn es sich um dieselbe benutzerdefinierte Administratorrolle handelt, die StackSet zuvor für diese Rolle verwendet wurde. CloudFormation führt das Update mit der angegebenen benutzerdefinierten Administratorrolle durch, sofern der Benutzer über die entsprechenden Berechtigungen verfügt StackSet.

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 mithilfe der benutzerdefinierten Ausführungsrolle durch, die zuvor mit der verknüpft war StackSet, sofern der Benutzer berechtigt ist, Operationen an dieser Rolle auszuführen StackSet.

------
#### [ Administrator account ]

Erstellen Sie eine angepasste Administrationsrolle in Ihrem Administratorkonto, wie in [Steuern Sie, welche Benutzer StackSet Operationen in bestimmten Zielkonten ausführen können](#stacksets-prereqs-multiadmin)beschrieben. Fügen Sie eine Vertrauensbeziehung zwischen der benutzerdefinierten Administrationsrolle und den benutzerdefinierten Ausführungsrollen ein, die sie verwenden soll.

**Example Beispiel für eine Berechtigungsrichtlinie**  
Das folgende Beispiel ist eine Berechtigungsrichtlinie sowohl für die für das Zielkonto **AWSCloudFormationStackSetExecutionRole**definierten als auch für eine benutzerdefinierte Ausführungsrolle.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Sid": "Stmt1487980684000",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole" 
      ],
      "Resource": [ 
        "arn:aws:iam::*:role/AWSCloudFormationStackSetExecutionRole",
        "arn:aws:iam::*:role/custom_execution_role" 
      ]
    } 
  ]
}
```

------
#### [ Target accounts ]

Erstellen Sie in den Zielkonten, in denen Sie Ihre erstellen möchten StackSets, eine benutzerdefinierte Ausführungsrolle, die Berechtigungen für die Dienste und Ressourcen gewährt, zu denen Benutzer und Gruppen berechtigt sein sollen StackSets.

**Example Beispiel für eine Berechtigungsrichtlinie**  
Das folgende Beispiel bietet die Mindestberechtigungen für StackSets sowie die Berechtigung zum Erstellen von Amazon DynamoDB-Tabellen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "dynamoDb:createTable"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example Beispiel für eine Treuhand-Police**  
Sie müssen die folgende Vertrauensrichtlinie angeben, wenn Sie die Rolle erstellen, um die Vertrauensbeziehung zu definieren.    
****  

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

------

### Richten Sie Berechtigungen für bestimmte Operationen ein StackSet
<a name="stacksets-prereqs-iam-actions"></a>

Darüber hinaus können Sie Berechtigungen einrichten, mit denen Benutzer und Gruppen bestimmte StackSet Operationen ausführen können, z. B. Instanzen erstellen, aktualisieren, löschen StackSets oder stapeln können. Weitere Informationen finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html) in der *Service-Autorisierungs-Referenz*.

## Richten Sie globale Schlüssel ein, um Confused-Deputy-Probleme zu mindern.
<a name="confused-deputy-mitigation"></a>

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. Bei einem AWS dienstübergreifenden Identitätswechsel kann es zu einem Problem mit dem verwirrten Stellvertreter kommen. 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 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)und die [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globalen Bedingungsschlüssel in Ressourcenrichtlinien zu verwenden, um die Berechtigungen einzuschränken, 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 Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels `aws:SourceArn` mit dem vollständigen ARN der Ressource. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Bedingungskontext-Schlüssel `aws:SourceArn` mit Platzhaltern (`*`) für die unbekannten Teile des ARN. Beispiel, `arn:aws:cloudformation::123456789012:*`. Verwenden Sie nach Möglichkeit `aws:SourceArn`, da es spezifischer ist. Verwenden Sie `aws:SourceAccount` nur wenn Sie den richtigen ARN oder das ARN-Muster nicht ermitteln können.

When StackSets übernimmt die **Administratorrolle** in Ihrem **Administratorkonto** und StackSets füllt Ihre **Administratorkonto-ID** und Ihren StackSets Amazon-Ressourcennamen (ARN) aus. Sie können daher Bedingungen für die [globalen Schlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) `aws:SourceAccount` und `aws:SourceArn` in den Vertrauensbeziehungen definieren, um [Confused-Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)-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.

------
#### [ Administrator account ]

**Example Globale Schlüssel für `aws:SourceAccount` und `aws:SourceArn`**  
Definieren Sie bei der Verwendung StackSets die globalen Schlüssel `aws:SourceAccount` und `aws:SourceArn` in Ihrer **AWSCloudFormationStackSetAdministrationRole**Vertrauensrichtlinie, um Probleme mit verwirrenden Stellvertretern zu vermeiden.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "111122223333"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:cloudformation:*:111122223333:stackset/*"
        }
      }
    }
  ]
}
```

**Example StackSets ARNs**  
Geben Sie StackSets ARNs für eine genauere Kontrolle Ihren zugehörigen Namen an.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudformation.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": [
                        "arn:aws:cloudformation:STACKSETS-REGION:111122223333:stackset/STACK-SET-ID-1",
                        "arn:aws:cloudformation:STACKSETS-REGION:111122223333:stackset/STACK-SET-ID-2"
                    ]
                }
            }
        }
    ]
}
```

------