

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.

# AWS Service Catalog Einschränkungen verwenden
Verwenden von Einschränkungen

Sie wenden Einschränkungen an, um die Regeln zu steuern, die auf ein Produkt in einem bestimmten Portfolio angewendet werden, wenn Endbenutzer es starten. Wenn Endbenutzer das Produkt starten, sehen sie die Regeln, die Sie unter Verwendung von Einschränkungen angewendet haben. Sie können Einschränkungen auf ein Produkt anwenden, sobald es in ein Portfolio aufgenommen wurde. Einschränkungen sind aktiv, sobald Sie sie erstellen, und sie werden auf alle aktuellen Versionen eines Produkts angewendet, die noch nicht gestartet wurden.

**Topics**
+ [Starteinschränkungen](constraints-launch.md)
+ [Benachrichtigungseinschränkungen](constraints-notification.md)
+ [Einschränkungen für die Tag-Aktualisierung](constraints-resourceupdate.md)
+ [Stack-Set-Einschränkungen](constraints-stackset.md)
+ [Vorlageneinschränkungen](catalogs_constraints_template-constraints.md)

# AWS Service Catalog Einschränkungen bei der Markteinführung
Starteinschränkungen

Eine Startbeschränkung gibt die AWS Identity and Access Management (IAM-) Rolle an, die übernommen AWS Service Catalog wird, wenn ein Endbenutzer ein Produkt startet, aktualisiert oder beendet. Eine IAM-Rolle ist eine Sammlung von Berechtigungen, die ein Benutzer oder AWS Dienst vorübergehend annehmen kann, um Dienste zu nutzen. AWS Ein einführendes Beispiel finden Sie unter:
+ CloudFormation Produkttyp: [Schritt 6: Fügen Sie eine Startbeschränkung hinzu, um eine IAM-Rolle zuzuweisen](getstarted-launchconstraint.md)
+ Produkttyp Terraform Open Source oder Terraform Cloud: [Schritt 5: Startrollen erstellen](getstarted-launchrole-Terraform.md)

Einschränkungen bei der Markteinführung gelten für Produkte im Portfolio (Zuordnung zum Produktportfolio). Markteinführungsbeschränkungen gelten nicht auf Portfolioebene oder für ein Produkt in allen Portfolios. Um eine Starteinschränkungen allen Produkten in einem Portfolio zuzuweisen, müssen Sie die Einschränkung auf jedes Produkt einzeln anwenden.

Ohne Einschränkungen bei der Markteinführung müssen Endbenutzer Produkte mit ihren eigenen IAM-Anmeldeinformationen starten und verwalten. Dazu benötigen sie Berechtigungen für die AWS Dienste CloudFormation, die die Produkte verwenden, und AWS Service Catalog. Durch die Verwendung einer Startrolle können Sie stattdessen die Berechtigungen der Endbenutzer auf das Minimum beschränken, das sie für das jeweilige Produkt benötigen. Weitere Informationen zu Endbenutzerberechtigungen finden Sie unter [Identity and Access Management in AWS Service Catalog](controlling_access.md).

Um IAM-Rollen zu erstellen und zuzuweisen, benötigen Sie die folgenden IAM-Administratorberechtigungen:
+ `iam:CreateRole`
+ `iam:PutRolePolicy`
+ `iam:PassRole`
+ `iam:Get*`
+ `iam:List*`

## Konfigurieren einer Startrolle


Die IAM-Rolle, die Sie einem Produkt als Startbeschränkung zuweisen, muss über die folgenden Berechtigungen verfügen:

**Für Cloudformation-Produkte**
+ Die von `arn:aws:iam::aws:policy/AWSCloudFormationFullAccess` CloudFormation verwaltete Richtlinie
+ Dienste in der AWS CloudFormation Vorlage für das Produkt
+ Lesezugriff auf die AWS CloudFormation Vorlage in einem service-eigenen Amazon S3 S3-Bucket. 

