

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.

# Fehlerbehebung bei Dienststeuerungsrichtlinien (SCPs) mit AWS Organizations
<a name="org_troubleshoot_policies"></a>

Mithilfe dieser Informationen können Sie häufig auftretende Fehler in den Dienststeuerungsrichtlinien diagnostizieren und beheben (SCPs).

Die Dienststeuerungsrichtlinien (SCPs) in AWS Organizations ähneln den IAM-Richtlinien und haben eine gemeinsame Syntax. Diese Syntax beginnt mit den Regeln der [JavaScript Object Notation](http://www.json.org) (JSON). JSON beschreibt ein *Objekt* über Name/Wert-Paare für das Objekt. Die [Grammatik der IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-grammar.html) baut darauf auf, indem sie definiert, welche Namen und Werte für diejenigen, die Richtlinien zur Erteilung von Berechtigungen verwenden AWS-Services , eine Bedeutung haben und von ihnen verstanden werden.

AWS Organizations verwendet einen Teil der IAM-Syntax und Grammatik. Details hierzu finden Sie unter [SCP-Syntax](orgs_manage_policies_scps_syntax.md).

**Topics**
+ [Mehr als ein Richtlinienobjekt](#morethanonepolicyblock)
+ [Mehr als ein Statement-Element](#morethanonestatement)
+ [Richtliniendokument überschreitet die maximal zulässige Größe](#scptoolong)

## Mehr als ein Richtlinienobjekt
<a name="morethanonepolicyblock"></a>

Eine SCP darf nur ein JSON-Objekt haben. Ein Objekt wird mithilfe von {}-Klammern definiert. Obwohl Sie andere Objekte innerhalb eines JSON-Objekts verschachteln können, indem Sie zusätzliche { }-Klammern in das äußere Paar einbetten, kann eine Richtlinie nur ein äußerstes Paar von { }-Klammern enthalten. Das folgende Beispiel ist ***falsch***, da es zwei Objekte auf der obersten Ebene enthält:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "ec2:Describe*",
    "Resource": "*"
  }
}
{
  "Version": "2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": "s3:*",
    "Resource": "*"
  }
}
```

Mit der richtigen Schreibweise können Sie das Beispiel jedoch in eine korrekte Richtlinie umwandeln. Statt zwei vollständige Richtlinienobjekte mit jeweils eigenen `Statement`-Elementen zu nutzen, können Sie die beiden Blöcke in einem einzelnen `Statement`-Element kombinieren. Im folgenden Beispiel hat das `Statement`-Element zwei Objekte als Wert: 

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

Dieses Beispiel kann nicht noch weiter in ein `Statement` mit einem Element zusammengefasst werden (die beiden Elemente haben unterschiedliche Effekte). Grundsätzlich können Sie Anweisungen nur dann kombinieren, wenn die Elemente `Effect` und `Resource` der Anweisungen identisch sind.

## Mehr als ein Statement-Element
<a name="morethanonestatement"></a>

Dieser Fehler sieht möglicherweise zunächst wie eine Variante des Fehlers im vorherigen Abschnitt aus. Syntaktisch handelt es sich jedoch um einen anderen Fehler. Im folgenden Beispiel gibt es auf der obersten Ebene nur ein Richtlinienobjekt (durch die {}-Klammern definiert). Das Objekt enthält jedoch zwei `Statement`-Elemente.

Eine SCP darf nur ein `Statement`-Element enthalten. Dies setzt sich aus dem Namen (`Statement`) links vom Doppelpunkt und dem Wert auf der rechten Seite des Doppelpunktes zusammen. Der Wert eines `Statement`-Elements muss ein Objekt sein (durch {}-Klammern definiert). Es muss ein `Effect`-Element, ein `Action`-Element und ein `Resource`-Element enthalten. Das folgende Beispiel ist ***falsch***. Es enthält zwei `Statement`-Elemente in der Richtlinie:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "ec2:Describe*",
    "Resource": "*"
  },
  "Statement": {
    "Effect": "Deny",
    "Action": "s3:*",
    "Resource": "*"
  }
}
```

Da ein Wert-Objekt eine Gruppe mit mehreren Wert-Objekten sein kann, können Sie dieses Problem lösen, indem Sie die zwei `Statement`-Elemente in einem Element mit einer Objekt-Gruppe kombinieren:

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

****  

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

------

Der Wert des `Statement`-Elements ist eine Objekt-Gruppe. Die Gruppe im Beispiel besteht aus zwei Objekten. Jedes Objekt ist ein gültiger Wert für ein `Statement`-Element. Die Objekte in der Gruppe werden durch Kommas getrennt. 

## Richtliniendokument überschreitet die maximal zulässige Größe
<a name="scptoolong"></a>

Die maximal zulässige Größe eines SCP-Dokuments ist 5.120 Bytes. Diese maximale Größe umfasst alle Zeichen einschließlich Leerzeichen. Zur Reduzierung der Größe Ihrer Service-Kontrollrichtlinie können Sie alle Leerraumzeichen (wie z. B. Leerzeichen und Zeilenumbrüche), die sich außerhalb von Anführungszeichen befinden, entfernen. 

**Anmerkung**  
Wenn Sie die Richtlinie mithilfe von speichern AWS-Managementkonsole, wird zusätzlicher Leerraum zwischen JSON-Elementen und außerhalb von Anführungszeichen entfernt und nicht gezählt. Wenn Sie die Richtlinie mithilfe eines SDK-Vorgangs oder des speichern AWS CLI, wird die Richtlinie genau so gespeichert, wie Sie sie angegeben haben, und es erfolgt kein automatisches Entfernen von Zeichen.