

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.

# 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" : "*"
    }
  ]
}
```