**Für Terraform-Produkte**
+ Services in der Amazon S3 S3-Vorlage für das Produkt
+ Lesezugriff auf die Amazon S3 S3-Vorlage in einem serviceeigenen Amazon S3 S3-Bucket. 
+ `resource-groups:Tag`zum Taggen in einer Amazon EC2 EC2-Instance (wird von der Terraform-Provisioning-Engine bei der Durchführung von Bereitstellungsvorgängen übernommen)
+ `resource-groups:CreateGroup`für das Tagging von Ressourcengruppen (vorausgesetzt, AWS Service Catalog um Ressourcengruppen zu erstellen und Tags zuzuweisen) 

Die Vertrauensrichtlinie der IAM-Rolle muss es ermöglichen AWS Service Catalog , die Rolle zu übernehmen. Im folgenden Verfahren wird die Vertrauensrichtlinie automatisch festgelegt, wenn Sie den Rollentyp auswählen AWS Service Catalog . Wenn Sie die Konsole nicht verwenden, finden Sie weitere Informationen im Abschnitt *Erstellen von Vertrauensrichtlinien für AWS Dienste, die Rollen übernehmen,* unter [So verwenden Sie Vertrauensrichtlinien mit IAM-Rollen](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/). 

**Anmerkung**  
Die Berechtigungen `servicecatalog:ProvisionProduct`, `servicecatalog:TerminateProvisionedProduct` und `servicecatalog:UpdateProvisionedProduct` können nicht in einer Startrolle zugewiesen werden. Sie müssen IAM-Rollen verwenden, wie in den Inline-Richtlinienschritten im Abschnitt [AWS Service Catalog Endbenutzern Berechtigungen erteilen](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-iamenduser.html) beschrieben.

**Anmerkung**  
Um bereitgestellte Cloudformation-Produkte und -Ressourcen in der AWS Service Catalog Konsole anzeigen zu können, benötigen CloudFormation Endbenutzer Lesezugriff. Beim Anzeigen der bereitgestellten Produkte und Ressourcen in der Konsole wird die Rolle „Launch“ **nicht** verwendet.

**So erstellen Sie eine Startrolle**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

   Terraform-Produkte erfordern zusätzliche Konfigurationen für die Startrolle. Weitere Informationen finden Sie unter [Schritt 5: Startrollen erstellen](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-launchrole-Terraform) unter *Erste Schritte mit einem Terraform* Open Source-Produkt. 

1. Wählen Sie **Roles**.

1. Klicken Sie auf **Create New Role**.

1. Geben Sie einen Rollennamen ein und wählen Sie **Next Step** aus.

1. **Wählen Sie neben **AWS Servicerollen** die **AWS Service Catalog**Option Auswählen aus.**

1. Klicken Sie auf der Seite **Attach Policy** auf **Next Step**.

1. Zum Erstellen der Rolle wählen Sie **Create Role** aus. 

**So fügen Sie der neuen Rolle eine Richtlinie an**

1. Wählen Sie die Rolle aus, die Sie erstellt haben, um die Seite der Rollendetails anzuzeigen.

1. Wählen Sie die Registerkarte **Permissions** aus und erweitern Sie den Abschnitt **Inline Policies**. Klicken Sie dann auf **click here**.

1. Wählen Sie **Custom Policy** und dann **Select** aus. 

1. Geben Sie einen Namen für die Richtlinie ein und fügen Sie Folgendes im Editor **Policy Document** ein: 

   ```
     
             "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "s3:GetObject"
            ],
            "Resource":"*",
            "Condition":{
               "StringEquals":{
                  "s3:ExistingObjectTag/servicecatalog:provisioning":"true"
               }
            }
      ]
   }
   ```
**Anmerkung**  
Wenn Sie eine Startrolle für eine Startbeschränkung konfigurieren, müssen Sie diese Zeichenfolge verwenden:`"s3:ExistingObjectTag/servicecatalog:provisioning":"true"`. 

