

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.

# Sicherheit in CloudFormation
<a name="security"></a>

Cloud-Sicherheit AWS hat höchste Priorität. Als AWS Kunde profitieren Sie von Rechenzentren und Netzwerkarchitekturen, die darauf ausgelegt sind, die Anforderungen der sicherheitssensibelsten Unternehmen zu erfüllen.

Sicherheit ist eine gemeinsame AWS Verantwortung von Ihnen und Ihnen. Das [Modell der geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) beschreibt dies als Sicherheit *der* Cloud und Sicherheit *in* der Cloud:
+ **Sicherheit der Cloud** — AWS ist verantwortlich für den Schutz der Infrastruktur, die AWS Dienste in der AWS Cloud ausführt. AWS bietet Ihnen auch Dienste, die Sie sicher nutzen können. Externe Prüfer testen und verifizieren regelmäßig die Wirksamkeit unserer Sicherheitsmaßnahmen im Rahmen der [AWS](https://aws.amazon.com/compliance/programs/) . Weitere Informationen zu den Compliance-Programmen, die für gelten CloudFormation, finden Sie unter [AWS Services im Umfang nach Compliance-Programmen AWS](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sicherheit in der Cloud** — Ihre Verantwortung richtet sich nach dem AWS Dienst, den Sie nutzen. Sie sind auch für andere Faktoren verantwortlich, etwa für die Vertraulichkeit Ihrer Daten, für die Anforderungen Ihres Unternehmens und für die geltenden Gesetze und Vorschriften.

Diese Dokumentation hilft Ihnen zu verstehen, wie Sie das Modell der gemeinsamen Verantwortung bei der Nutzung anwenden können CloudFormation. In den folgenden Themen erfahren Sie, wie Sie die Konfiguration vornehmen CloudFormation , um Ihre Sicherheits- und Compliance-Ziele zu erreichen. Sie erfahren auch, wie Sie andere AWS Dienste nutzen können, die Sie bei der Überwachung und Sicherung Ihrer CloudFormation Ressourcen unterstützen.

**Topics**
+ [CloudFormation Stapel vor dem Löschen schützen](using-cfn-protect-stacks.md)
+ [Verhindern von Aktualisierungen der Stack-Ressourcen](protect-stack-resources.md)
+ [Datenschutz in CloudFormation](security-data-protection.md)
+ [Steuern CloudFormation Sie den Zugriff mit AWS Identity and Access Management](control-access-with-iam.md)
+ [CloudFormation API-Aufrufe protokollieren mit AWS CloudTrail](cfn-api-logging-cloudtrail.md)
+ [Infrastruktursicherheit in CloudFormation](infrastructure-security.md)
+ [Resilienz in CloudFormation](disaster-recovery-resiliency.md)
+ [Konformitätsvalidierung für CloudFormation](cloudformation-compliance.md)
+ [Konfiguration und Schwachstellenanalyse in CloudFormation](vulnerability-analysis-and-management.md)
+ [Bewährte Sicherheitsmethoden für CloudFormation](security-best-practices.md)
+ [Zugriff CloudFormation über einen Schnittstellenendpunkt (AWS PrivateLink)](vpc-interface-endpoints.md)

# CloudFormation Stapel vor dem Löschen schützen
<a name="using-cfn-protect-stacks"></a>

Sie können das versehentliche Löschen eines Stacks verhindern, indem Sie den Beendigungsschutz des Stacks aktivieren. Wenn ein Benutzer versucht, einen Stack mit aktiviertem Beendigungsschutz zu löschen, schlägt das Löschen fehl und der Stack – einschließlich seines Status – bleibt unverändert. Sie können den Beendigungsschutz aktivieren, wenn Sie den Stack erstellen. Der Beendigungsschutz von Stacks ist standardmäßig deaktiviert. Sie können den Beendigungsschutz für einen Stapel mit einem beliebigen Status außer `DELETE_IN_PROGRESS` oder `DELETE_COMPLETE`einstellen.

Wenn Sie den Beendigungsschutz für einen Stack aktivieren oder deaktivieren, wird diese Entscheidung auch an alle verschachtelten Stacks weitergegeben, die zu diesem Stack gehören. Sie können den Beendigungsschutz nicht direkt für einen verschachtelten Stack aktivieren oder deaktivieren. Wenn ein Benutzer versucht, einen verschachtelten Stack zu löschen, der zu einem Stack mit aktiviertem Beendigungsschutz gehört, schlägt die Operation fehl und der verschachtelte Stack bleibt unverändert.

Wenn ein Benutzer jedoch eine Stack-Aktualisierung vornimmt, die zum Löschen eines verschachtelten Stacks führt, löscht CloudFormation den betreffenden verschachtelten Stack.

Der Beendigungsschutz ist nicht mit dem Deaktivieren von Rollbacks identisch. Der Beendigungsschutz bezieht sich nur auf Versuche, den Stack zu löschen, während das Deaktivieren von Rollbacks für das automatische Rollback gilt, das beim Fehlschlagen der Stack-Erstellung erfolgt.

**So aktivieren Sie den Beendigungsschutz beim Erstellen eines Stacks**  
Erweitern Sie auf der Seite **Specify stack options (Stack-Optionen angeben)** des Assistenten **Create stack (Stack erstellen)** unter **Advanced options (Erweiterte Optionen)** den Abschnitt **Termination Protection (Beendigungsschutz)** und wählen Sie **Enable (Aktivieren)** aus. Weitere Informationen finden Sie unter [Stapeloptionen konfigurieren](cfn-console-create-stack.md#configure-stack-options).

**So aktivieren oder deaktivieren Sie den Beendigungsschutz eines vorhandenen Stacks**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie in der Navigationsleiste am oberen Rand des Bildschirms Ihren AWS-Region.

1. Wählen Sie den gewünschten Stack.
**Anmerkung**  
Wenn neben dem Stack-Namen **NESTED** angezeigt wird, handelt es sich um einen verschachtelten Stack. Sie können nur den Beendigungsschutz des Root-Stacks ändern, zu dem der verschachtelte Stack gehört.

1. Wählen Sie im Stack-Detailbereich die Option **Stack actions (Stack-Aktionen)** und dann **Edit termination protection (Beendigungsschutz bearbeiten)** aus.

   CloudFormation zeigt das Dialogfeld **Kündigungsschutz bearbeiten** an.

1. Wählen Sie **Enable (Aktivieren)** oder **Disable (Deaktivieren)** und anschließend **Save (Speichern)** aus.

**So aktivieren oder deaktivieren Sie den Beendigungsschutz eines verschachtelten Stacks**

Wenn neben dem Stack-Namen **NESTED** angezeigt wird, handelt es sich um einen verschachtelten Stack. Sie können nur den Beendigungsschutz des Root-Stacks ändern, zu dem der verschachtelte Stack gehört. So ändern Sie den Beendigungsschutz des Root-Stacks:

1. Melden Sie sich bei [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole.

1. Wählen Sie in der Navigationsleiste am oberen Rand des Bildschirms Ihren AWS-Region.

1. Wählen Sie den gewünschten verschachtelten Stack.

1. Wählen Sie im Abschnitt **Stack info (Stack-Informationen)** unter **Overview (Übersicht)** den als **Root stack (Root-Stack)** aufgeführten Stack-Namen aus.

   CloudFormation zeigt die Stack-Details für den Root-Stack an.

1. Wählen Sie **Stack actions (Stack-Aktionen)** und dann **Edit termination protection (Beendigungsschutz bearbeiten)** aus.

   CloudFormation zeigt das Dialogfeld **Kündigungsschutz bearbeiten** an.

1. Wählen Sie **Enable (Aktivieren)** oder **Disable (Deaktivieren)** und anschließend **Save (Speichern)** aus.

**Aktivieren oder Deaktivieren des Beendigungsschutzes mithilfe der Befehlszeile**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-termination-protection.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-termination-protection.html).

## Benutzer festlegen, die den Beendigungsschutz von Stacks ändern dürfen
<a name="protect-stacks-perms"></a>

Zum Aktivieren oder Deaktivieren des Beendigungsschutzes von Stacks benötigt der Benutzer die Berechtigung für die Aktion `cloudformation:UpdateTerminationProtection`. Die Richtlinie unten erlaubt Benutzern beispielsweise das Aktivieren und Deaktivieren des Beendigungsschutzes von Stacks.

Weitere Informationen zum Angeben von Berechtigungen in CloudFormation finden Sie unter[Steuern CloudFormation Sie den Zugriff mit AWS Identity and Access Management](control-access-with-iam.md).

**Example Beispielrichtlinie, die Berechtigungen zum Ändern des Beendigungsschutzes von Stacks gewährt**    
****  

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

# Verhindern von Aktualisierungen der Stack-Ressourcen
<a name="protect-stack-resources"></a>

Wenn Sie ein Stack erstellen, sind alle Aktualisierungsaktionen für alle Ressourcen zulässig. Standardmäßig können alle Personen, die berechtigt sind, Stack-Aktualisierungen vorzunehmen, alle Ressourcen im Stack aktualisieren. Während eines Updates müssen einige Ressourcen möglicherweise unterbrochen oder vollständig ersetzt werden, was zu neuem physischem IDs oder völlig neuem Speicher führt. Sie können mithilfe einer Stack-Richtlinie verhindern, dass Stack-Ressourcen während einer Stack-Aktualisierung unabsichtlich aktualisiert oder gelöscht werden. Eine Stack-Richtlinie ist ein JSON-Dokument, in dem die Aktualisierungsaktionen definiert werden, die für designierte Ressourcen ausgeführt werden können.

Nachdem Sie eine Stack-Richtlinie festgelegt haben, sind alle Ressourcen im Stack standardmäßig geschützt. Um Aktualisierungen für bestimmte Ressourcen zuzulassen, geben Sie in der Stack-Richtlinie eine explizite `Allow`-Anweisung für diese Ressourcen an. Sie können nur eine Stack-Richtlinie pro Stack definieren, aber mehrere Ressourcen in einer einzelnen Richtlinie schützen. Eine Stack-Richtlinie gilt für alle CloudFormation-Benutzer, die versuchen, den Stack zu aktualisieren. Sie können unterschiedlichen Benutzern keinen verschiedenen Stack-Richtlinien zuordnen.

Eine Stack-Richtlinie gilt nur während Stack-Aktualisierungen. Sie bietet keine Zugriffskontrollen wie eine AWS Identity and Access Management (IAM)-Richtlinie. Verwenden Sie eine Stack-Richtlinie nur als ausfallsicheren Mechanismus, um versehentliche Aktualisierungen bestimmter Stack-Ressourcen zu verhindern. Verwenden Sie IAM, um den Zugriff auf AWS Ressourcen oder Aktionen zu steuern.

**Topics**
+ [Beispiel-Stack-Richtlinie](#stack-policy-intro-example)
+ [Definieren einer Stack-Richtlinie](#stack-policy-reference)
+ [Festlegen einer Stack-Richtlinie](#protect-stack-resources-protecting)
+ [Aktualisieren geschützter Ressourcen](#protect-stack-resources-updating)
+ [Ändern einer Stack-Richtlinie](#protect-stack-resources-modifying)
+ [Weitere Beispiel-Stack-Richtlinien](#stack-policy-samples)

## Beispiel-Stack-Richtlinie
<a name="stack-policy-intro-example"></a>

Die folgende Beispiel-Stack-Richtlinie verhindert Aktualisierungen an der `ProductionDatabase`-Ressource:

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    },
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "LogicalResourceId/ProductionDatabase"
    }
  ]
}
```

Wenn Sie eine Stack-Richtlinie festlegen, sind alle Ressourcen standardmäßig geschützt. Um Aktualisierungen für alle Ressourcen zuzulassen, fügen wir eine `Allow`-Anweisung hinzu, die alle Aktionen für alle Ressourcen zulässt. Zwar gibt die `Allow`-Anweisung alle Ressourcen an, jedoch überschreibt die explizite `Deny`-Anweisung diese Anweisung für die Ressource mit der logischen ID `ProductionDatabase`. Diese `Deny`-Anweisung verhindert sämtliche Aktualisierungsaktionen, wie z. B. Ersetzung oder Löschung, für die `ProductionDatabase`-Ressource.

Das `Principal`-Element ist erforderlich, unterstützt aber nur den Platzhalter (`*`), was bedeutet, dass die Anweisung für alle [Prinzipale](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#principal) gilt.

**Anmerkung**  
Aktualisiert während eines Stack-Updates CloudFormation automatisch Ressourcen, die von anderen aktualisierten Ressourcen abhängig sind. CloudFormation Aktualisiert beispielsweise eine Ressource, die auf eine aktualisierte Ressource verweist. CloudFormation nimmt keine physischen Änderungen, wie z. B. die ID der Ressource, an automatisch aktualisierten Ressourcen vor. Wenn diesen Ressourcen jedoch eine Stack-Richtlinie zugeordnet ist, benötigen Sie die Berechtigung, sie zu aktualisieren.

## Definieren einer Stack-Richtlinie
<a name="stack-policy-reference"></a>

Wenn Sie ein Stack erstellen, ist keine Stack-Richtlinie festgelegt, sodass alle Aktualisierungsaktionen für alle Ressourcen zulässig sind. Um Stack-Ressourcen vor Aktualisierungsaktionen zu schützen, definieren Sie eine Stack-Richtlinie und legen Sie diese dann für den Stack fest. Eine Stack-Richtlinie ist ein JSON-Dokument, das die CloudFormation Stack-Aktualisierungsaktionen definiert, die CloudFormation Benutzer ausführen können, und die Ressourcen, für die die Aktionen gelten. Sie legen die Stack-Richtlinie bei der Erstellung eines Stacks fest, indem Sie eine Textdatei mit der Stack-Richtlinie angeben oder diese eingeben. Wenn Sie eine Stack-Richtlinie für den Stack festlegen, werden Aktualisierungen, die nicht ausdrücklich zugelassen sind, standardmäßig verweigert.

Sie definieren eine Stack-Richtlinie mit fünf Elemente: `Effect`, `Action`, `Principal`, `Resource` und `Condition`. Der folgende Pseudocode veranschaulicht die Stack-Richtlinien-Syntax.

```
{
  "Statement" : [
    {
      "Effect" : "Deny_or_Allow",
      "Action" : "update_actions",
      "Principal" : "*",
      "Resource" : "LogicalResourceId/resource_logical_ID",
      "Condition" : {
        "StringEquals_or_StringLike" : {
          "ResourceType" : [resource_type, ...]
        }
      }
    }
  ]
}
```

`Effect`  
Bestimmt, ob die Aktionen, die Sie angeben, für die angegebene(n) Ressource(n) verweigert oder zugelassen werden. Sie können nur `Deny` oder `Allow` festlegen, wie z. B.:  

```
"Effect" : "Deny"
```
Wenn eine Stack-Richtlinie überlappende Anweisungen enthält (Zulassen und Verweigern von Aktualisierungen für eine Ressource), wird eine `Deny`-Anweisung immer durch eine `Allow`-Anweisung überschrieben. Um sicherzustellen, dass eine Ressource geschützt ist, verwenden Sie eine `Deny`-Anweisung für die betreffende Ressource.

Action  
Gibt die Aktualisierungsaktionen an, die verweigert oder zugelassen werden:    
Update:Modify  
Gibt Aktualisierungsaktionen an, während denen Ressourcen möglicherweise nicht unterbrochen oder unterbrochen werden, während Änderungen angewendet werden. Alle Ressourcen behalten ihre physischen Werte bei IDs.  
Update:Replace  
Gibt Aktualisierungsaktionen an, bei denen Ressourcen neu erstellt werden. CloudFormation erstellt eine neue Ressource mit den angegebenen Updates und löscht dann die alte Ressource. Da die Ressource neu erstellt wird, hat die neue Ressourcen möglicherweise eine andere physische ID.  
Update:Delete  
Gibt Aktualisierungsaktionen an, während denen Ressourcen entfernt werden. Aktualisierungen, durch die Ressourcen vollständig aus einer Stack-Vorlage entfernt werden, erfordern diese Aktion.  
Update:\$1  
Gibt alle Aktualisierungsaktionen an. Das Sternchen ist ein Platzhalter, der für alle Aktualisierungsaktionen steht.
Im folgenden Beispiel wird gezeigt, wie Sie nur die Ersetzungs- und Löschungsaktionen angeben:  

```
"Action" : ["Update:Replace", "Update:Delete"]
```
Um alle Aktualisierungsaktionen außer einer zuzulassen, verwenden Sie `NotAction`. Um beispielsweise alle Aktualisierungsaktionen außer `Update:Delete` zuzulassen, verwenden Sie `NotAction`, wie im folgenden Beispiel veranschaulicht:  

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "NotAction" : "Update:Delete",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

Auftraggeber  
Das `Principal`-Element gibt die Entität an, für die die Richtlinie gilt. Dieses Element ist erforderlich, unterstützt aber nur den Platzhalter (`*`), was bedeutet, dass die Richtlinie für alle [Prinzipale](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#principal) gilt.

Ressource  
Gibt die logische Struktur IDs der Ressourcen an, für die die Richtlinie gilt. Verwenden Sie das `Condition` Element, um Ressourcentypen anzugeben.  
Um eine einzelne Ressource anzugeben, verwenden Sie deren logische ID. Beispiel:  

```
"Resource" : ["LogicalResourceId/myEC2instance"]
```
Sie können einen Platzhalter mit logischem Wert verwenden IDs. Wenn Sie beispielsweise ein gängiges logisches ID-Präfix für alle verwandten Ressourcen verwenden, können Sie alle mit einem Platzhalter angeben:  

```
"Resource" : ["LogicalResourceId/CriticalResource*"]
```
Sie können auch ein `Not`-Element mit Ressourcen verwenden. Um beispielsweise Aktualisierungen für alle Ressourcen außer einer zuzulassen, verwenden Sie ein `NotResource`-Element, um diese Ressource zu schützen:  

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "NotResource" : "LogicalResourceId/ProductionDatabase"
    }
  ]
}
```
Wenn Sie eine Stack-Richtlinie festlegen, werden Aktualisierungen, die nicht ausdrücklich zugelassen sind, verweigert. Wenn Sie Aktualisierungen für alle Ressourcen außer der `ProductionDatabase`-Ressource zulassen, verweigern Sie Aktualisierungen der `ProductionDatabase`-Ressource.

Bedingungen  
Gibt den Ressourcentyp an, für den die Richtlinie gilt. Verwenden Sie das `Resource` Element, um die Logik IDs bestimmter Ressourcen anzugeben.  
Sie können einen Ressourcentyp festlegen, z. B. alle EC2 Instances und RDS-DB-Instances, wie im folgenden Beispiel veranschaulicht:  

```
{
  "Statement" : [
  {
    "Effect" : "Deny",
    "Principal" : "*",
    "Action" : "Update:*",
    "Resource" : "*",
    "Condition" : {
      "StringEquals" : {
        "ResourceType" : ["AWS::EC2::Instance", "AWS::RDS::DBInstance"]
      }
    }
  },
  {
    "Effect" : "Allow",
    "Principal" : "*",
    "Action" : "Update:*",
    "Resource" : "*"
  }
  ]
}
```
Die `Allow`-Anweisung erteilt Aktualisierungsberechtigungen für alle Ressourcen und die `Deny`-Anweisung verweigert Aktualisierungen für EC2 Instances und RDS-DB-Instances. Die `Deny`-Anweisung überschreibt immer Zulassungsaktionen.  
Sie können einen Platzhalter mit Ressourcentypen verwenden. Sie können beispielsweise Aktualisierungsberechtigungen für alle Amazon EC2-Ressourcen verweigern, z. B. Instances, Sicherheitsgruppen und Subnetze, indem Sie wie im folgenden Beispiel einen Platzhalter verwenden:  

```
"Condition" : {
  "StringLike" : {
    "ResourceType" : ["AWS::EC2::*"]
  }
}
```
Sie müssen die `StringLike`-Bedingung verwenden, wenn Sie Platzhalter verwenden.

## Festlegen einer Stack-Richtlinie
<a name="protect-stack-resources-protecting"></a>

Sie können die Konsole verwenden oder AWS CLI eine Stack-Richtlinie anwenden, wenn Sie einen Stack erstellen. Sie können die auch verwenden AWS CLI , um eine Stack-Richtlinie auf einen vorhandenen Stack anzuwenden. Nachdem Sie eine Stack-Richtlinie angewendet haben, können Sie sie nicht mehr aus dem Stack entfernen, aber Sie können sie verwenden, AWS CLI um sie zu ändern.

Stack-Richtlinien gelten für alle CloudFormation Benutzer, die versuchen, den Stack zu aktualisieren. Sie können unterschiedlichen Benutzern keinen verschiedenen Stack-Richtlinien zuordnen.

Informationen zum Schreiben von Stack-Richtlinien finden Sie unter [Definieren einer Stack-Richtlinie](#stack-policy-reference).

**So legen Sie eine Stack-Richtlinie beim Erstellen eines Stacks fest (Konsole)**

1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie in der Navigationsleiste oben auf dem Bildschirm die aus, in der der Stapel erstellt werden AWS-Region soll.

1. Wählen Sie auf der Seite „**CloudFormation Stapel**“ die Option **Stapel erstellen** aus.

1. Erweitern Sie im Assistenten für das Erstellen eines Stacks auf der Seite **Configure stack options (Stack-Optionen konfigurieren)** den Abschnitt **Advanced (Erweitert)** und wählen Sie dann **Stack policy (Stack-Richtlinie)** aus.

1. Geben Sie die Stack-Richtlinie an:
   + Um eine Richtlinie direkt in der Konsole zu schreiben, wählen Sie **Enter stack policy (Stack-Richtlinie eingeben)** aus und geben Sie die Stack-Richtlinie direkt in das Textfeld ein.
   + Um eine Richtlinie zu verwenden, die in einer separaten Datei definiert ist, wählen Sie **Upload a file (Datei hochladen)** und dann **Choose file (Datei auswählen)** aus, um die Datei auszuwählen, die die Stack-Richtlinie enthält.

**So legen Sie eine Stack-Richtlinie beim Erstellen eines Stacks fest (AWS CLI)**
+ Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html) mit der Option `--stack-policy-body` zur Eingabe einer geänderten Richtlinie oder die Option `--stack-policy-url` zur Angabe einer Datei, die die Richtlinie enthält. 

**Um eine Stack-Richtlinie für einen vorhandenen Stack festzulegen (AWS CLI nur)**
+ Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html) mit der Option `--stack-policy-body` zur Eingabe einer geänderten Richtlinie oder die Option `--stack-policy-url` zur Angabe einer Datei, die die Richtlinie enthält.
**Anmerkung**  
Um eine Richtlinie zu einem vorhandenen Stack hinzuzufügen, müssen Sie über die entsprechende Berechtigung für die CloudFormation [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html)Aktion verfügen.

## Aktualisieren geschützter Ressourcen
<a name="protect-stack-resources-updating"></a>

Um geschützte Ressourcen zu aktualisieren, erstellen Sie eine temporäre Richtlinie, die die Stack-Richtlinie überschreibt und Aktualisierungen für diese Ressourcen zulässt. Geben Sie die Überschreibungsrichtlinie ab, wenn Sie den Stack aktualisieren. Die Überschreibungsrichtlinie ändert die Stack-Richtlinie nicht dauerhaft.

Um geschützte Ressourcen zu aktualisieren, benötigen Sie die Berechtigung, die CloudFormation [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html)Aktion zu verwenden. Informationen zum Festlegen von CloudFormation-Berechtigungen finden Sie unter [Steuern CloudFormation Sie den Zugriff mit AWS Identity and Access Management](control-access-with-iam.md).

**Anmerkung**  
Während eines Stack-Updates CloudFormation werden Ressourcen, die von anderen aktualisierten Ressourcen abhängen, automatisch aktualisiert. CloudFormation Aktualisiert beispielsweise eine Ressource, die auf eine aktualisierte Ressource verweist. CloudFormation nimmt keine physischen Änderungen an automatisch aktualisierten Ressourcen vor, z. B. an der ID der Ressourcen. Wenn diesen Ressourcen jedoch eine Stack-Richtlinie zugeordnet ist, benötigen Sie die Berechtigung, sie zu aktualisieren.

**So aktualisieren Sie eine geschützte Ressource (Konsole)**

1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie den Stack aus, den Sie aktualisieren möchten. Wählen Sie **Stack actions (Stack-Aktionen)** und anschließend **Update Stack (Stack aktualisieren)** aus.

1. Wenn Sie die Stack-Vorlage *nicht* geändert haben, wählen Sie **Use current template (Aktuelle Vorlage verwenden)** aus und klicken Sie dann auf **Next (Weiter)**. Wenn Sie die Vorlage geändert haben, wählen Sie **Replace current template (Aktuelle Vorlage ersetzen)** aus und geben Sie den Speicherort der aktualisierten Vorlage im Abschnitt **Specify template (Vorlage angeben)** an:
   + Für eine lokal auf Ihrem Computer gespeicherte Vorlage wählen Sie **Upload a template file (Vorlagendatei hochladen)** aus. Wählen Sie **Choose File**, um zur Datei zu navigieren. Wählen Sie die Datei aus und klicken Sie auf **Weiter**.
   + Für eine in einem Amazon S3-Bucket gespeicherte Vorlage wählen Sie **Amazon S3-URL** aus. Geben Sie die URL für die Vorlage ein und klicken Sie dann auf **Weiter**.

     Wenn Sie eine Vorlage in einem Bucket mit Versionskontrolle haben, können Sie eine bestimmte Version der Vorlage angeben, indem Sie `?versionId=version-id` an die URL anhängen. Weitere Informationen finden Sie unter [Arbeiten mit Objekten in einem versionierungsfähigen Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-objects-versioned-bucket.html) im *Amazon Simple Storage Service User Guide*.

1. Wenn Ihre Vorlage Parameter enthält, geben Sie auf der Seite **Specify stack details (Stack-Details angeben)** die Parameterwerte ein oder ändern Sie sie und wählen Sie dann **Next (Weiter)** aus.

   CloudFormation füllt jeden Parameter mit dem Wert auf, der aktuell im Stack festgelegt ist, mit Ausnahme der mit dem Attribut deklarierten Parameter. `NoEcho` Sie können die aktuellen Werte für diese Parameter verwenden, indem Sie **Use existing value (Existierenden Wert verwenden)** auswählen.

   Weitere Informationen über die Verwendung von `NoEcho` zur Maskierung sensibler Informationen sowie über die Verwendung dynamischer Parameter zur Verwaltung von Geheimnissen finden Sie in der bewährten Vorgehensweise [Keine Anmeldeinformationen in Vorlagen einbetten](security-best-practices.md#creds) .

1. Geben Sie eine Überschreibungs-Stack-Richtlinie an.

   1. Wählen Sie auf der Seite **Configure stack options (Stack-Optionen konfigurieren)** im Abschnitt **Advanced options (Erweiterte Optionen)** die Option **Stack policy (Stack-Richtlinie)** aus.

   1. Wählen Sie **Upload a file (Datei hochladen)** aus.

   1. Klicken Sie auf **Choose File (Datei auswählen)** und navigieren Sie zu der Datei, die die überschreibende Stack-Richtlinie enthält, oder geben Sie eine Richtlinie ein.

   1. Wählen Sie **Weiter** aus.

   Die Überschreibungsrichtlinie muss eine `Allow`-Anweisung für die geschützten Ressourcen angeben, die Sie aktualisieren möchten. Um beispielsweise alle geschützten Ressourcen zu aktualisieren, geben Sie eine temporäre Überschreibungsrichtlinie an, die alle Aktualisierungen zulässt:

   ```
   {
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : "Update:*",
         "Principal": "*",
         "Resource" : "*"
       }
     ]
   }
   ```
**Anmerkung**  
CloudFormation wendet die Override-Richtlinie nur während dieses Updates an. Die Überschreibungsrichtlinie ändert die Stack-Richtlinie nicht dauerhaft. Informationen zum Ändern einer Stack-Richtlinie finden Sie unter [Ändern einer Stack-Richtlinie](#protect-stack-resources-modifying).

1. Überprüfen Sie die Stack-Informationen und die Änderungen, die Sie übermittelt haben.

   Überprüfen Sie, ob Sie die richtigen Informationen gesendet haben, z. B. die richtigen Parameterwerte oder die richtige Vorlagen-URL. Wenn Ihre Vorlage IAM-Ressourcen enthält, wählen Sie **I acknowledge that this template may create IAM resources**, um anzugeben, dass Sie IAM-Ressourcen in der Vorlage verwenden möchten. Weitere Informationen finden Sie unter [Bestätigung von IAM-Ressourcen in Vorlagen CloudFormation](control-access-with-iam.md#using-iam-capabilities).

   Vergewissern Sie sich im Abschnitt **Vorschau Ihrer Änderungen**, dass alle erwarteten Änderungen vorgenommen CloudFormation werden. Wählen Sie beispielsweise aus, dass die CloudFormation Ressourcen, die Sie hinzufügen, entfernen oder ändern wollten, hinzugefügt, entfernt und geändert werden. CloudFormationgeneriert diese Vorschau, indem ein Änderungssatz für den Stapel erstellt wird. Weitere Informationen finden Sie unter [CloudFormation Stapel mithilfe von Änderungssätzen aktualisieren](using-cfn-updating-stacks-changesets.md).

1. Wenn Sie mit Ihren Änderungen zufrieden sind, klicken Sie auf **Update (Aktualisieren)**.
**Anmerkung**  
An dieser Stelle haben Sie auch die Möglichkeit, den Änderungssatz anzusehen, um Ihre vorgeschlagenen Updates sorgfältiger zu überprüfen. Klicken Sie dazu nicht auf **Aktualisieren**, sondern auf **Änderungssatz anzeigen**. CloudFormation zeigt den Änderungssatz an, der auf der Grundlage Ihrer Aktualisierungen generiert wurde. Wenn Sie bereit sind, den Stack zu aktualisieren, klicken Sie auf **Execute (Ausführen)**.

   CloudFormation zeigt die Seite mit den **Stack-Details** für Ihren Stack an. Ihr Stapel hat jetzt den Status `UPDATE_IN_PROGRESS`. Nachdem CloudFormation die Aktualisierung des Stacks erfolgreich abgeschlossen wurde, wird der Stack-Status auf gesetzt`UPDATE_COMPLETE`.

   Schlägt die Stack-Aktualisierung fehl CloudFormation, werden die Änderungen automatisch rückgängig gemacht und der Stack-Status wird auf gesetzt`UPDATE_ROLLBACK_COMPLETE`.

**So aktualisieren Sie eine geschützte Ressource (AWS CLI)**
+ Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html) mit der Option `--stack-policy-during-update-body` zur Eingabe einer geänderten Richtlinie oder die Option `--stack-policy-during-update-url` zur Angabe einer Datei, die die Richtlinie enthält.
**Anmerkung**  
CloudFormation wendet die Override-Richtlinie nur während dieses Updates an. Die Überschreibungsrichtlinie ändert die Stack-Richtlinie nicht dauerhaft. Informationen zum Ändern einer Stack-Richtlinie finden Sie unter [Ändern einer Stack-Richtlinie](#protect-stack-resources-modifying).

## Ändern einer Stack-Richtlinie
<a name="protect-stack-resources-modifying"></a>

Um zusätzliche Ressourcen zu schützen oder Schutz von Ressourcen zu entfernen, ändern Sie die Stack-Richtlinie. Wenn Sie beispielsweise eine Datenbank, die Sie schützen möchten, zu einem Stack hinzufügen, fügen Sie der Stack-Richtlinie eine `Deny`-Anweisung für diese Datenbank hinzu. Um die Richtlinie zu ändern, müssen Sie über die Berechtigung zur Verwendung der Aktion [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html) verfügen.

Verwenden Sie die AWS CLI , um Stack-Richtlinien zu ändern.

**So ändern Sie eine Stack-Richtlinie (AWS CLI)**
+ Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html) mit der Option `--stack-policy-body` zur Eingabe einer geänderten Richtlinie oder die Option `--stack-policy-url` zur Angabe einer Datei, die die Richtlinie enthält.

Stack-Richtlinien können nicht gelöscht werden. Zum Entfernen des gesamten Schutzes von allen Ressourcen, ändern Sie die Richtlinie, sodass alle Aktionen für alle Ressourcen ausdrücklich zugelassen werden. Mit der folgenden Richtlinie können alle Aktualisierungen für alle Ressourcen durchgeführt werden:

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

## Weitere Beispiel-Stack-Richtlinien
<a name="stack-policy-samples"></a>

Die folgenden Beispielrichtlinien zeigen, wie Sie Aktualisierungen aller Stack-Ressourcen und spezifischer Ressourcen verhindern und wie Sie bestimmte Arten von Aktualisierungen verhindern.

### Verhindern von Aktualisierungen aller Stack-Ressourcen
<a name="w2aac43c15c21b5"></a>

Um Aktualisierungen aller Stack-Ressourcen zu verhindern, gibt die folgende Richtlinie eine `Deny`-Anweisung für alle Aktualisierungsaktionen für alle Ressourcen an.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

### Verhindern von Aktualisierungen an einer einzelnen Ressource
<a name="w2aac43c15c21b7"></a>

Mit der folgenden Richtlinie werden alle Aktualisierungsaktionen in der Datenbank mit der logischen ID `MyDatabase` verweigert. Es werden alle Aktualisierungsaktionen für alle anderen Stack-Ressourcen mit einer `Allow`-Anweisung zugelassen. Die `Allow`-Anweisung gilt nicht für die `MyDatabase`-Ressource, da die `Deny`-Anweisung immer Zulassungsaktionen überschreibt.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "LogicalResourceId/MyDatabase"
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

Sie können dasselbe Ergebnis wie im vorherigen Beispiel erzielen, wenn Sie eine Standardverweigerung verwenden. Wenn Sie eine Stack-Richtlinie festlegen, werden alle Aktualisierungen CloudFormation verweigert, die nicht ausdrücklich zugelassen sind. Die folgende Richtlinie lässt Aktualisierungen für alle Ressourcen zu, außer für die `ProductionDatabase`-Ressource, die standardmäßig verweigert wird.

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "NotResource" : "LogicalResourceId/ProductionDatabase"
    }
  ]
}
```

**Wichtig**  
Es gibt Risiken bei der Verwendung einer Standardverweigerung. Wenn es an einer anderen Stelle in der Richtlinie eine `Allow`-Anweisung gibt (z. B. eine `Allow`-Anweisung, die einen Platzhalter verwendet), können Sie unwissentlich Aktualisierungsberechtigungen für Ressourcen erteilen, die Sie gar nicht aktualisieren möchten. Da eine ausdrückliche Verweigerung sämtliche Zulassungsaktionen überschreibt, können Sie sicherstellen, dass eine Ressource durch Verwendung einer `Deny`-Anweisung geschützt wird.

### Verhindern von Aktualisierungen aller Instances eines Ressourcentyps
<a name="w2aac43c15c21b9"></a>

Mit der folgenden Richtlinie werden alle Aktualisierungsaktionen für den RDS-DB-Instance-Ressourcentyp verweigert. Es werden alle Aktualisierungsaktionen für alle anderen Stack-Ressourcen mit einer `Allow`-Anweisung zugelassen. Die `Allow`-Anweisung gilt nicht für die RDS-DB-Instance-Ressourcen, da eine `Deny`-Anweisung immer Zulassungsaktionen überschreibt.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*",
      "Condition" : {
        "StringEquals" : {
          "ResourceType" : ["AWS::RDS::DBInstance"]
        }
      }
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

### Verhindern von Ersetzungsaktualisierungen für eine Instance
<a name="w2aac43c15c21c11"></a>

Mit der folgenden Richtlinie werden Aktualisierungen verweigert, die zu einer Ersetzung der Instance mit der logischen ID `MyInstance` führen würden. Es werden alle Aktualisierungsaktionen für alle anderen Stack-Ressourcen mit einer `Allow`-Anweisung zugelassen. Die `Allow`-Anweisung gilt nicht für die `MyInstance`-Ressource, da die `Deny`-Anweisung immer Zulassungsaktionen überschreibt.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:Replace",
      "Principal": "*",
      "Resource" : "LogicalResourceId/MyInstance"
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

### Verhindern von Aktualisierungen an verschachtelten Stacks
<a name="w2aac43c15c21c13"></a>

Die folgende Richtlinie verweigert alle Aktualisierungsaktionen für den CloudFormation Stack-Ressourcentyp (verschachtelte Stacks). Es werden alle Aktualisierungsaktionen für alle anderen Stack-Ressourcen mit einer `Allow`-Anweisung zugelassen. Die `Allow`-Anweisung gilt nicht für die CloudFormation -Stack-Ressourcen, da die `Deny`-Anweisung immer Zulassungsaktionen überschreibt.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*",
      "Condition" : {
        "StringEquals" : {
          "ResourceType" : ["AWS::CloudFormation::Stack"]
        }
      }
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

# Datenschutz in CloudFormation
<a name="security-data-protection"></a>

Das [Modell der AWS gemeinsamen Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) und geteilter Verantwortung gilt für den Datenschutz in AWS CloudFormation. Wie in diesem Modell beschrieben, AWS ist verantwortlich für den Schutz der globalen Infrastruktur, auf der alle Systeme laufen AWS Cloud. Sie sind dafür verantwortlich, die Kontrolle über Ihre in dieser Infrastruktur gehosteten Inhalte zu behalten. Sie sind auch für die Sicherheitskonfiguration und die Verwaltungsaufgaben für die von Ihnen verwendeten AWS-Services verantwortlich. Weitere Informationen zum Datenschutz finden Sie unter [Häufig gestellte Fragen zum Datenschutz](https://aws.amazon.com/compliance/data-privacy-faq/). Informationen zum Datenschutz in Europa finden Sie im Blog-Beitrag [AWS -Modell der geteilten Verantwortung und in der DSGVO](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) im *AWS -Sicherheitsblog*.

Aus Datenschutzgründen empfehlen wir, dass Sie AWS-Konto Anmeldeinformationen schützen und einzelne Benutzer mit AWS IAM Identity Center oder AWS Identity and Access Management (IAM) einrichten. So erhält jeder Benutzer nur die Berechtigungen, die zum Durchführen seiner Aufgaben erforderlich sind. Außerdem empfehlen wir, die Daten mit folgenden Methoden schützen:
+ Verwenden Sie für jedes Konto die Multi-Faktor-Authentifizierung (MFA).
+ Wird verwendet SSL/TLS , um mit AWS Ressourcen zu kommunizieren. Wir benötigen TLS 1.2 und empfehlen TLS 1.3.
+ Richten Sie die API und die Protokollierung von Benutzeraktivitäten mit ein AWS CloudTrail. Informationen zur Verwendung von CloudTrail Pfaden zur Erfassung von AWS Aktivitäten finden Sie unter [Arbeiten mit CloudTrail Pfaden](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) im *AWS CloudTrail Benutzerhandbuch*.
+ Verwenden Sie AWS Verschlüsselungslösungen zusammen mit allen darin enthaltenen Standardsicherheitskontrollen AWS-Services.
+ Verwenden Sie erweiterte verwaltete Sicherheitsservices wie Amazon Macie, die dabei helfen, in Amazon S3 gespeicherte persönliche Daten zu erkennen und zu schützen.
+ Wenn Sie für den Zugriff AWS über eine Befehlszeilenschnittstelle oder eine API FIPS 140-3-validierte kryptografische Module benötigen, verwenden Sie einen FIPS-Endpunkt. Weitere Informationen über verfügbare FIPS-Endpunkte finden Sie unter [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Wir empfehlen dringend, in Freitextfeldern, z. B. im Feld **Name**, keine vertraulichen oder sensiblen Informationen wie die E-Mail-Adressen Ihrer Kunden einzugeben. Dies gilt auch, wenn Sie mit der Konsole, der CloudFormation API oder auf andere AWS-Services Weise arbeiten oder diese verwenden. AWS CLI AWS SDKs Alle Daten, die Sie in Tags oder Freitextfelder eingeben, die für Namen verwendet werden, können für Abrechnungs- oder Diagnoseprotokolle verwendet werden. Wenn Sie eine URL für einen externen Server bereitstellen, empfehlen wir dringend, keine Anmeldeinformationen zur Validierung Ihrer Anforderung an den betreffenden Server in die URL einzuschließen.

## Verschlüsselung im Ruhezustand
<a name="security-data-protection-encryption-at-rest"></a>

 CloudFormation Speichert Ihre Daten gemäß dem Modell der AWS gemeinsamen Verantwortung verschlüsselt im Ruhezustand. Kunden sind dafür verantwortlich, Verschlüsselungs- und Speicherrichtlinien für in ihren Konten gespeicherte Daten festzulegen. Wir empfehlen beispielsweise, die Verschlüsselung im Ruhezustand für Vorlagen und andere Daten zu aktivieren, die in S3-Buckets oder SNS-Themen gespeichert sind. Kunden definieren ebenso Verschlüsselungseinstellungen für alle Datenspeichersysteme, die von CloudFormation bereitgestellt werden.

## Verschlüsselung während der Übertragung
<a name="security-data-protection-encryption-in-transit"></a>

CloudFormation verwendet verschlüsselte Kanäle für die Dienstkommunikation im Rahmen des Modells der gemeinsamen Verantwortung.

## Richtlinie für den Datenverkehr zwischen Netzwerken
<a name="security-data-protection-internetwork-traffic-privacy"></a>

CloudFormation Die Dienstkommunikation zwischen Regionen oder Availability Zones wird standardmäßig sicher verschlüsselt.

# Steuern CloudFormation Sie den Zugriff mit AWS Identity and Access Management
<a name="control-access-with-iam"></a>

Mit AWS Identity and Access Management (IAM) können Sie IAM-Benutzer erstellen und deren Zugriff auf bestimmte Ressourcen in Ihrem System kontrollieren. AWS-Konto Wenn Sie IAM verwenden, können Sie steuern, was Benutzer verwenden können CloudFormation, z. B. ob sie Stack-Vorlagen anzeigen, Stacks erstellen oder Stapel löschen können.

Neben CloudFormation spezifischen Aktionen können Sie verwalten, welche AWS Dienste und Ressourcen jedem Benutzer zur Verfügung stehen. Auf diese Weise können Sie steuern, auf welche Ressourcen Benutzer zugreifen können, wenn sie sie verwenden CloudFormation. Sie können beispielsweise angeben, welche Benutzer Amazon EC2 EC2-Instances erstellen, Datenbank-Instances beenden oder Updates VPCs durchführen können. Dieselben Berechtigungen gelten immer dann, wenn CloudFormation sie diese Aktionen ausführen.

Verwenden Sie die Informationen in den folgenden Abschnitten, um zu steuern, wer darauf zugreifen kann CloudFormation. Wir werden auch untersuchen, wie Sie die Erstellung von IAM-Ressourcen in Vorlagen autorisieren, Anwendungen, die auf EC2-Instances ausgeführt werden, die erforderlichen Berechtigungen erteilen und temporäre Sicherheitsanmeldeinformationen verwenden, um die Sicherheit in Ihrer Umgebung zu erhöhen. AWS 

## Definition identitätsbasierter IAM-Richtlinien für CloudFormation
<a name="iam-id-based-policies"></a>

Um Zugriff darauf zu gewähren CloudFormation, müssen Sie IAM-Richtlinien erstellen und zuweisen, die Ihren IAM-Identitäten (wie Benutzern oder Rollen) die Erlaubnis geben, die benötigten API-Aktionen aufzurufen.

Mit identitätsbasierten IAM-Richtlinien können Sie zulässige oder verweigerte Aktionen und Ressourcen sowie die Bedingungen angeben, unter denen Aktionen zulässig oder verweigert werden. CloudFormationunterstützt bestimmte Aktionen, Ressourcen und Bedingungsschlüssel. 

Wenn Sie neu bei IAM sind, machen Sie sich zunächst mit den Elementen einer IAM JSON-Richtlinie vertraut. Weitere Informationen finden Sie unter [IAM JSON policy element reference](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) im *IAM User Guide*. Um zu erfahren, wie Sie IAM-Richtlinien erstellen, lesen Sie das Tutorial [Erstellen und Anhängen Ihrer ersten vom Kunden verwalteten Richtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html) in der IAM-Dokumentation.

**Topics**
+ [Politische Maßnahmen für CloudFormation](#using-iam-actions)
+ [Konsolenspezifische Aktionen für CloudFormation](#console-specific-actions)
+ [Politische Ressourcen für CloudFormation](#resource-level-permissions)
+ [Richtlinien-Bedingungsschlüssel für CloudFormation](#using-iam-conditions)

### Politische Maßnahmen für CloudFormation
<a name="using-iam-actions"></a>

Im `Action` Element Ihrer IAM-Richtlinienerklärung können Sie jede API-Aktion angeben, die CloudFormation angeboten wird. Sie müssen dem Aktionsnamen die klein geschriebene Zeichenfolge `cloudformation:`voranstellen. Beispiel: `cloudformation:CreateStack`, `cloudformation:CreateChangeSet` und `cloudformation:UpdateStack`.

Wenn Sie mehrere Aktionen in einer einzigen Anweisung angeben möchten, trennen Sie diese wie folgt durch Kommas:

```
"Action": [ "cloudformation:action1", "cloudformation:action2" ]
```

Sie können auch mehrere Aktionen mittels Platzhaltern angeben. Sie können zum Beispiel alle Aktionen, deren Namen mit dem Wort `Get`beginnen, wie folgt angeben:

```
"Action": "cloudformation:Get*"
```

Eine vollständige Liste der Aktionen, die mit dem Service-Präfix `cloudformation` verbunden sind, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html) und [Aktionen, Ressourcen und Bedingungsschlüssel für AWS -Cloud-Control- API](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudcontrolapi.html) in der *Service Authorization Reference*.

#### Beispiele
<a name="using-iam-actions-examples"></a>

Im Folgenden finden Sie ein Beispiel für eine Berechtigungsrichtlinie, die Berechtigungen zum Anzeigen von CloudFormation Stacks gewährt.

**Example 1: Eine Beispielrichtlinie, die View Stack-Berechtigungen gewährt**    
****  

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

Benutzer, die Stapel erstellen oder löschen, benötigen zusätzliche Berechtigungen, die auf ihren Stapelvorlagen basieren. Wenn Ihre Vorlage beispielsweise eine Amazon SQS SQS-Warteschlange beschreibt, müssen Benutzer über Berechtigungen sowohl für Amazon SQS-Aktionen als auch CloudFormation für Amazon SQS SQS-Aktionen verfügen, wie in der folgenden Beispielrichtlinie dargestellt.

**Example 2: Eine Beispielrichtlinie, die das Erstellen und Anzeigen von Stack-Aktionen sowie alle Amazon SQS-Aktionen erlaubt**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[{
        "Effect":"Allow",
        "Action":[
            "sqs:*",
            "cloudformation:CreateStack",
            "cloudformation:DescribeStacks",
            "cloudformation:DescribeStackEvents",
            "cloudformation:DescribeStackResources",
            "cloudformation:GetTemplate",
            "cloudformation:ValidateTemplate"  
        ],
        "Resource":"*"
    }]
}
```

### Konsolenspezifische Aktionen für CloudFormation
<a name="console-specific-actions"></a>

Benutzer der CloudFormation Konsole benötigen zusätzliche Berechtigungen, die über die Berechtigungen für oder hinausgehen. AWS Command Line Interface CloudFormation APIs Diese zusätzlichen Berechtigungen unterstützen konsolenspezifische Funktionen wie Vorlagen-Uploads in Amazon S3 S3-Buckets und Drop-down-Listen für AWS-spezifische Parametertypen.

Gewähren Sie für alle unten aufgeführten Aktionen die Berechtigung für alle Ressourcen

Die folgende Aktion wird nur von der CloudFormation Konsole verwendet und ist in der API-Referenz nicht dokumentiert. Die Aktion erlaubt Benutzern, Vorlagen zu Amazon S3-Buckets hochzuladen.
+ `cloudformation:CreateUploadBucket`

Wenn Benutzer Vorlagen hochladen, benötigen sie außerdem die folgenden Amazon S3-Berechtigungen:
+ `s3:PutObject`
+ `s3:ListBucket`
+ `s3:GetObject`
+ `s3:CreateBucket`

Um Werte in den Parameter-Dropdownlisten für Vorlagen mit AWS-spezifischen Parametertypen zu sehen, benötigen Benutzer Berechtigungen, um die entsprechenden Describe-API-Aufrufe durchzuführen. Zum Beispiel sind die folgenden Berechtigungen erforderlich, wenn diese Parametertypen in der Vorlage verwendet werden:
+  `ec2:DescribeKeyPairs`- Erforderlich für den Parametertyp `AWS::EC2::KeyPair::KeyName` .
+ `ec2:DescribeSecurityGroups`- Erforderlich für den Parametertyp `AWS::EC2::SecurityGroup::Id` .
+ `ec2:DescribeSubnets`- Erforderlich für den Parametertyp `AWS::EC2::Subnet::Id` .
+ `ec2:DescribeVpcs`- Erforderlich für den Parametertyp `AWS::EC2::VPC::Id` .

Weitere Hinweise zu AWS-spezifischen Parametertypen finden Sie unter. [Geben Sie vorhandene Ressourcen zur Laufzeit mit von CloudFormation -bereitgestellten Parametertypen an](cloudformation-supplied-parameter-types.md)

### Politische Ressourcen für CloudFormation
<a name="resource-level-permissions"></a>

In einer IAM-Richtlinienanweisung gibt das `Resource`-Element das Objekt oder die Objekte an, für die die Anweisung gilt. Denn CloudFormation jede IAM-Richtlinienerklärung gilt für die Ressourcen, die Sie unter Verwendung ihrer Amazon-Ressourcennamen (ARNs) angeben. Das spezifische ARN-Format hängt von der Ressource ab. 

Eine vollständige Liste der CloudFormation Ressourcentypen und ihrer ARNs Eigenschaften finden Sie unter [Ressourcentypen definiert von CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html#awscloudformation-resources-for-iam-policies) in der *Service Authorization Reference.* Um zu erfahren, welche Aktionen Sie mit dem ARN jeder Ressource angeben können, siehe [Aktionen definiert durch CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html#awscloudformation-actions-as-permissions).

Sie können Aktionen für einen bestimmten Stapel festlegen, wie im folgenden Beispiel gezeigt. Wenn Sie einen ARN bereitstellen, ersetzen Sie das `placeholder text` durch Ihre ressourcenspezifischen Informationen. 

**Example 1: Eine Beispielrichtlinie, die das Löschen und Aktualisieren von Stack-Aktionen für den angegebenen Stack verweigert**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "cloudformation:DeleteStack",
                "cloudformation:UpdateStack"
            ],
            "Resource": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyProductionStack/*"
        }
    ]
}
```

Die obige Richtlinie verwendet einen Platzhalter am Ende des Stack-Namens, so dass Stack löschen und Stack aktualisieren sowohl für die vollständige Stack-ID (beispielsweise `arn:aws:cloudformation:region:account-id:stack/MyProductionStack/abc9dbf0-43c2-11e3-a6e8-50fa526be49c`) als auch für den Stack-Namen (beispielsweise `MyProductionStack`) verweigert werden.

Um `AWS::Serverless`-Transformationen die Erstellung eines Änderungssatzes zu gestatten, fügen Sie die Berechtigung auf Ressourcenebene `arn:aws:cloudformation:region:aws:transform/Serverless-2016-10-31` hinzu, wie in der folgenden Richtlinie gezeigt.

**Example 2: Eine Beispielrichtlinie, die die Aktion Änderungssatz erstellen für die angegebene Transformation erlaubt**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateChangeSet"
            ],
            "Resource": "arn:aws:cloudformation:us-east-1:aws:transform/Serverless-2016-10-31"
        }
    ]
}
```

### Richtlinien-Bedingungsschlüssel für CloudFormation
<a name="using-iam-conditions"></a>

In einer IAM-Richtlinienanweisung können Sie optional Bedingungen angeben, die steuern, wann eine Richtlinie in Kraft ist. Sie können beispielsweise eine Richtlinie definieren, die -Benutzern erlaubt, einen Stack nur dann zu erstellen, wenn sie eine bestimmte URL-Vorlage angeben. Sie können CloudFormation spezifische Bedingungen und AWS allgemeine Bedingungen definieren, z. B. festlegen`DateLessThan`, wann eine Richtlinie nicht mehr wirksam wird. *Weitere Informationen und eine Liste der AWS allgemeinen Bedingungen finden Sie unter Bedingung in der [Referenz zu den IAM-Richtlinienelementen im IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition).*

**Anmerkung**  
Verwenden Sie nicht die Bedingung -wide. `aws:SourceIp` AWS CloudFormationstellt Ressourcen mithilfe der eigenen IP-Adresse bereit, nicht der IP-Adresse der ursprünglichen Anfrage. Wenn Sie beispielsweise einen Stack erstellen, CloudFormation stellt er Anfragen von seiner IP-Adresse aus, um eine Amazon EC2 EC2-Instance zu starten oder einen Amazon S3 S3-Bucket zu erstellen, und nicht von der IP-Adresse aus dem `CreateStack` Aufruf oder dem **create-stack** Befehl.

In der folgenden Liste werden die CloudFormation -spezifischen Bedingungen beschrieben. Diese Bedingungen werden nur angewendet, wenn Benutzer Stacks erstellen oder aktualisieren:

`cloudformation:ChangeSetName`  
Ein Name des CloudFormation Änderungssatzes, den Sie einer Richtlinie zuordnen möchten. Verwenden Sie diese Bedingung, um zu steuern, welche Änderungssätze -Benutzer ausführen oder löschen können.

`cloudformation:ImportResourceTypes`  
Die Vorlagenressourcentypen, die Sie einer Richtlinie zuordnen möchten, z. B. `AWS::EC2::Instance`. Verwenden Sie diese Bedingung, um zu steuern, mit welchen Ressourcentypen -Benutzer arbeiten können, wenn sie Ressourcen in einen Stack importieren. Diese Bedingung wird anhand der Ressourcentypen geprüft, die Benutzer im `ResourcesToImport` Parameter deklarieren. Dieser Parameter wird derzeit nur für AWS CLI und API-Anfragen unterstützt. Wenn Sie diesen Parameter verwenden, müssen Sie alle Ressourcentypen angeben, die Benutzer während des Importvorgangs steuern sollen. Weitere Informationen über den Parameter `ResourcesToImport` finden Sie in der Aktion [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) in der *AWS CloudFormation API-Referenz*.  
Eine Liste der möglichen `ResourcesToImport`finden Sie unter [Unterstützung für Ressourcentypen](resource-import-supported-resources.md).  
Verwenden Sie die dreiteilige Ressourcennamenskonvention, um anzugeben, mit welchen Ressourcentypen Benutzer arbeiten können, von allen Ressourcen innerhalb einer Organisation bis hinunter zu einem einzelnen Ressourcentyp.    
`organization::*`  
Geben Sie alle Ressourcentypen für eine bestimmte Organisation an.  
`organization::service_name::*`  
Geben Sie alle Ressourcentypen für den angegebenen Service innerhalb einer bestimmten Organisation an.  
`organization::service_name::resource_type`  
Geben Sie einen bestimmten Ressourcentyp an.
Beispiel:    
`AWS::*`  
Geben Sie alle unterstützten AWS Ressourcentypen an.  
`AWS::service_name::*`  
Geben Sie alle unterstützten Ressourcen für einen bestimmten AWS -Service an.  
`AWS::service_name::resource_type`  
Geben Sie einen bestimmten AWS Ressourcentyp an, z. B. `AWS::EC2::Instance` (alle EC2-Instances).

`cloudformation:ResourceTypes`  
Die Vorlagenressourcentypen wie z. B. `AWS::EC2::Instance`, die Sie einer Richtlinie zuordnen möchten. Verwenden Sie diese Bedingung, um zu steuern, welche Ressourcentypen -Benutzern zur Verfügung stehen, wenn sie einen Stack erstellen oder aktualisieren. Diese Bedingung wird anhand der Ressourcentypen geprüft, die Benutzer im `ResourceTypes`-Parameter deklarieren, der aktuell nur für AWS CLI und API-Anforderungen unterstützt wird. Bei Verwendung dieses Parameters müssen Benutzer alle Ressourcentypen angeben, die sich in ihrer Vorlage befinden. Weitere Informationen über den Parameter `ResourceTypes` finden Sie in der Aktion [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html) in der *AWS CloudFormation API-Referenz*.  
Eine Liste der Ressourcentypen finden Sie unter [CloudFormation Template Reference Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/introduction.html).  
Verwenden Sie die dreiteilige Ressourcennamenskonvention, um anzugeben, mit welchen Ressourcentypen Benutzer arbeiten können, von allen Ressourcen innerhalb einer Organisation bis hinunter zu einem einzelnen Ressourcentyp.    
`organization::*`  
Geben Sie alle Ressourcentypen für eine bestimmte Organisation an.  
`organization::service_name::*`  
Geben Sie alle Ressourcentypen für den angegebenen Service innerhalb einer bestimmten Organisation an.  
`organization::service_name::resource_type`  
Geben Sie einen bestimmten Ressourcentyp an.
Beispiel:    
`AWS::*`  
Geben Sie alle unterstützten AWS Ressourcentypen an.  
`AWS::service_name::*`  
Geben Sie alle unterstützten Ressourcen für einen bestimmten AWS -Service an.  
`AWS::service_name::resource_type`  
Geben Sie einen bestimmten AWS Ressourcentyp an, z. B. `AWS::EC2::Instance` (alle EC2-Instances).  
`Alexa::ASK::*`  
Geben Sie alle Ressourcentypen im Alexa Skill Kit an.  
`Alexa::ASK::Skill`  
Geben Sie den individuellen [Alexa::ASK::Skill](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/alexa-resource-ask-skill.html) Ressourcentyp an.  
`Custom::*`  
Geben Sie alle benutzerdefinierten Ressourcen an.  
Weitere Informationen finden Sie unter [Erstellen Sie eine benutzerdefinierte Bereitstellungslogik mit benutzerdefinierten Ressourcen](template-custom-resources.md).  
`Custom::resource_type`  
Geben Sie einen bestimmten benutzerdefinierten Ressourcentyp an.  
Weitere Informationen finden Sie unter [Erstellen Sie eine benutzerdefinierte Bereitstellungslogik mit benutzerdefinierten Ressourcen](template-custom-resources.md).

`cloudformation:RoleARN`  
Der Amazon-Ressourcenname (ARN) einer IAM-Servicerolle, die Sie einer Richtlinie zuordnen möchten. Verwenden Sie diese Bedingung, um zu steuern, welche Servicerolle -Benutzer verwenden können, wenn sie mit Stacks oder Änderungssätzen arbeiten.

`cloudformation:StackPolicyUrl`  
Eine Amazon S3-Stack-Richtlinien-URL, die Sie einer Richtlinie zuordnen möchten. Verwenden Sie diese Bedingung, um zu steuern, welche Stack-Richtlinien -Benutzer einem Stack während einer Aktion zum Erstellen oder Aktualisieren von Stacks zuordnen können. Weitere Informationen zu Stack-Richtlinien finden Sie unter [Verhindern von Aktualisierungen der Stack-Ressourcen](protect-stack-resources.md).  
Um sicherzustellen, dass Benutzer nur Stacks mit den von Ihnen hochgeladenen Stack-Richtlinien erstellen oder aktualisieren können, setzen Sie den S3-Bucket für diese Benutzer auf schreibgeschützt.

`cloudformation:TemplateUrl`  
Eine Amazon S3-Vorlagen-URL, die Sie einer Richtlinie zuordnen möchten. Verwenden Sie diese Bedingung, um zu steuern, welche Vorlagen -Benutzer verwenden können, wenn sie Stacks erstellen oder aktualisieren.  
Um sicherzustellen, dass Benutzer nur Stapel mit den von Ihnen hochgeladenen Vorlagen erstellen oder aktualisieren können, setzen Sie den S3-Bucket für diese Benutzer auf schreibgeschützt.
Die folgenden CloudFormation spezifischen Bedingungen gelten für die gleichnamigen API-Parameter:  
+ `cloudformation:ChangeSetName`
+ `cloudformation:RoleARN`
+ `cloudformation:StackPolicyUrl`
+ `cloudformation:TemplateUrl`
Gilt beispielsweise `cloudformation:TemplateUrl` nur für den `TemplateUrl` Parameter für `CreateStack``UpdateStack`, und `CreateChangeSet` APIs.

Beispiele für IAM-Richtlinien, die Bedingungsschlüssel zur Zugriffskontrolle verwenden, finden Sie unter [Beispiel für identitätsbasierte IAM-Richtlinien für CloudFormation](security_iam_id-based-policy-examples.md).

## Bestätigung von IAM-Ressourcen in Vorlagen CloudFormation
<a name="using-iam-capabilities"></a>

Bevor Sie einen Stack erstellen können, wird Ihre Vorlage CloudFormation validiert. Bei der Validierung prüft CloudFormation Ihre Vorlage auf IAM-Ressourcen, die es möglicherweise erstellt. IAM-Ressourcen, wie z. B. ein Benutzer mit Vollzugriff, können auf jede Ressource in Ihrem AWS-Konto zugreifen und diese ändern. Daher wird empfohlen, die den einzelnen IAM-Ressourcen zugeordneten Berechtigungen zu prüfen, bevor Sie fortfahren, damit Sie nicht versehentlich Ressourcen mit eskalierten Berechtigungen erstellen. Um sicherzustellen, dass Sie dies getan haben, müssen Sie bestätigen, dass die Vorlage diese Ressourcen enthält, und CloudFormation die angegebenen Funktionen bereitstellen, bevor der Stack erstellt wird.

Sie können die Funktionen von CloudFormation Vorlagen mithilfe der CloudFormation Konsole, AWS Command Line Interface (AWS CLI) oder der API überprüfen:
+ Wählen Sie in der CloudFormation Konsole auf der Seite „**Stack-Optionen konfigurieren**“ der Assistenten „Stack erstellen“ oder „Stack aktualisieren“ die Option **Ich bestätige, dass diese Vorlage IAM-Ressourcen erstellen kann**.
+ Geben Sie im AWS CLI Feld, wenn Sie die [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html)Befehle [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html)und verwenden, den `CAPABILITY_NAMED_IAM` Wert `CAPABILITY_IAM` oder für die `--capabilities` Option an. Wenn Ihre Vorlage IAM-Ressourcen enthält, können Sie jede der beiden Fähigkeiten angeben. Wenn Ihre Vorlage benutzerdefinierte Namen für IAM-Ressourcen enthält, müssen Sie `CAPABILITY_NAMED_IAM` angeben.
+ Wenn Sie in der API die Aktionen [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html) und [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html) verwenden, geben Sie `Capabilities.member.1=CAPABILITY_IAM` oder `Capabilities.member.1=CAPABILITY_NAMED_IAM`an. Wenn Ihre Vorlage IAM-Ressourcen enthält, können Sie jede der beiden Fähigkeiten angeben. Wenn Ihre Vorlage benutzerdefinierte Namen für IAM-Ressourcen enthält, müssen Sie `CAPABILITY_NAMED_IAM` angeben.

**Wichtig**  
Wenn Ihre Vorlage benutzerdefinierte benannte IAM-Ressourcen enthält, erstellen Sie unter Wiederverwendung der gleichen Vorlage nicht mehrere Stacks. IAM-Ressourcen müssen innerhalb Ihres Kontos global eindeutig sein. Wenn Sie dieselbe Vorlage verwenden, um mehrere Stacks in verschiedenen Regionen zu erstellen, teilen sich Ihre Stacks möglicherweise dieselben IAM-Ressourcen, anstatt dass jeder eine eindeutige hat. Die gemeinsame Verwendung von Ressourcen durch Stacks kann unbeabsichtigte Folgen haben, die nicht rückgängig gemacht werden können. Wenn Sie beispielsweise gemeinsam verwendete IAM-Ressourcen löschen oder aktualisieren, ändern Sie versehentlich die Ressourcen anderer Stacks.

## Verwaltung von Anmeldeinformationen für Anwendungen, die auf Amazon EC2-Instances laufen
<a name="using-iam-manage-creds"></a>

Wenn Sie eine Anwendung haben, die auf einer Amazon-EC2-Instance ausgeführt wird und die Anforderungen an AWS -Ressourcen wie Amazon-S3-Buckets oder eine DynamoDB-Tabelle stellen muss, benötigt die Anwendung AWS -Sicherheitsanmeldeinformationen. Allerdings stellt die Verteilung und Einbettung langfristiger Sicherheitsanmeldeinformationen in jede Instance, die Sie starten, eine Herausforderung und ein potenzielles Sicherheitsrisiko dar. Anstelle von langfristigen Anmeldeinformationen, wie z. B. IAM-Benutzeranmeldeinformationen, empfehlen wir, eine IAM-Rolle zu erstellen, die einer Amazon EC2-Instance zugeordnet wird, wenn die Instance gestartet wird. Eine Anwendung kann dann von der Amazon EC2-Instance temporäre Sicherheitsanmeldeinformationen abrufen. Sie müssen auf der Instance keine langfristigen Anmeldeinformationen einbetten. Um die Verwaltung von Anmeldeinformationen zu erleichtern, können Sie für mehrere Amazon EC2-Instances auch nur eine Rolle angeben; Sie müssen nicht für jede Instance eindeutige Anmeldeinformationen erstellen.

Einen Vorlagenausschnitt, der zeigt, wie eine Instance mit einer Rolle gestartet wird, finden Sie unter [Vorlagenbeispiele für IAM-Rollen](quickref-iam.md#scenarios-iamroles).

**Anmerkung**  
Anwendungen auf Instances, die temporäre Sicherheitsanmeldeinformationen verwenden, können jede beliebige CloudFormation -Aktion aufrufen. Da es jedoch mit vielen anderen AWS Diensten CloudFormation interagiert, müssen Sie sicherstellen, dass alle Dienste, die Sie verwenden möchten, temporäre Sicherheitsanmeldeinformationen unterstützen. Eine Liste der Dienste, die temporäre Sicherheitsnachweise akzeptieren, finden Sie unter [AWS Dienste, die mit IAM arbeiten](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) im *IAM-Benutzerhandbuch*.

## Gewährung von temporärem Zugang (Verbundzugang)
<a name="using-iam-grant-access"></a>

In einigen Fällen möchten Sie Benutzern ohne AWS Anmeldeinformationen möglicherweise temporären Zugriff auf Ihre AWS-Konto gewähren. Verwenden Sie AWS -Security-Token-Service (AWS STS), anstatt langfristige Anmeldeinformationen zu erstellen und zu löschen, wann immer Sie temporären Zugriff gewähren möchten. Sie können beispielsweise IAM-Rollen verwenden. Von einer IAM-Rolle aus können Sie programmgesteuert viele temporäre Sicherheitsanmeldeinformationen (einschließlich eines Zugriffsschlüssels, eines geheimen Zugriffsschlüssels und eines Sicherheits-Tokens) erstellen und dann verteilen. Diese Anmeldeinformationen haben eine begrenzte Lebensdauer, sodass sie AWS-Konto nach Ablauf nicht mehr für den Zugriff auf Ihre Anmeldeinformationen verwendet werden können. Sie können auch mehrere IAM-Rollen erstellen, um einzelnen Benutzern verschiedene Ebenen von Berechtigungen zu gewähren. IAM-Rollen sind nützlich für Szenarien wie verbundene Identitäten und Single Sign-On.

Ein Identitätsverbund ist eine unabhängige Identität, die Sie für mehrere Systeme verwenden können. Bei Enterprise-Benutzern mit einem festgelegten On-Premises-Identitätssystem (wie LDAP oder Active Directory) kann die gesamte Authentifizierung mit Ihrem lokalen Identitätssystem erfolgen. Nachdem ein Benutzer authentifiziert wurde, stellen Sie aus dem entsprechenden IAM-Benutzer oder der entsprechenden IAM-Rolle temporäre Sicherheitsanmeldeinformationen bereit. Sie können beispielsweise eine Administratorrolle und eine Entwicklerrolle erstellen, in denen Administratoren vollen Zugriff auf das AWS Konto haben und Entwickler nur berechtigt sind, mit CloudFormation Stacks zu arbeiten. Nachdem ein Administrator authentifiziert wurde, ist er berechtigt, temporäre Sicherheitsnachweise aus der Administratorenrolle zu erhalten. Entwickler können jedoch nur über die Entwicklerrolle temporäre Sicherheitsanmeldeinformationen erhalten.

Sie können Verbundbenutzern auch Zugriff auf die gewähren. AWS-Managementkonsole Nachdem sich Benutzer bei Ihrem On-Premises-Identitätssystem authentifiziert haben, können Sie programmgesteuert eine temporäre URL erstellen, die direkten Zugriff auf die AWS-Managementkonsole bietet. Wenn Benutzer die temporäre URL verwenden, müssen sie sich nicht anmelden, AWS da sie bereits authentifiziert wurden (Single Sign-On). Da die URL außerdem aus den temporären Sicherheitsanmeldeinformationen des Benutzers erstellt wurde, bestimmen die mit diesen Anmeldeinformationen verfügbaren Berechtigungen, welche Berechtigungen Benutzer in der AWS-Managementkonsole besitzen.

Sie können mehrere verschiedene verwenden, um temporäre Sicherheitsanmeldeinformationen AWS STS APIs zu generieren. Weitere Informationen darüber, welche API Sie verwenden sollten, finden Sie unter [Vergleichen AWS STS Anmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html) im *IAM-Benutzerhandbuch*.

**Wichtig**  
Sie können IAM nicht verwenden, wenn Sie temporäre Sicherheitsanmeldeinformationen verwenden, die über die `GetFederationToken`-API generiert wurden. Wenn Sie IAM verwenden müssen, verwenden Sie stattdessen temporäre Sicherheitsanmeldeinformationen aus einer Rolle.

CloudFormation interagiert mit vielen anderen AWS Diensten. Wenn Sie temporäre Sicherheitsanmeldedaten mit verwenden CloudFormation, stellen Sie sicher, dass alle Dienste, die Sie verwenden möchten, temporäre Sicherheitsanmeldedaten unterstützen. Eine Liste der Dienste, die temporäre Sicherheitsnachweise akzeptieren, finden Sie unter [AWS Dienste, die mit IAM arbeiten](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) im *IAM-Benutzerhandbuch*.

Weitere Informationen finden Sie in den folgenden verwandten Ressourcen im *IAM-Benutzerhandbuch*:
+ [Allgemeine Szenarien für temporäre Anmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction)
+ [Aktivieren Sie den benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)

# Beispiel für identitätsbasierte IAM-Richtlinien für CloudFormation
<a name="security_iam_id-based-policy-examples"></a>

Benutzer und Rollen haben standardmäßig nicht die Berechtigung, CloudFormation-Ressourcen zu erstellen oder zu ändern. Sie können auch keine Aufgaben mithilfe der AWS-Managementkonsole, AWS Command Line Interface (AWS CLI) oder API ausführen. AWS Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen. Der Administrator kann dann die IAM-Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen annehmen. Weitere Informationen finden Sie unter [Definition identitätsbasierter IAM-Richtlinien für CloudFormation](control-access-with-iam.md#iam-id-based-policies).

Die folgenden Beispiele zeigen Richtlinienanweisungen, mit denen Sie Berechtigungen für eine oder mehrere CloudFormation Aktionen zulassen oder verweigern können. 

**Topics**
+ [Eine bestimmte Vorlagen-URL verlangen](#w2aac43c23c17b9)
+ [Alle CloudFormation Importvorgänge ablehnen](#w2aac43c23c17c11)
+ [Importvorgänge für bestimmte Ressourcentypen zulassen](#w2aac43c23c17c13)
+ [IAM-Ressourcen in Stapelvorlagen verweigern](#w2aac43c23c17c15)
+ [Erlauben Sie die Erstellung von Stapeln mit bestimmten Ressourcentypen](#w2aac43c23c17c17)
+ [Zugriffskontrolle basierend auf ressourcenverändernden API-Aktionen](#w2aac43c23c17c19)
+ [Einschränkung von Stack-Set-Operationen basierend auf Region und Ressourcentypen](#resource-level-permissions-service-managed-stack-set)
+ [Erlauben Sie alle IaC-Generatoroperationen](#iam-policy-example-for-iac-generator)

## Eine bestimmte Vorlagen-URL verlangen
<a name="w2aac43c23c17b9"></a>

Die folgende Richtlinie gewährt die Berechtigung, nur die URL der Vorlage `https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template` zum Erstellen oder Aktualisieren eines Stapels zu verwenden.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:UpdateStack"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudformation:TemplateUrl": [
                        "https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template"
                    ]
                }
            }
        }
    ]
}
```

------

## Alle CloudFormation Importvorgänge ablehnen
<a name="w2aac43c23c17c11"></a>

Die folgende Richtlinie gewährt Berechtigungen zum Abschließen aller CloudFormation Vorgänge mit Ausnahme von Importvorgängen.

------
#### [ JSON ]

****  

```
{ 
  "Version":"2012-10-17",		 	 	  
  "Statement": [ 
    { 
      "Sid": "AllowAllStackOperations",
      "Effect": "Allow", 
      "Action": "cloudformation:*", 
      "Resource": "*" 
    }, 
    { 
      "Sid": "DenyImport", 
      "Effect": "Deny", 
      "Action": "cloudformation:*", 
      "Resource": "*",
      "Condition": { 
        "ForAnyValue:StringLike": {
          "cloudformation:ImportResourceTypes": [ 
            "*" 
          ] 
        } 
      } 
    } 
  ] 
}
```

------

## Importvorgänge für bestimmte Ressourcentypen zulassen
<a name="w2aac43c23c17c13"></a>

Die folgende Richtlinie gewährt die Berechtigung für alle Stack-Operationen, zusätzlich zu den Import-Operationen nur für bestimmte Ressourcen (in diesem Beispiel `AWS::S3::Bucket`).

------
#### [ JSON ]

****  

```
{ 
  "Version":"2012-10-17",		 	 	  
  "Statement": [ 
    { 
      "Sid": "AllowImport",
      "Effect": "Allow", 
      "Action": "cloudformation:*", 
      "Resource": "*",
      "Condition": { 
        "ForAllValues:StringEqualsIgnoreCase": {
          "cloudformation:ImportResourceTypes": [ 
            "AWS::S3::Bucket" 
          ] 
        } 
      } 
    } 
  ] 
}
```

------

## IAM-Ressourcen in Stapelvorlagen verweigern
<a name="w2aac43c23c17c15"></a>

Die folgende Richtlinie gewährt die Berechtigung zum Erstellen von Stapeln, verweigert jedoch Anfragen, wenn die Vorlage des Stapels eine Ressource des IAM-Dienstes enthält. Die Richtlinie erfordert außerdem, dass Benutzer den `ResourceTypes`-Parameter angeben, der nur für AWS CLI -API-Anforderungen verfügbar ist. Diese Richtlinie verwendet explizite Zugriffsverweigerungsanweisungen, sodass diese Richtlinie immer wirksam ist, wenn eine andere Richtlinie zusätzliche Berechtigungen gewährt (eine explizite Zugriffsverweigerungsanweisung setzt eine explizite Zugriffserlaubnisanweisung immer außer Kraft).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect" : "Allow",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource" : "*"
    },
    {
      "Effect" : "Deny",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource" : "*",
      "Condition" : {
        "ForAnyValue:StringLikeIfExists" : {
          "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ]
        }
      }
    },
    {
      "Effect": "Deny",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource": "*",
      "Condition": {
        "Null": {
          "cloudformation:ResourceTypes": "true"
        }
      }
    }
  ]
}
```

------

## Erlauben Sie die Erstellung von Stapeln mit bestimmten Ressourcentypen
<a name="w2aac43c23c17c17"></a>

Die folgende Richtlinie ähnelt dem vorherigen Beispiel. Die Richtlinie gewährt die Berechtigung zur Erstellung eines Stacks, sofern die Vorlage des Stacks keine Ressource des IAM-Dienstes enthält. Außerdem müssen Benutzer den `ResourceTypes` Parameter angeben, der nur für AWS CLI API-Anfragen verfügbar ist. Diese Richtlinie ist einfacher, verwendet aber keine expliziten Zugriffsverweigerungsanweisungen. Andere Richtlinien, die zusätzliche Berechtigungen gewähren, könnten diese Richtlinie außer Kraft setzen.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect" : "Allow",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource" : "*",
      "Condition" : {
        "ForAllValues:StringNotLikeIfExists" : {
          "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ]
        },
        "Null":{
          "cloudformation:ResourceTypes": "false"
        }
      }
    }
  ]
}
```

------

## Zugriffskontrolle basierend auf ressourcenverändernden API-Aktionen
<a name="w2aac43c23c17c19"></a>

Die folgende Richtlinie gewährt die Berechtigung, den Zugriff nach dem Namen einer ressourcenverändernden API-Aktion zu filtern. Damit wird gesteuert, mit welchen APIs IAM-Benutzern Tags zu einem Stack oder Stack-Set hinzugefügt oder entfernt werden können. Die Operation, die zum Hinzufügen oder Entfernen von Tags verwendet wird, sollte als Wert für den Bedingungsschlüssel hinzugefügt werden. Die folgende Richtlinie gewährt die Berechtigungen `TagResource` und `UntagResource` für die mutierende Operation `CreateStack`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "CreateActionConditionPolicyForTagUntagResources",
        "Effect": "Allow",
        "Action": [
            "cloudformation:TagResource",
            "cloudformation:UntagResource"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "cloudformation:CreateAction": [
                    "CreateStack"
                ]
            }
        }
    }]
}
```

------

## Einschränkung von Stack-Set-Operationen basierend auf Region und Ressourcentypen
<a name="resource-level-permissions-service-managed-stack-set"></a>

Die folgende Richtlinie gewährt Service-verwaltete Stack-Set-Berechtigungen. Ein Benutzer mit dieser Richtlinie kann nur Vorgänge an Stack-Sets mit Vorlagen durchführen, die Amazon-S3-Ressourcentypen (`AWS::S3::*`) oder den `AWS::SES::ConfigurationSet`-Ressourcentyp enthalten. Wenn der Benutzer mit der ID beim Organisationsverwaltungskonto angemeldet ist`123456789012`, kann er auch nur Operationen an Stack-Sets ausführen, die auf die Organisationseinheit mit der ID abzielen`ou-1fsfsrsdsfrewr`, und er kann nur Operationen an dem Stack-Set mit der ID ausführen`stack-set-id`, das auf die AWS-Konto mit der ID `987654321012` abzielt.

Stack-Set-Operationen schlagen fehl, wenn die Stackset-Vorlage andere als die in der Richtlinie angegebenen Ressourcentypen enthält, oder wenn es sich bei den Bereitstellungszielen um OU oder Konten IDs handelt, die nicht in der Richtlinie für die entsprechenden Verwaltungskonten und Stacksets angegeben sind.

Diese Richtlinien-Einschränkungen gelten nur, wenn Stack-Set-Vorgänge auf die AWS-Regionen`us-east-1`, `us-west-2` oder `eu-west-2` abzielen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:*"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:*:stackset/*",
                "arn:aws:cloudformation:*:*:type/resource/AWS-S3-*",
                "arn:aws:cloudformation:us-west-2:111122223333:type/resource/AWS-SES-ConfigurationSet",
                "arn:aws:cloudformation:*:111122223333:stackset-target/*/ou-1fsfsrsdsfrewr",
                "arn:aws:cloudformation:*:111122223333:stackset-target/stack-set-id/444455556666"
            ],
            "Condition": {
                "ForAllValues:StringEqualsIgnoreCase": {
                    "cloudformation:TargetRegion": [
                        "us-east-1",
                        "us-west-2",
                        "eu-west-1"
                    ]
                }
            }
        }
    ]
}
```

------

## Erlauben Sie alle IaC-Generatoroperationen
<a name="iam-policy-example-for-iac-generator"></a>

Die folgende Richtlinie ermöglicht den Zugriff auf CloudFormation Aktionen im Zusammenhang mit dem Scannen von Ressourcen des IaC-Generators und der Vorlagenverwaltung. Die erste Anweisung gewährt die Berechtigung zum Beschreiben, Auflisten und Starten von Ressourcen-Scans. Sie ermöglicht auch den Zugriff auf zusätzliche erforderliche Berechtigungen (`cloudformation:GetResource`, `cloudformation:ListResources`und `cloudformation:ListTypes`), mit denen der IaC-Generator Informationen über Ressourcen und verfügbare Ressourcentypen abrufen kann. Die zweite Anweisung gewährt volle Berechtigung zum Erstellen, Löschen, Beschreiben, Auflisten und Aktualisieren generierter Vorlagen.

Außerdem müssen Sie jedem, der Ressourcen mit dem IaC-Generator scannt, Leseberechtigungen für die AWS Zieldienste gewähren. Weitere Informationen finden Sie unter [Für das Scannen von Ressourcen erforderliche IAM-Berechtigungen](generate-IaC.md#iac-generator-permissions).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ResourceScanningOperations",
            "Effect":"Allow",
            "Action":[
                "cloudformation:DescribeResourceScan",
                "cloudformation:GetResource",
                "cloudformation:ListResources",
                "cloudformation:ListResourceScanRelatedResources",
                "cloudformation:ListResourceScanResources",
                "cloudformation:ListResourceScans",
                "cloudformation:ListTypes",
                "cloudformation:StartResourceScan"
            ],
            "Resource":"*"
        },
        {
            "Sid":"TemplateGeneration",
            "Effect":"Allow",
            "Action":[
                "cloudformation:CreateGeneratedTemplate",
                "cloudformation:DeleteGeneratedTemplate",
                "cloudformation:DescribeGeneratedTemplate",
                "cloudformation:GetResource",
                "cloudformation:GetGeneratedTemplate",
                "cloudformation:ListGeneratedTemplates",
                "cloudformation:UpdateGeneratedTemplate"
            ],
            "Resource":"*"
        }
    ]
}
```

