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
AWS Organizations utilise un sous-ensemble de la IAM syntaxe et de la grammaire. Pour plus de détails, consultez SCPsyntaxe.
Erreurs courantes dans les politiques
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é.