1. Fügen Sie der Richtlinie für jeden zusätzlichen Service, den das Produkt nutzt, eine Zeile hinzu. Um beispielsweise Berechtigungen für Amazon Relational Database Service (Amazon RDS) hinzuzufügen, geben Sie am Ende der letzten Zeile in der `Action` Liste ein Komma ein und fügen Sie dann die folgende Zeile hinzu: 

   ```
   "rds:*"
   ```

1. Klicken Sie auf **Apply Policy** (Richtlinie anwenden).

## Anwenden einer Startbeschränkung


Nachdem Sie die Startrolle konfiguriert haben, weisen Sie dem Produkt die Rolle als Startbeschränkung zu. Diese Aktion weist darauf AWS Service Catalog hin, dass er die Rolle übernehmen soll, wenn ein Endbenutzer das Produkt startet. 

**So weisen Sie die Rolle einem Produkt zu**

1. Öffnen Sie die Service Catalog-Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Wählen Sie das Portfolio aus, das das Produkt enthält.

1. Wählen Sie die Registerkarte **Constraints (Einschränkungen)** und dann **Create constraint (Einschränkung erstellen)**.

1. Wählen Sie das Produkt unter **Produkt** aus und wählen Sie unter **Einschränkungstyp** die Option **Launch** aus. Klicken Sie auf **Weiter**.

1. Im Abschnitt **Launch Constraint** können Sie eine IAM-Rolle aus Ihrem Konto auswählen und einen IAM-Rollen-ARN oder den Rollennamen eingeben.

   Wenn Sie den Rollennamen angeben und ein Konto die Startbeschränkung verwendet, verwendet das Konto diesen Namen für die IAM-Rolle. Bei diesem Ansatz können die Einschränkungen für die Startrolle kontounabhängig sein, sodass Sie weniger Ressourcen pro gemeinsam genutztem Konto erstellen können. 
**Anmerkung**  
Der angegebene Rollenname muss in dem Konto vorhanden sein, das die Startbeschränkung erstellt hat, und im Konto des Benutzers, der ein Produkt mit dieser Startbeschränkung auf den Markt bringt. 

1. Wählen Sie **Create (Erstellen)**, wenn Sie die IAM-Rolle angegeben haben.

## Confused Deputy wird zur Launch Constraint hinzugefügt


AWS Service Catalog unterstützt den [Confused Deputy-Schutz](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) für diejenigen APIs , die mit einer „Rolle übernehmen“ -Anforderung ausgeführt werden. Wenn Sie eine Startbeschränkung hinzufügen, können Sie den Zugriff auf die Startrolle einschränken, indem `sourceAccount` Sie die `sourceArn` Bedingungen in der Vertrauensrichtlinie für die Startrolle verwenden. Dadurch wird sichergestellt, dass die Startrolle von einer vertrauenswürdigen Quelle aufgerufen wird.

Im folgenden Beispiel gehört der AWS Service Catalog Endbenutzer dem Konto 111111111111 an. Wenn der AWS Service Catalog Administrator ein `LaunchConstraint` für ein Produkt erstellt, kann der Endbenutzer die folgenden Bedingungen in der Vertrauensrichtlinie für die Startrolle angeben, um die Rolle „Annehmen“ auf das Konto 1111111111 zu beschränken.

```
"Condition":{
   "ArnLike":{
      "aws:SourceArn":"arn:aws:servicecatalog:us-east-1:111111111111:*"
   },
   "StringEquals":{
      "aws:SourceAccount":"111111111111"
   }
  
}
```

Ein Benutzer, der ein Produkt mit dem bereitstellt, `LaunchConstraint` muss über dasselbe (111111111111) verfügen. `AccountId` Andernfalls schlägt der Vorgang mit einem `AccessDenied` Fehler fehl, wodurch ein Missbrauch der Startrolle verhindert wird.