------

# AWS verwaltete Richtlinien für AWS CloudFormation
<a name="security-iam-awsmanpol"></a>

Eine AWS verwaltete Richtlinie ist eine eigenständige Richtlinie, die von erstellt und verwaltet wird AWS. AWS Verwaltete Richtlinien dienen dazu, Berechtigungen für viele gängige Anwendungsfälle bereitzustellen, sodass Sie damit beginnen können, Benutzern, Gruppen und Rollen Berechtigungen zuzuweisen.

Beachten Sie, dass AWS verwaltete Richtlinien für Ihre speziellen Anwendungsfälle möglicherweise keine Berechtigungen mit den geringsten Rechten gewähren, da sie allen AWS Kunden zur Verfügung stehen. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie [vom Kunden verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind.

Sie können die in AWS verwalteten Richtlinien definierten Berechtigungen nicht ändern. Wenn die in einer AWS verwalteten Richtlinie definierten Berechtigungen AWS aktualisiert werden, wirkt sich das Update auf alle Prinzidentitäten (Benutzer, Gruppen und Rollen) aus, denen die Richtlinie zugeordnet ist. AWS aktualisiert eine AWS verwaltete Richtlinie höchstwahrscheinlich, wenn ein neuer AWS Dienst gestartet wird oder neue API-Operationen für bestehende Dienste verfügbar werden.

Weitere Informationen finden Sie unter [Von AWS verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) im *IAM-Benutzerhandbuch*.

## AWS verwaltete Richtlinie: AWSCloud FormationFullAccess
<a name="security-iam-awsmanpol-AWSCloudFormationFullAccess"></a>

Sie können `AWSCloudFormationFullAccess` an Ihre Benutzer, Gruppen und Rollen anfügen.

Diese Richtlinie gewährt Berechtigungen, die den vollen Zugriff auf CloudFormation Aktionen und Ressourcen ermöglichen.

**Details zu Berechtigungen**

Diese Richtlinie umfasst die folgenden Berechtigungen.
+ `cloudformation`— Ermöglicht Prinzipalen, alle CloudFormation Aktionen für alle Ressourcen auszuführen.

Die Berechtigungen für diese Richtlinie finden Sie [AWSCloudFormationFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudFormationFullAccess.html)im *Referenzhandbuch für AWS verwaltete Richtlinien.*

## AWS verwaltete Richtlinie: AWSCloud FormationReadOnlyAccess
<a name="security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess"></a>

Sie können `AWSCloudFormationReadOnlyAccess` an Ihre Benutzer, Gruppen und Rollen anfügen.

Diese Richtlinie gewährt Berechtigungen, die den schreibgeschützten Zugriff auf CloudFormation Ressourcen und Aktionen ermöglichen.

**Details zu Berechtigungen**

Diese Richtlinie umfasst die folgenden Berechtigungen.
+ `cloudformation`— Ermöglicht Prinzipalen das Ausführen schreibgeschützter CloudFormation Aktionen wie das Beschreiben von Stacks, das Auflisten von Ressourcen und das Anzeigen von Vorlagen, aber nicht das Erstellen, Aktualisieren oder Löschen von Stacks.

*Die Berechtigungen für diese Richtlinie finden Sie [AWSCloudFormationReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudFormationReadOnlyAccess.html)im Referenzhandbuch für verwaltete Richtlinien.AWS *

## CloudFormation Aktualisierungen AWS verwalteter Richtlinien
<a name="security-iam-awsmanpol-updates"></a>

Hier finden Sie Informationen zu Aktualisierungen AWS verwalteter Richtlinien CloudFormation seit Beginn der Nachverfolgung dieser Änderungen durch diesen Dienst. Abonnieren Sie den RSS-Feed auf der Seite CloudFormation Dokumentenverlauf, um automatische Benachrichtigungen über Änderungen an dieser Seite zu erhalten.


| Änderungen | Beschreibung | Datum | 
| --- | --- | --- | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) – Aktualisierung auf eine bestehende Richtlinie  |  CloudFormation Es wurden neue Berechtigungen hinzugefügt, um `cloudformation:BatchDescribe*` Aktionen für Batch-Describe-Operationen zuzulassen.  | 30. Januar 2026 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) – Aktualisierung auf eine bestehende Richtlinie  |  CloudFormation neue Berechtigungen wurden hinzugefügt, um `cloudformation:Detect*` Aktionen für Funktionen zur Erkennung von Stack-Drift zu ermöglichen.  | 13. November 2019 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) – Aktualisierung auf eine bestehende Richtlinie  |  CloudFormation neue Berechtigungen zum Zulassen `cloudformation:EstimateTemplateCost``cloudformation:Get*`, und `cloudformation:ValidateTemplate` Aktionen hinzugefügt.  | 2. November 2017 | 
|  [AWSCloudFormationFullAccess](#security-iam-awsmanpol-AWSCloudFormationFullAccess) – Neue Richtlinie  |  CloudFormation hat eine neue AWS verwaltete Richtlinie hinzugefügt, die vollen Zugriff auf CloudFormation Aktionen und Ressourcen bietet.  | 26. Juli 2019 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) – Aktualisierung auf eine bestehende Richtlinie  |  CloudFormation neue Zugriffsberechtigungen `cloudformation:DetectStackDrift` und `cloudformation:DetectStackResourceDrift` Aktionen zur Erkennung von Stack-Drift hinzugefügt.  | 6. Februar 2019 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) – Neue Richtlinie  |  CloudFormation hat eine neue AWS verwaltete Richtlinie hinzugefügt, die nur Lesezugriff auf CloudFormation Aktionen und Ressourcen bietet.  | 6. Februar 2015 | 
|  CloudFormation hat begonnen, Änderungen zu verfolgen  |  CloudFormation hat begonnen, Änderungen für die AWS verwalteten Richtlinien zu verfolgen.  | 6. Februar 2015 | 

# CloudFormation Servicerolle
<a name="using-iam-servicerole"></a>

Eine *Servicerolle* ist eine AWS Identity and Access Management (IAM-) Rolle, mit der CloudFormation Sie in Ihrem Namen Ressourcen in einem Stack aufrufen können. Sie können eine IAM-Rolle festlegen, die CloudFormation berechtigt, Stack-Ressourcen zu erstellen, zu aktualisieren oder zu löschen. CloudFormation Verwendet standardmäßig eine temporäre Sitzung, die aus Ihren Benutzeranmeldeinformationen für Stack-Operationen generiert wird. Wenn Sie eine Servicerolle angeben, CloudFormation verwendet die Anmeldeinformationen dieser Rolle.

Verwenden Sie eine Servicerolle, um explizit anzugeben, welche Aktionen ausgeführt werden CloudFormation können. Dabei handelt es sich möglicherweise nicht immer um dieselben Aktionen, die Sie oder andere Benutzer ausführen können. Beispielsweise verfügen Sie möglicherweise über Administratorrechte, können den CloudFormation Zugriff jedoch nur auf EC2 Amazon-Aktionen beschränken.

Sie erstellen die Service-Rolle und die Berechtigungsrichtlinie mit dem IAM-Service. Weitere Informationen zum Erstellen einer Servicerolle finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen für einen AWS Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*. Legen Sie CloudFormation (`cloudformation.amazonaws.com`) als den Dienst fest, der die Rolle annehmen kann.

Um eine Service-Rolle einem Stack zuzuordnen, legen Sie die Rolle beim Erstellen des Stack fest. Details hierzu finden Sie unter [Stapeloptionen konfigurieren](cfn-console-create-stack.md#configure-stack-options). Sie können die Service-Rolle auch ändern, wenn Sie den Stack in der Konsole aktualisieren, oder [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStack.html) den Stack über die API. Bevor Sie eine Service-Rolle festlegen, stellen Sie sicher, dass Sie über die Berechtigung zum Weiterleiten (`iam:PassRole`) verfügen. Die `iam:PassRole`-Berechtigung gibt an, welche Rollen Sie verwenden können. Weitere Informationen finden Sie im [*IAM-Benutzerhandbuch* unter Gewähren von Benutzerberechtigungen zur Übergabe einer Rolle an einen AWS Dienst](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).

**Wichtig**  
Wenn Sie eine Servicerolle angeben, verwendet diese Rolle CloudFormation immer für alle Operationen, die auf diesem Stack ausgeführt werden. Es ist nicht möglich, eine Service-Rolle zu entfernen, die einem Stack zugewiesen ist, nachdem der Stack erstellt wurde. Andere Benutzer, die die Berechtigung haben, Operationen auf diesem Stapel durchzuführen, können diese Rolle verwenden, unabhängig davon, ob diese Benutzer die Berechtigung `iam:PassRole` haben oder nicht. Wenn die Rolle Berechtigungen umfasst, die der Benutzer nicht haben sollte, können Sie die Berechtigungen eines Benutzers versehentlich weiterleiten. Stellen Sie sicher, dass die Rolle die geringsten Rechte zugesteht. Weitere Informationen finden Sie unter [Anwenden von Berechtigungen mit geringsten Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) im *IAM-Benutzerhandbuch*.

# Serviceübergreifende Confused-Deputy-Prävention
<a name="cross-service-confused-deputy-prevention"></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. In AWS kann ein dienstübergreifendes Identitätswechsels zu einem Problem mit dem verwirrten Stellvertreter 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 [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 , die einem anderen Dienst eine bestimmte Ressource, z. B. eine CloudFormation Erweiterung, gewähren. Verwenden Sie `aws:SourceArn`, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten. Verwenden Sie `aws:SourceAccount`, wenn Sie zulassen möchten, dass Ressourcen in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft werden.

Stellen Sie sicher, dass der Wert von ein ARN der Ressource `aws:SourceArn` ist, die CloudFormation gespeichert wird.

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:*`.

Wenn der Wert `aws:SourceArn` nicht die Konto-ID enthält, müssen Sie beide globalen Bedingungskontextschlüssel verwenden, um die Berechtigungen zu begrenzen.

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel `aws:SourceArn` und die `aws:SourceAccount` globale Bedingung verwenden können, CloudFormation um das Problem des verwirrten Stellvertreters zu vermeiden.

## Beispiel einer Vertrauensrichtlinie, die die Bedingungsschlüssel `aws:SourceArn` und `aws:SourceAccount` verwendet
<a name="cross-service-confused-deputy-prevention-example"></a>

Ruft bei Registrierungsdiensten AWS -Security-Token-Service (AWS STS) auf, CloudFormation um eine Dienstrolle in Ihrem Konto zu übernehmen. Diese Rolle ist für `ExecutionRoleArn` in der [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html) Operation und `LogRoleArn` in der [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_LoggingConfig.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_LoggingConfig.html) Operation konfiguriert. Weitere Informationen finden Sie unter [Konfigurieren Sie eine Ausführungsrolle mit IAM-Berechtigungen und einer Vertrauensrichtlinie für den öffentlichen Erweiterungszugriff](registry-public.md#registry-public-enable-execution-role).

Dieses Beispiel für eine Vertrauensrichtlinie für Rollen verwendet Bedingungsanweisungen, um die `AssumeRole` Funktionalität der Servicerolle auf Aktionen für die angegebene CloudFormation Erweiterung im angegebenen Konto zu beschränken. Die Bedingungen `aws:SourceArn` und `aws:SourceAccount` werden unabhängig ausgewertet. Jede Anforderung, die Servicerolle zu verwenden, muss beide Bedingungen erfüllen.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "resources.cloudformation.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:cloudformation:us-east-1:123456789012:type/resource/Organization-Service-Resource"
        }
      }
    }
  ]
}
```

------

## Zusätzliche Informationen
<a name="cross-service-confused-deputy-prevention-additional-information"></a>

Richtlinien, die beispielsweise die Kontextschlüssel `aws:SourceArn` und die `aws:SourceAccount` globalen Bedingungsschlüssel für eine von verwendete Servicerolle verwenden StackSets, finden Sie unter[Richten Sie globale Schlüssel ein, um Confused-Deputy-Probleme zu mindern.](stacksets-prereqs-self-managed.md#confused-deputy-mitigation).

Weitere Informationen finden Sie unter [Aktualisieren einer Rollenvertrauensrichtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html) im *IAM-Benutzerhandbuch*.

# Weiterleitung von Zugriffsanfragen (FAS) und Bewertung von Berechtigungen
<a name="fas-requests-and-permission-evaluation"></a>

Beim Erstellen, Aktualisieren und Löschen von CloudFormation Stacks können Benutzer optional einen IAM-Rollen-ARN angeben. Wenn keine Rolle bereitgestellt wird, CloudFormation verwendet es seinen Standarddienstmechanismus, um mit anderen AWS Diensten zu interagieren. In diesem Szenario muss der Aufrufer über die erforderlichen Berechtigungen für die zu verwaltenden Ressourcen verfügen. Wenn ein Benutzer seine eigene IAM-Rolle angibt, CloudFormation übernimmt er diese Rolle, um in seinem Namen Dienstinteraktionen durchzuführen.

Unabhängig davon, ob der Benutzer eine IAM-Rolle bereitstellt, CloudFormation generiert es für jeden Ressourcenvorgang ein neues, abgegrenztes FAS-Token. Folglich werden die [FAS-bezogenen Bedingungsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html#access_fas_policy_conditions), einschließlich,`aws:ViaAWSService` in beiden Szenarien ausgefüllt.

Die Verwendung von FAS wirkt sich darauf aus, wie IAM-Richtlinien während des Betriebs bewertet werden. CloudFormation Wenn Sie einen Stapel mit einer Vorlage erstellen, die Ressourcen enthält, die von FAS-bezogenen Bedingungsschlüsseln betroffen sind, kann es zu einer Verweigerung von Berechtigungen kommen.

**Beispiel für eine IAM-Richtlinie**  
Beachten Sie die folgende IAM-Richtlinie. `Statement2`verhindert konsequent die Erstellung einer `AWS::KMS::Key` Ressource in CloudFormation. Die Einschränkung wird konsequent durchgesetzt, unabhängig davon, ob während des Stack-Vorgangs eine IAM-Rolle angegeben wird oder nicht. Das liegt daran, dass der Bedingungsschlüssel `aws:ViaAWSService` aufgrund der Verwendung von FAS immer auf `true` gesetzt ist. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": [
                "kms:CreateKey"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "Statement2",
            "Effect": "Deny",
            "Action": [
                "kms:CreateKey"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "Bool": {
                    "aws:ViaAWSService": "true"
                }
            }
        }
    ]
}
```

------

**Beispiel Stapelvorlage**  
Wenn ein Benutzer beispielsweise einen Stapel mit der folgenden Beispielvorlage erstellt, wird `aws:ViaAWSService` auf `true`gesetzt, und die Rollenberechtigungen werden durch die FAS-Richtlinie außer Kraft gesetzt. Die Erstellung von Stapeln wird durch `Statement2` der IAM-Richtlinie beeinflusst, die die Aktion `CreateKey` verweigert. Dies führt zu einem Fehler mit verweigerter Berechtigung. 

```
Resources:
  myPrimaryKey:
    Type: AWS::KMS::Key
    Properties:
      Description: An example multi-Region primary key
      KeyPolicy:
        Version: '2012-10-17'
        Id: key-default-1
        Statement:
          - Sid: Enable IAM User Permissions
            Effect: Allow
            Principal:
              AWS: !Join
                - ''
                - - 'arn:aws:iam::'
                  - !Ref AWS::AccountId
                  - ':root'
            Action: kms:*
            Resource: '*'
```

Weitere Informationen über FAS finden Sie unter [Forward access sessions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) im *IAM User Guide*.

**Anmerkung**  
Die meisten Ressourcen halten sich an dieses Verhalten. Wenn Sie jedoch beim Erstellen, Aktualisieren oder Löschen einer Ressource einen unerwarteten Erfolg oder Misserfolg erleben und Ihre IAM-Richtlinie FAS-bezogene Bedingungsschlüssel enthält, gehört die betreffende Ressource wahrscheinlich zu einer kleinen Untergruppe von Ressourcen, die nicht diesem Standardmuster folgen.

# CloudFormation API-Aufrufe protokollieren mit AWS CloudTrail
<a name="cfn-api-logging-cloudtrail"></a>

CloudFormation ist in einen Dienst integriert AWS CloudTrail, der eine Aufzeichnung der Aktionen bereitstellt, die von einem Benutzer, einer Rolle oder einem AWS Dienst in ausgeführt wurden CloudFormation. CloudTrail erfasst alle API-Aufrufe CloudFormation als Ereignisse, einschließlich Aufrufe von der CloudFormation Konsole und von Codeaufrufen an die CloudFormation APIs. Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Bereitstellung von CloudTrail Ereignissen an einen Amazon S3 S3-Bucket aktivieren, einschließlich Ereignissen für CloudFormation. Wenn Sie keinen Trail konfigurieren, können Sie die neuesten Ereignisse trotzdem in der CloudTrail Konsole im **Ereignisverlauf** anzeigen. Anhand der von gesammelten Informationen können Sie die Anfrage ermitteln CloudTrail, an die die Anfrage gestellt wurde CloudFormation, die IP-Adresse, von der aus die Anfrage gestellt wurde, wer die Anfrage gestellt hat, wann sie gestellt wurde, und weitere Details.

Weitere Informationen CloudTrail dazu finden Sie im [AWS CloudTrail Benutzerhandbuch](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

**Topics**
+ [CloudFormation Informationen in CloudTrail](#cloudformation_info_in_cloudtrail)
+ [CloudFormation Logdateieinträge verstehen](#understanding_cloudformation_entries)

## CloudFormation Informationen in CloudTrail
<a name="cloudformation_info_in_cloudtrail"></a>

CloudTrail ist in Ihrem AWS Konto aktiviert, wenn Sie das Konto erstellen. Wenn eine Aktivität in stattfindet CloudFormation, wird diese Aktivität zusammen mit anderen CloudTrail AWS Serviceereignissen im **Ereignisverlauf in einem Ereignis** aufgezeichnet. Sie können die neusten Ereignisse in Ihr AWS -Konto herunterladen und dort suchen und anzeigen. Weitere Informationen finden Sie unter [Ereignisse mit CloudTrail Ereignisverlauf anzeigen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Für eine fortlaufende Aufzeichnung der Ereignisse in Ihrem AWS Konto, einschließlich der Ereignisse für CloudFormation, erstellen Sie einen Trail. Ein Trail ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3 S3-Bucket. Wenn Sie ein Trail in der Konsole anlegen, gilt dieser für alle Regionen. Der Trail protokolliert Ereignisse aus allen Regionen der AWS Partition und übermittelt die Protokolldateien an den von Ihnen angegebenen Amazon S3 S3-Bucket. Darüber hinaus können Sie andere AWS Dienste konfigurieren, um die in den CloudTrail Protokollen gesammelten Ereignisdaten weiter zu analysieren und darauf zu reagieren. Weitere Informationen finden Sie unter:
+ [Übersicht zum Erstellen eines Trails](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail unterstützte Dienste und Integrationen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Konfiguration von Amazon SNS SNS-Benachrichtigungen für CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Empfangen von CloudTrail Protokolldateien aus mehreren Regionen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) und [Empfangen von CloudTrail Protokolldateien von mehreren Konten](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Alle CloudFormation Aktionen werden von der [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Operations.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Operations.html) protokolliert CloudTrail und sind in dieser dokumentiert. Beispielsweise generieren Aufrufe der `ListStacks` Abschnitte `CreateStack``DeleteStack`, und Einträge in den CloudTrail Protokolldateien.

Jeder Ereignis- oder Protokolleintrag enthält Informationen zu dem Benutzer, der die Anforderung generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte:
+ Gibt an, ob die Anforderung mit Root- oder IAM-Benutzer-Anmeldeinformationen ausgeführt wurde.
+ Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.
+ Ob die Anfrage von einem anderen AWS Dienst gestellt wurde.

Weitere Informationen finden Sie unter [CloudTrail -Element userIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## CloudFormation Logdateieinträge verstehen
<a name="understanding_cloudformation_entries"></a>

Ein Trail ist eine Konfiguration, die die Übertragung von Ereignissen als Protokolldateien an einen von Ihnen angegebenen Amazon S3 S3-Bucket ermöglicht. CloudTrail Protokolldateien enthalten einen oder mehrere Protokolleinträge. Ein Ereignis stellt eine einzelne Anforderung aus einer beliebigen Quelle dar und enthält Informationen über den angeforderten Vorgang, Datum und Uhrzeit des Vorgangs, Anforderungsparameter usw. CloudTrail Protokolldateien sind kein geordneter Stack-Trace der öffentlichen API-Aufrufe, sodass sie nicht in einer bestimmten Reihenfolge angezeigt werden.

Das folgende Beispiel zeigt einen CloudTrail Protokolleintrag, der den `CreateStack` Vorgang demonstriert. Die Aktion wurde von dem IAM-Benutzer Alice ausgeführt.

**Anmerkung**  
Nur die Schlüsselnamen der Eingabeparameter werden protokolliert. Parameterwerte werden nicht protokolliert.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:02:43Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "CreateStack",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "templateURL": "templateURL",
    "tags": [
      {
        "key": "test",
        "value": "tag"
      }
    ],
    "stackName": "my-test-stack",
    "disableRollback": true,
    "parameters": [
      {
        "parameterKey": "password"
      },
      {
        "parameterKey": "securitygroup"
      }
    ]
  },
  "responseElements": {
    "stackId": "arn:aws:cloudformation:us-east-1:012345678910:stack/my-test-stack/a38e6a60-b397-11e3-b0fc-08002755629e"
  },
  "requestID": "9f960720-b397-11e3-bb75-a5b75389b02d",
  "eventID": "9bf6cfb8-83e1-4589-9a70-b971e727099b"
}
```

Das folgende Beispiel zeigt, dass Alice den `UpdateStack`-Vorgang auf dem `my-test-stack` Stack aufgerufen hat:

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:04:29Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "UpdateStack",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "templateURL": "templateURL",
    "parameters": [
      {
        "parameterKey": "password"
      },
      {
        "parameterKey": "securitygroup"
      }
    ],
    "stackName": "my-test-stack"
  },
  "responseElements": {
    "stackId": "arn:aws:cloudformation:us-east-1:012345678910:stack/my-test-stack/a38e6a60-b397-11e3-b0fc-08002755629e"
  },
  "requestID": "def0bf5a-b397-11e3-bb75-a5b75389b02d",
  "eventID": "637707ce-e4a3-4af1-8edc-16e37e851b17"
}
```

Das folgende Beispiel zeigt, dass Alice den `ListStacks`-Vorgang aufgerufen hat.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:03:16Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "ListStacks",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": null,
  "responseElements": null,
  "requestID": "b7d351d7-b397-11e3-bb75-a5b75389b02d",
  "eventID": "918206d0-7281-4629-b778-b91eb0d83ce5"
}
```

