Résolution des problèmes liés aux politiques de contrôle des services (SCPs) avec AWS Organizations - AWS Organizations

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés aux politiques de contrôle des services (SCPs) avec AWS Organizations

Utilisez les informations fournies ici pour vous aider à diagnostiquer et à corriger les erreurs courantes détectées dans les politiques de contrôle des services (SCPs).

Politiques de contrôle des services (SCPs) dans AWS Organizations sont similaires aux IAM politiques et partagent une syntaxe commune. Cette syntaxe commence par les règles de JavaScript Object Notation (JSON). JSONdécrit un objet avec les paires de nom et de valeur qui le constituent. La grammaire des IAM politiques s'appuie sur cela en définissant les noms et les valeurs qui ont un sens pour le Services AWS qui utilisent des politiques pour accorder des autorisations.

AWS Organizations utilise un sous-ensemble de la IAM syntaxe et de la grammaire. Pour plus de détails, consultez SCPsyntaxe.

Plus d'un objet de politique

Un SCP doit être composé d'un seul et unique JSON objet. Vous désignez un objet en le plaçant entre accolades { }. Bien que vous puissiez imbriquer d'autres objets dans un JSON objet en incorporant des {} accolades supplémentaires dans la paire extérieure, une politique ne peut contenir qu'une seule paire d'accolades la plus externe de {} accolades. L'exemple suivant est incorrect car il contient deux objets au niveau supérieur (appelés dans red):

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

Toutefois, il est possible de réaliser ce que voulait faire l'exemple précédent en utilisant une grammaire correcte. Au lieu d'utiliser deux objets de politique complets, avec chacun son propre élément Statement, vous pouvez combiner les deux blocs en un seul élément Statement. La valeur de l'élément Statement est un tableau de deux objets, comme illustré dans l'exemple suivant :

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

Cet exemple ne peut pas être davantage compressé en une Statement ne comportant qu‘un seul élément car les deux éléments ont des effets différents. En général, vous pouvez combiner des instructions uniquement lorsque les éléments Effect et Resource de chaque instruction sont identiques.

Plusieurs éléments d'instruction

Au premier abord, cette erreur peut sembler être une variante de l'erreur de la section précédente. Toutefois, d'un point de vue syntaxique, il s'agit d'un type d'erreur différent. L'exemple suivant comporte un seul objet de politique, comme indiqué par la paire de parenthèses { } unique au niveau supérieur. Toutefois, cet objet contient deux éléments Statement.

Un ne SCP doit contenir qu'un seul Statement élément, composé du nom (Statement) apparaissant à gauche de deux points, suivi de sa valeur à droite. La valeur d'un élément Statement doit être un objet, indiqué par des accolades { }, contenant un élément Effect, un élément Action et un élément Resource. L'exemple suivant est incorrect car il contient deux éléments Statement dans l'objet de politique :

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

Dans la mesure où un objet de valeur peut être un tableau de plusieurs objets de valeur, vous pouvez résoudre ce problème en combinant les deux éléments Statement en un seul élément avec un tableau d'objets, comme illustré dans l'exemple suivant :

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

La valeur de l'élément Statement est un tableau d'objets. Dans l'exemple, le tableau se compose de deux objets, chaque objet étant une valeur correcte pour un élément Statement Les objets du tableau sont séparés par des virgules.

La taille du document de politique dépasse la taille maximale autorisée

La taille maximale d'un SCP document est de 5 120 caractères. Cette taille maximale inclut tous les caractères, y compris les espaces blancs. Pour réduire la taille de votre fichierSCP, vous pouvez supprimer tous les espaces blancs (tels que les espaces et les sauts de ligne) situés en dehors des guillemets.

Note

Si vous enregistrez la politique à l'aide du AWS Management Console, les espaces blancs supplémentaires entre les JSON éléments et en dehors des guillemets sont supprimés et ne sont pas pris en compte. Si vous enregistrez la politique à l'aide d'une SDK opération ou du AWS CLI, la politique est alors enregistrée exactement comme vous l'avez spécifiée et aucun caractère n'est automatiquement supprimé.