Folgendes AWS Service Catalog APIs ist für den Schutz vor Confused Deputy gesichert:
+ `LaunchConstraint`
+ `ProvisionProduct`
+ `UpdateProvisionedProduct`
+ `TerminateProvisionedProduct`
+ `ExecuteProvisionedProductServiceAction`
+ `CreateProvisionedProductPlan`
+ `ExecuteProvisionedProductPlan`

Der `sourceArn ` Schutz für unterstützt AWS Service Catalog nur Vorlagen ARNs wie "`arn:<aws-partition>:servicecatalog:<region>:<accountId>:`". Bestimmte Ressourcen ARNs werden nicht unterstützt.

## Überprüfung der Startbeschränkung


Um zu überprüfen, ob die Rolle zum Starten des Produkts AWS Service Catalog verwendet und das Produkt erfolgreich bereitgestellt wird, starten Sie das Produkt von der AWS Service Catalog Konsole aus. Zum Testen einer Einschränkung vor der Freigabe für die Benutzer erstellen Sie ein Testportfolio mit den gleichen Produkten und testen Sie die Einschränkungen mit diesem Portfolio.

**So starten Sie das Produkt**

1. Wählen Sie im Menü für die AWS Service Catalog Konsole **Service Catalog**, **Endbenutzer** aus.

1. Wählen Sie das Produkt aus, um die Seite mit den **Produktdetails** zu öffnen. Vergewissern Sie sich, dass in der Tabelle mit den **Startoptionen** der Amazon-Ressourcenname (ARN) der Rolle angezeigt wird.

1. Wählen Sie **Produkt starten**.

1. Führen Sie die Schritte zum Starten aus und geben Sie die erforderlichen Informationen ein.

1. Überprüfen Sie, ob das Produkt erfolgreich gestartet wird.

# AWS Service Catalog Einschränkungen bei Benachrichtigungen
Benachrichtigungseinschränkungen

**Anmerkung**  
AWS Service Catalog unterstützt keine Benachrichtigungsbeschränkungen für Terraform Open Source- oder Terraform Cloud-Produkte. 

Eine Benachrichtigungsbeschränkung gibt ein Amazon SNS SNS-Thema an, um Benachrichtigungen über Stack-Ereignisse zu erhalten. 

Führen Sie die folgenden Schritte aus, um ein SNS-Thema zu erstellen und zu abonnieren.

**So erstellen Sie ein SNS-Thema und ein Abonnement**

1. Öffnen Sie die Amazon SNS SNS-Konsole unter [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home).

1. Wählen Sie **Thema erstellen** aus.

1. Geben Sie einen Namen für das Thema ein und klicken Sie dann auf **Create Topic**.

1. Wählen Sie **Create subscription** (Abonnement erstellen) aus.

1. Wählen Sie unter **Protocol** die Option **Email** aus. Geben Sie unter **Endpoint** eine E-Mail-Adresse ein, um die Benachrichtigungen zu empfangen. Wählen Sie **Create subscription**.

1. Sie erhalten eine Bestätigungs-E-Mail mit der Betreffzeile `AWS Notification - Subscription Confirmation`. Öffnen Sie die E-Mail und befolgen Sie die Anweisungen, um Ihr Abonnement abzuschließen.

Führen Sie die folgenden Schritte aus, um mithilfe des SNS-Themas, das Sie erstellt haben, eine Benachrichtigungseinschränkung anzuwenden.

**So wenden Sie eine Benachrichtigungseinschränkung auf ein Produkt an**

1. Öffnen Sie die Service Catalog-Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Wählen Sie das Portfolio aus, das das Produkt enthält.

1. Erweitern Sie **Constraints (Einschränkungen)** und wählen Sie **Add constraints (Constraints hinzufügen)**.