Das folgende Beispiel zeigt, dass Alice den `DescribeStacks`-Vorgang auf dem `my-test-stack`-Stack aufgerufen hat.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:06:15Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "DescribeStacks",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "stackName": "my-test-stack"
  },
  "responseElements": null,
  "requestID": "224f2586-b398-11e3-bb75-a5b75389b02d",
  "eventID": "9e5b2fc9-1ba8-409b-9c13-587c2ea940e2"
}
```

Das folgende Beispiel zeigt, dass Alice den `DeleteStack`-Vorgang auf dem `my-test-stack`-Stack aufgerufen hat.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:07:15Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "DeleteStack",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "stackName": "my-test-stack"
  },
  "responseElements": null,
  "requestID": "42dae739-b398-11e3-bb75-a5b75389b02d",
  "eventID": "4965eb38-5705-4942-bb7f-20ebe79aa9aa"
}
```

# Infrastruktursicherheit in CloudFormation
<a name="infrastructure-security"></a>

Als verwalteter Dienst AWS CloudFormation ist er durch AWS globale Netzwerksicherheit geschützt. Informationen zu AWS Sicherheitsdiensten und zum AWS Schutz der Infrastruktur finden Sie unter [AWS Cloud-Sicherheit](https://aws.amazon.com/security/). Informationen zum Entwerfen Ihrer AWS Umgebung unter Verwendung der bewährten Methoden für die Infrastruktursicherheit finden Sie unter [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected Framework*.

Sie verwenden AWS veröffentlichte API-Aufrufe für den Zugriff CloudFormation über das Netzwerk. Kunden müssen Folgendes unterstützen:
+ Transport Layer Security (TLS). Wir benötigen TLS 1.2 und empfehlen TLS 1.3.
+ Verschlüsselungs-Suiten mit Perfect Forward Secrecy (PFS) wie DHE (Ephemeral Diffie-Hellman) oder ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Die meisten modernen Systeme wie Java 7 und höher unterstützen diese Modi.

Sie können diese API-Operationen von jedem Netzwerkstandort aus aufrufen, CloudFormation unterstützt jedoch ressourcenbasierte Zugriffsrichtlinien, die Einschränkungen auf der Grundlage der Quell-IP-Adresse beinhalten können. Sie können auch CloudFormation Richtlinien verwenden, um den Zugriff von bestimmten Amazon Virtual Private Cloud (Amazon VPC) -Endpunkten oder bestimmten zu kontrollieren. VPCs Dadurch wird der Netzwerkzugriff auf eine bestimmte CloudFormation Ressource effektiv nur von der spezifischen VPC innerhalb des AWS Netzwerks isoliert.

# Resilienz in CloudFormation
<a name="disaster-recovery-resiliency"></a>

Die AWS globale Infrastruktur basiert auf AWS Regionen und Availability Zones. AWS Regionen bieten mehrere physisch getrennte und isolierte Availability Zones, die über Netzwerke mit niedriger Latenz, hohem Durchsatz und hoher Redundanz miteinander verbunden sind. Mithilfe von Availability Zones können Sie Anwendungen und Datenbanken erstellen und ausführen, die automatisch Failover zwischen Zonen ausführen, ohne dass es zu Unterbrechungen kommt. Availability Zones sind besser verfügbar, fehlertoleranter und skalierbarer als herkömmliche Infrastrukturen mit einem oder mehreren Rechenzentren. 

Weitere Informationen zu AWS Regionen und Availability Zones finden Sie unter [AWS Globale](https://aws.amazon.com/about-aws/global-infrastructure/) Infrastruktur.

# Konformitätsvalidierung für CloudFormation
<a name="cloudformation-compliance"></a>

Informationen darüber, ob AWS-Service ein [AWS-Services in den Geltungsbereich bestimmter Compliance-Programme fällt, finden Sie unter Umfang nach Compliance-Programm AWS-Services unter](https://aws.amazon.com/compliance/services-in-scope/) . Wählen Sie dort das Compliance-Programm aus, an dem Sie interessiert sind. Allgemeine Informationen finden Sie unter [AWS Compliance-Programme AWS](https://aws.amazon.com/compliance/programs/) .

Sie können Prüfberichte von Drittanbietern unter herunterladen AWS Artifact. Weitere Informationen finden Sie unter [Berichte herunterladen unter ](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html).

Ihre Verantwortung für die Einhaltung der Vorschriften bei der Nutzung AWS-Services hängt von der Vertraulichkeit Ihrer Daten, den Compliance-Zielen Ihres Unternehmens und den geltenden Gesetzen und Vorschriften ab. Weitere Informationen zu Ihrer Verantwortung für die Einhaltung der Vorschriften bei der Nutzung AWS-Services finden Sie in der [AWS Sicherheitsdokumentation](https://docs.aws.amazon.com/security/).

# Konfiguration und Schwachstellenanalyse in CloudFormation
<a name="vulnerability-analysis-and-management"></a>

Konfiguration und IT-Kontrollen liegen in der gemeinsamen Verantwortung AWS von Ihnen, unserem Kunden. Weitere Informationen finden Sie im [Modell der AWS gemeinsamen Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/).

# Bewährte Sicherheitsmethoden für CloudFormation
<a name="security-best-practices"></a>

CloudFormation bietet eine Reihe von Sicherheitsfunktionen, die Sie bei der Entwicklung und Implementierung Ihrer eigenen Sicherheitsrichtlinien berücksichtigen sollten. Die folgenden bewährten Methoden sind allgemeine Richtlinien und keine vollständige Sicherheitslösung. Da diese bewährten Methoden für Ihre Umgebung möglicherweise nicht angemessen oder ausreichend sind, sollten Sie sie als hilfreiche Überlegungen und nicht als bindend ansehen.

**Topics**
+ [Verwendung von IAM für die Zugriffskontrolle](#use-iam-to-control-access)
+ [Keine Anmeldeinformationen in Vorlagen einbetten](#creds)
+ [Wird verwendet AWS CloudTrail , um CloudFormation Anrufe zu protokollieren](#cloudtrail)

## Verwendung von IAM für die Zugriffskontrolle
<a name="use-iam-to-control-access"></a>

IAM ist ein AWS Dienst, mit dem Sie Benutzer und deren Berechtigungen verwalten können. AWS Sie können IAM with verwenden CloudFormation , um festzulegen, welche CloudFormation Aktionen Benutzer ausführen können, z. B. das Anzeigen von Stack-Vorlagen, das Erstellen von Stacks oder das Löschen von Stacks. Darüber hinaus benötigt jeder, der CloudFormation Stacks verwaltet, Berechtigungen für Ressourcen innerhalb dieser Stacks. Wenn Benutzer beispielsweise EC2 Amazon-Instances starten, aktualisieren oder beenden möchten, müssen sie über die Erlaubnis verfügen, die entsprechenden EC2 Amazon-Aktionen aufzurufen. CloudFormation 

In den meisten Fällen benötigen Benutzer vollen Zugriff, um alle Ressourcen in einer Vorlage zu verwalten. CloudFormation führt Aufrufe durch, um diese Ressourcen in ihrem Namen zu erstellen, zu ändern und zu löschen. Verwenden Sie eine Servicerolle, um die Berechtigungen zwischen einem Benutzer und dem CloudFormation Service zu trennen. CloudFormation verwendet anstelle der Benutzerrichtlinie die Richtlinie der Servicerolle, um Anrufe zu tätigen. Weitere Informationen finden Sie unter [CloudFormation Servicerolle](using-iam-servicerole.md).

## Keine Anmeldeinformationen in Vorlagen einbetten
<a name="creds"></a>

Anstatt vertrauliche Informationen in Ihre CloudFormation Vorlagen einzubetten, empfehlen wir Ihnen, *dynamische Verweise* in Ihrer Stack-Vorlage zu verwenden.

Dynamische Verweise bieten eine kompakte und leistungsstarke Möglichkeit, auf externe Werte zu verweisen, die in anderen Diensten gespeichert und verwaltet werden, z. B. im AWS Systems Manager Parameter Store oder AWS Secrets Manager. Wenn Sie eine dynamische Referenz verwenden, CloudFormation ruft sie den Wert der angegebenen Referenz ab, falls dies bei Stack- und Änderungsset-Vorgängen erforderlich ist, und übergibt den Wert an die entsprechende Ressource. Speichert jedoch CloudFormation niemals den tatsächlichen Referenzwert. Weitere Informationen finden Sie unter [Abrufen von in anderen Diensten gespeicherten Werten mit Hilfe von dynamischen Referenzen](dynamic-references.md).

[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) hilft Ihnen, die Anmeldeinformationen für Ihre Datenbanken und Services sicher zu verschlüsseln, zu speichern und wieder abzurufen. Der [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) ermöglicht eine sichere, hierarchische Speicherung für die Konfigurationsdatenverwaltung. 

Für weitere Informationen zum Definieren von Vorlagenparametern siehe [CloudFormation ParametersVorlagensyntax](parameters-section-structure.md).

## Wird verwendet AWS CloudTrail , um CloudFormation Anrufe zu protokollieren
<a name="cloudtrail"></a>

AWS CloudTrail verfolgt jeden, der CloudFormation API-Aufrufe in Ihrem macht AWS-Konto. API-Aufrufe werden protokolliert, wenn jemand die CloudFormation API, die CloudFormation Konsole, eine Back-End-Konsole oder CloudFormation AWS CLI Befehle verwendet. Aktivieren Sie die Protokollierung und legen Sie einen Amazon-S3-Bucket zum Speichern der Protokolle fest. Auf diese Weise können bei Bedarf Sie nachvollziehen, wer welche CloudFormation-Aufruf in Ihrem Konto ausgeführt hat. Weitere Informationen finden Sie unter [CloudFormation API-Aufrufe protokollieren mit AWS CloudTrail](cfn-api-logging-cloudtrail.md).

# Zugriff CloudFormation über einen Schnittstellenendpunkt (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

Sie können verwenden AWS PrivateLink , um eine private Verbindung zwischen Ihrer VPC und CloudFormation herzustellen. Sie können darauf zugreifen, CloudFormation als ob es in Ihrer VPC wäre, ohne ein Internet-Gateway, ein NAT-Gerät, eine VPN-Verbindung oder Direct Connect eine Verbindung zu verwenden. Instances in Ihrer VPC benötigen für den Zugriff CloudFormation keine öffentlichen IP-Adressen.

Sie stellen diese private Verbindung her, indem Sie einen *Schnittstellen-Endpunkt* erstellen, der von AWS PrivateLink unterstützt wird. Wir erstellen eine Endpunkt-Netzwerkschnittstelle in jedem Subnetz, das Sie für den Schnittstellen-Endpunkt aktivieren. Hierbei handelt es sich um vom Anforderer verwaltete Netzwerkschnittstellen, die als Eingangspunkt für den Datenverkehr dienen, der für CloudFormation bestimmt ist. 

CloudFormation unterstützt Aufrufe aller API-Aktionen über den Schnittstellenendpunkt.

## Überlegungen zu CloudFormation VPC-Endpunkten
<a name="vpc-endpoint-considerations"></a>

Bevor Sie einen Schnittstellenendpunkt einrichten, stellen Sie zunächst sicher, dass Sie die Voraussetzungen im Thema [Zugriff auf einen AWS Dienst mithilfe eines VPC-Schnittstellen-Endpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) im *AWS PrivateLink Handbuch* erfüllt haben.

Die folgenden zusätzlichen Voraussetzungen und Überlegungen gelten für die Einrichtung eines Schnittstellenendpunkts für CloudFormation:
+ Wenn Sie Ressourcen in Ihrer VPC haben, die auf eine benutzerdefinierte Ressourcenanfrage oder eine Wartebedingung antworten müssen, stellen Sie sicher, dass sie Zugriff auf die erforderlichen CloudFormation spezifischen Amazon S3 S3-Buckets haben. CloudFormation [verfügt über S3-Buckets in jeder Region, um Antworten auf eine [benutzerdefinierte Ressourcenanfrage oder eine Wartebedingung](template-custom-resources.md) zu überwachen.](using-cfn-waitcondition.md) Wenn eine Vorlage benutzerdefinierte Ressourcen oder Wartebedingungen in einer VPC enthält, muss die VPC-Endpunktrichtlinie Benutzern ermöglichen, Antworten auf die folgenden Buckets zu senden:
  + Lassen Sie bei benutzerdefinierten Ressourcen Datenverkehr zum `cloudformation-custom-resource-response-region`-Bucket zu. Bei der Verwendung benutzerdefinierter Ressourcen enthalten AWS-Region Namen keine Bindestriche. Beispiel, `uswest2`.
  + Lassen Sie bei Wartebedingungen Datenverkehr zum `cloudformation-waitcondition-region`-Bucket zu. Bei der Verwendung von Wartebedingungen enthalten AWS-Region Namen Bindestriche. Beispiel, `us-west-2`.

  Wenn die Endpunktrichtlinie den Datenverkehr zu diesen Buckets blockiert, CloudFormation werden keine Antworten empfangen und der Stack-Vorgang schlägt fehl. Wenn Sie beispielsweise eine Ressource in einer VPC in der `us-west-2`-Region haben, die auf eine Wartebedingung reagieren muss, muss die Ressource in der Lage sein, eine Antwort auf den `cloudformation-waitcondition-us-west-2`-Bucket zu senden.

  Eine Liste der Anbieter, die AWS-Regionen CloudFormation derzeit verfügbar sind, finden Sie auf der Seite [CloudFormation Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/cfn.html) im. *Allgemeine Amazon Web Services-Referenz*
+ VPC-Endpunkte unterstützen derzeit keine regionsübergreifenden Anfragen. Stellen Sie sicher, dass Sie Ihren Endpunkt in derselben Region erstellen, in der Sie Ihre API-Aufrufe tätigen möchten. CloudFormation
+ VPC-Endpunkte unterstützen nur Amazon-bereitgestellte DNS über Route 53. Wenn Sie Ihre eigene DNS verwenden möchten, können Sie die bedingte DNS-Weiterleitung nutzen. Weitere Informationen finden Sie unter [DHCP options sets in Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) im Amazon VPC User Guide.
+ Die Sicherheitsgruppe für den VPC-Endpunkt müssen eingehende Verbindungen auf Port 443 aus dem privaten Subnetz der VPC zulassen.

## Erstellen eines Schnittstellen-VPC-Endpunkts für CloudFormation
<a name="vpc-endpoint-create"></a>

Sie können einen VPC-Endpunkt für die CloudFormation Verwendung entweder der Amazon VPC-Konsole oder der AWS Command Line Interface ()AWS CLI erstellen. Weitere Informationen finden Sie unter [Erstellen eines VPC-Endpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) im *AWS PrivateLink -Leitfaden*.

Erstellen Sie einen Schnittstellenendpunkt für die CloudFormation Verwendung des folgenden Servicenamens:
+ **com.amazonaws. *region*.cloudformation** — Erstellt einen Endpunkt für API-Operationen. CloudFormation 

Wenn Sie privates DNS für den Schnittstellenendpunkt aktivieren, können Sie API-Anfragen CloudFormation unter Verwendung des standardmäßigen regionalen DNS-Namens stellen. Beispiel, `cloudformation.us-east-1.amazonaws.com`.

 AWS-Regionen Dort, wo FIPS-spezifische Endpunkte unterstützt werden, können Sie auch einen Schnittstellenendpunkt für die CloudFormation Verwendung des folgenden Dienstnamens erstellen:
+ **com.amazonaws. *region*.cloudformation-fips** — Erstellt einen Endpunkt für die CloudFormation API, der dem [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) entspricht.

[Eine vollständige Liste der Endpunkte finden Sie unter CloudFormation Endpunkte und Kontingente in der.CloudFormation*Allgemeine Amazon Web Services-Referenz*](https://docs.aws.amazon.com/general/latest/gr/cfn.html)

## Erstellen einer VPC-Endpunktrichtlinie für CloudFormation
<a name="vpc-endpoint-policy"></a>

Eine Endpunktrichtlinie ist eine IAM-Ressource, die Sie an einen Schnittstellen-Endpunkt anfügen können. Die standardmäßige Endpunktrichtlinie ermöglicht den vollen Zugriff CloudFormation über den Schnittstellenendpunkt. Um den Zugriff zu kontrollieren, der CloudFormation von Ihrer VPC aus gewährt wird, fügen Sie dem Schnittstellenendpunkt eine benutzerdefinierte Endpunktrichtlinie hinzu.

Eine Endpunktrichtlinie gibt die folgenden Informationen an:
+ Die Prinzipale, die Aktionen ausführen können (AWS-Konten, IAM-Benutzer und IAM-Rollen).
+ Aktionen, die ausgeführt werden können
+ Die Ressourcen, auf denen die Aktionen ausgeführt werden können.

Weitere Informationen finden Sie unter [Kontrolle des Zugriffs auf VPC-Endpunkte mit Endpunktrichtlinien](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) im *AWS PrivateLink Leitfaden*.

**Beispiel: VPC-Endpunktrichtlinie für Aktionen CloudFormation**  
Im Folgenden finden Sie ein Beispiel für eine Endpunktrichtlinie für CloudFormation. Wenn diese Richtlinie an einen Endpunkt angehängt ist, gewährt sie allen Prinzipalen auf allen Ressourcen Zugriff auf die aufgelisteten CloudFormation Aktionen. Das folgende Beispiel verweigert allen Benutzern die Berechtigung, Stacks über den VPC-Endpunkt zu erstellen, und gewährt vollen Zugriff auf alle anderen Aktionen im Service. CloudFormation 

```
{
  "Statement": [
    {
      "Action": "cloudformation:*", 
      "Effect": "Allow", 
      "Principal": "*", 
      "Resource": "*"
    },
    {
      "Action": "cloudformation:CreateStack", 
      "Effect": "Deny", 
      "Principal": "*", 
      "Resource": "*"
    }
  ]
}
```