1. Wählen Sie das Produkt unter **Produkt** aus und legen Sie den **Einschränkungstyp** auf **Benachrichtigung** fest. Klicken Sie auf **Weiter**.

1. Wählen Sie **Choose a topic from your account** aus und klicken Sie auf das SNS-Thema, das Sie unter **Topic Name** erstellt haben.

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

# AWS Service Catalog Einschränkungen beim Tag-Update
Einschränkungen für die Tag-Aktualisierung

**Anmerkung**  
AWS Service Catalog unterstützt keine Einschränkungen bei der Tag-Aktualisierung für Terraform Open Source-Produkte.

Mit Einschränkungen bei der Tag-Aktualisierung können AWS Service Catalog Administratoren Endbenutzern erlauben oder verbieten, Tags auf Ressourcen zu aktualisieren, die mit einem bereitgestellten Produkt verknüpft sind. Wenn die Aktualisierung von Tags zulässig ist, werden während eines bereitgestellten Produktupdates neue Tags, die dem Produkt oder Portfolio zugeordnet sind, auf die bereitgestellten Ressourcen angewendet. 

**So aktivieren Sie Tag-Aktualisierungen für ein Produkt**

1. Öffnen Sie die Service Catalog-Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Wählen Sie das Portfolio aus, das das Produkt enthält, das Sie aktualisieren möchten.

1. Wählen Sie die Registerkarte **Einschränkungen** und dann **Einschränkungen hinzufügen**.

1. Wählen Sie unter **Constraint type (Einschränkungstyp)** die Option **Tag Update (Tag-Aktualisierung)** aus.

1. Wählen Sie unter **Product (Produkt)** das Produkt aus und klicken Sie anschließend auf **Continue (Weiter)**.

1. Wählen Sie auf der Seite **Tag Updates** die Option **Enable Tag Updates (Tag-Aktualisierungen aktivieren)** aus.

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

# AWS Service Catalog Einschränkungen für Stapelsätze
Stack-Set-Einschränkungen

**Anmerkung**  
AWS Service Catalog unterstützt keine Stack-Set-Einschränkungen für Terraform Open Source-Produkte.
AutoTags werden derzeit nicht unterstützt mit. CloudFormation StackSets 

Eine Stack-Set-Beschränkung ermöglicht es Ihnen, Produktbereitstellungsoptionen mithilfe von zu konfigurieren CloudFormation StackSets. Sie können mehrere Konten und Regionen für den Produktstart angeben. Endbenutzer können diese Konten verwalten und festlegen, wo Produkte bereitgestellt werden und in welcher Reihenfolge sie bereitgestellt werden.

**So wenden Sie eine Stack-Set-Einschränkung auf ein Produkt an**

1. Öffnen Sie die Service Catalog-Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Wählen Sie das Portfolio mit dem gewünschten Produkt aus.

1. Wählen Sie die Registerkarte **Einschränkungen** und dann **Einschränkungen erstellen** aus.

1. Wählen Sie unter **Produkt** das Produkt aus. Wählen Sie unter **Einschränkungstyp** die Option **Stack Set** aus. 

1. Konfigurieren Sie die Konten, Regionen und Berechtigungen für Ihre Stack-Set-Einschränkungen.
   + Identifizieren Sie in den **Kontoeinstellungen** die Konten, für die Sie Produkte erstellen möchten.
   + Wählen Sie in den **Regionaleinstellungen** die geografischen Regionen aus, in denen Produkte bereitgestellt werden sollen, und die Reihenfolge, in der diese Produkte in diesen Regionen bereitgestellt werden sollen.
   + Wählen Sie unter **Berechtigungen** eine StackSet IAM-Administratorrolle aus, um Ihre Zielkonten zu verwalten. Wenn Sie keine Rolle auswählen, StackSets wird der Standard-ARN verwendet. [Erfahren Sie mehr über das Einrichten von Stack-Set-Berechtigungen.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)

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

# AWS Service Catalog Einschränkungen für Vorlagen
Vorlageneinschränkungen

**Anmerkung**  
AWS Service Catalog unterstützt keine Vorlagenbeschränkungen für Terraform Open Source- oder Terraform Cloud-Produkte. 

Um die Optionen für Endbenutzer zu beschränken, wenn sie ein Produkt starten, wenden Sie Vorlageneinschränkungen an. Wenden Sie Vorlageneinschränkungen an, um sicherzustellen, dass die Endbenutzer die Produkte verwenden können, ohne gegen die Compliance-Anforderungen Ihrer Organisation zu verstoßen. Sie wenden Vorlagenbeschränkungen auf ein Produkt in einem Portfolio an. AWS Service Catalog Ein Portfolio muss ein oder mehrere Produkte enthalten, damit Sie Vorlageneinschränkungen definieren können.

Eine Vorlageneinschränkung besteht aus einer oder mehreren Regeln, die die zulässigen Werte für Parameter einschränken, die in der dem Produkt zugrunde liegenden CloudFormation Vorlage definiert sind. Die Parameter in einer CloudFormation -Vorlage definieren die Menge von Werten, die Benutzer beim Erstellen eines Stacks angeben können. Ein Parameter könnte beispielsweise die verschiedenen Instance-Typen definieren, aus denen Benutzer wählen können, wenn sie einen Stack starten, der EC2 Instances enthält.

Wenn die Menge der Parameterwerte in einer Vorlage für die Zielgruppe Ihres Portfolios zu ungenau ist, können Sie Vorlageneinschränkungen festlegen, um die Werte, die Benutzer beim Start eines Produkts auswählen können, zu begrenzen. Wenn die Vorlagenparameter beispielsweise EC2 Instance-Typen beinhalten, die für Benutzer, die nur kleine Instance-Typen verwenden sollten (wie `t2.micro` oder`t2.small`), zu groß sind, können Sie eine Vorlageneinschränkung hinzufügen, um die Instance-Typen einzuschränken, die Endbenutzer wählen können. Weitere Informationen zu CloudFormation Vorlagenparametern finden Sie unter [Parameter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) im *CloudFormation Benutzerhandbuch*.

Vorlageneinschränkungen sind in einem Portfolio gebunden. Wenn Sie Vorlageneinschränkungen auf ein Produkt in einem Portfolio anwenden und dann das Produkt in ein anderes Portfolio einschließen, gelten die Einschränkungen nicht für das Produkt im zweiten Portfolio.

Wenn Sie eine Vorlageneinschränkung auf ein Produkt anwenden, das bereits für Benutzer freigegeben ist, ist die Einschränkung sofort für alle nachfolgenden Produktstarts und für alle Versionen des Produkts im Portfolio aktiv.

Sie definieren Beschränkungsregeln für Vorlagen, indem Sie einen Regeleditor verwenden oder die Regeln als JSON-Text in der AWS Service Catalog Administratorkonsole schreiben. Weitere Informationen über Regeln, einschließlich Syntax und Beispiele, finden Sie unter [Vorlageneinschränkungsregeln](reference-template_constraint_rules.md).

Zum Testen einer Einschränkung vor der Freigabe für die Benutzer erstellen Sie ein Testportfolio mit den gleichen Produkten und testen Sie die Einschränkungen mit diesem Portfolio.

**So wenden Sie Vorlageneinschränkungen auf ein Produkt an**

1. Öffnen Sie die Service Catalog-Konsole unter [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Wählen Sie auf der Seite **Portfolios** das Portfolio aus, das das Produkt enthält, auf das Sie eine Vorlagenbeschränkung anwenden möchten. 

1. Erweitern Sie den Abschnitt **Einschränkungen** und wählen Sie **Einschränkungen hinzufügen**.

1. **Wählen Sie im Fenster Produkt und Typ** auswählen unter **Produkt** das Produkt aus, für das Sie die Vorlagenbeschränkungen definieren möchten. Wählen Sie dann für **Einschränkungstyp** die Option **Vorlage** aus. Klicken Sie auf **Weiter**.

1. Bearbeiten Sie auf der Seite **Template Constraint Builder** die Einschränkungsregeln mithilfe des JSON-Editors oder der Rule Builder-Schnittstelle.
   + Um den JSON-Code für die Regel zu bearbeiten, wählen Sie die Registerkarte **Constraint-Texteditor**. Auf dieser Registerkarte stehen mehrere Beispiele zur Verfügung, die Sie bei den ersten Schritten unterstützen.

     Um die Regeln mithilfe einer Rule Builder-Oberfläche zu erstellen, wählen Sie die Registerkarte **Rule Builder**. Auf dieser Registerkarte können Sie jeden beliebigen Parameter auswählen, der in der Vorlage für das Produkt angegeben ist. Außerdem können Sie die zulässigen Werte für diese Parameter angeben. Abhängig von der Art des Parameter geben Sie die zulässigen Werte an, indem Sie Elemente in einer Checkliste auswählen, eine Zahl angeben oder eine Reihe von Werten in einer durch Komma getrennten Liste festlegen.

     Wenn Sie mit dem Erstellen einer Regel fertig sind, wählen Sie **Regel hinzufügen**. Die Regel wird in der Tabelle auf der Registerkarte **Rule Builder** angezeigt. Um die JSON-Ausgabe zu überprüfen und zu bearbeiten, wählen Sie die Registerkarte **Constraint Text Editor**.

1. Wenn Sie mit der Bearbeitung der Regeln für Ihre Einschränkung fertig sind, wählen Sie „**Senden**“. Um die Einschränkung zu sehen, gehen Sie zur Seite mit den Portfoliodetails und erweitern Sie die **Option Einschränkungen**.

# Vorlageneinschränkungsregeln


Die Regeln, die Einschränkungen für Vorlagen in einem AWS Service Catalog Portfolio definieren, beschreiben, wann Endbenutzer die Vorlage verwenden können und welche Werte sie für Parameter angeben können, die in der CloudFormation Vorlage deklariert sind, die zur Erstellung des Produkts verwendet wurde, das sie verwenden möchten. Regeln sind nützlich, um zu verhindern, dass Endbenutzer unabsichtlich einen falschen Wert angeben. Sie können beispielsweise eine Regel hinzufügen, um zu überprüfen, ob Endbenutzer ein gültiges Subnetz in einer bestimmten VPC angegeben oder `m1.small` Instance-Typen für Testumgebungen verwendet haben. CloudFormation verwendet Regeln, um Parameterwerte zu validieren, bevor die Ressourcen für das Produkt erstellt werden.

Jede Regel besteht aus zwei Eigenschaften: eine Regelbedingung (optional) und Assertions (erforderlich). Die Regelbedingung bestimmt, wann eine Regel wirksam wird. Die Assertions beschreiben, welche Werte Benutzer für einen bestimmten Parameter angeben können. Wenn Sie keine Regelbedingung definieren, werden die Assertions der Regel immer wirksam. Zum Definieren einer Regelbedingung und von Assertions verwenden Sie *regelspezifische intrinsische Funktionen*. Dies sind Funktionen, die nur im Abschnitt `Rules` einer Vorlage verwendet werden können. Sie können Funktionen verschachteln, aber das Endergebnis einer Regelbedingung oder Assertion muss entweder "true" oder "false" lauten.

Beispiel: Angenommen, Sie haben eine VPC und einen Subnetzparameter im Abschnitt `Parameters` deklariert. Sie können eine Regel erstellen, die validiert, das sich ein angegebenes Subnetz in einer bestimmten VPC befindet. Wenn ein Benutzer also eine VPC angibt, CloudFormation wertet er die Assertion aus, um zu überprüfen, ob sich der Subnetzparameterwert in dieser VPC befindet, bevor der Stack erstellt oder aktualisiert wird. Wenn der Parameterwert ungültig ist, können Sie den CloudFormation Stack nicht sofort erstellen oder aktualisieren. Wenn Benutzer keine VPC angeben, wird der Wert des Subnetzparameters CloudFormation nicht überprüft.

## Syntax


Der Abschnitt `Rules` einer Vorlage besteht aus dem Schlüsselnamen `Rules`, gefolgt von einem einzigen Doppelpunkt. Regeldeklarationen werden durch Klammern eingeschlossen. Wenn Sie mehrere Regeln deklarieren, werden sie durch Kommas getrennt. Für jede Regel deklarieren Sie einen logischen Namen in Anführungszeichen gefolgt von einem Doppelpunkt und Klammern, die die Regelbedingung und Assertionen umschließen.

Eine Regel kann eine `RuleCondition`-Eigenschaft enthalten und muss eine `Assertions`-Eigenschaft einschließen. Für jede Regel können Sie nur eine Regelbedingung definieren. Innerhalb der `Assertions`-Eigenschaft können Sie eine oder mehrere Assertionen definieren. Sie definieren eine Regelbedingung und Assertionen mit regelspezifischen intrinsischen Funktionen, wie in der folgenden Pseudovorlage dargestellt:

```
"Rules":{
   "Rule01":{
      "RuleCondition":{
         "Rule-specific intrinsic function"
      },
      "Assertions":[
         {
            "Assert":{
               "Rule-specific intrinsic function"
            },
            "AssertDescription":"Information about this assert"
         },
         {
            "Assert":{
               "Rule-specific intrinsic function"
            },
            "AssertDescription":"Information about this assert"
         }
      ]
   },
   "Rule02":{
      "Assertions":[
         {
            "Assert":{
               "Rule-specific intrinsic function"
            },
            "AssertDescription":"Information about this assert"
         }
      ]
   }
}
```

Die Pseudovorlage zeigt einen `Rules`-Abschnitt mit zwei Regeln namens `Rule01` und `Rule02` an. `Rule01` enthält eine Regelbedingung und zwei Assertionen. Wenn die Funktion in der Regelbedingung mit "true" ausgewertet wird, werden beide Funktionen in jeder Assertion ausgewertet und angewendet. Wenn die Regelbedingung "false" ergibt, wird die Regel nicht wirksam. `Rule02` ist stets wirksam, da sie über keine Regelbedingung verfügt. Dies bedeutet, dass die eine Assertion immer ausgewertet und angewendet wird.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html)

## Beispiel: Bedingtes Überprüfen eines Parameterwerts


Die beiden folgenden Regeln überprüfen den Wert des Parameters `InstanceType`. Je nach Wert des Environment-Parameters (`test` oder `prod`) muss der Benutzer `m1.small` oder `m1.large` für den `InstanceType`-Parameter angeben. Die Parameter `InstanceType` und `Environment` müssen im `Parameters`-Abschnitt derselben Vorlage deklariert sein.

```
"Rules" : {
  "testInstanceType" : {
    "RuleCondition" : {"Fn::Equals":[{"Ref":"Environment"}, "test"]},
    "Assertions" : [
      {
        "Assert" :  { "Fn::Contains" : [ ["m1.small"], {"Ref" : "InstanceType"} ] },
        "AssertDescription" : "For the test environment, the instance type must be m1.small"
      }
    ]
  },
  "prodInstanceType" : {
    "RuleCondition" : {"Fn::Equals":[{"Ref":"Environment"}, "prod"]},
    "Assertions" : [
      {
        "Assert" :  { "Fn::Contains" : [ ["m1.large"], {"Ref" : "InstanceType"} ] },
        "AssertDescription" : "For the prod environment, the instance type must be m1.large"
      }
    ]
  }
}
```