SCPsyntaxe - 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.

SCPsyntaxe

Les politiques de contrôle des services (SCPs) utilisent une syntaxe similaire à celle utilisée par AWS Identity and Access Management (IAM) les politiques d'autorisation et les politiques basées sur les ressources (comme les politiques relatives aux compartiments Amazon S3). Pour plus d'informations sur IAM les politiques et leur syntaxe, consultez la section Présentation des IAM politiques dans le guide de IAM l'utilisateur.

An SCP est un fichier en texte brut structuré selon les règles de JSON. Elle utilise les éléments qui sont décrits dans cette rubrique.

Note

Tous les caractères de votre choix sont SCP pris en compte dans sa taille maximale. Les exemples présentés dans ce guide montrent les SCPs fichiers formatés avec des espaces blancs supplémentaires pour améliorer leur lisibilité. Toutefois, pour économiser de l'espace si la taille de votre politique approche de la taille maximale, vous pouvez supprimer les espaces, comme les espacements et les sauts de ligne qui ne figurent pas entre guillemets.

Pour obtenir des informations générales sur SCPs, veuillez consulter Politiques de contrôle des services (SCPs).

Récapitulatif des éléments

Le tableau suivant récapitule les éléments de stratégie que vous pouvez utiliser dansSCPs. Certains éléments de politique ne sont disponibles SCPs que dans les cas où les actions sont interdites. La colonne Effets pris en charge répertorie le type d'effet que vous pouvez utiliser avec chaque élément de politiqueSCPs.

Element Objectif Effets pris en charge
Version Spécifie les règles de syntaxe du langage à utiliser pour le traitement de la politique.

Allow, Deny

Instruction Sert de conteneur pour les éléments de politique. Vous pouvez avoir plusieurs instructions dansSCPs. Allow, Deny
ID d’instruction (Sid) (Facultatif) Fournit un nom simple pour l'instruction. Allow, Deny
Effet Définit si la SCP déclaration autorise ou refuse l'accès aux IAM utilisateurs et aux rôles d'un compte. Allow, Deny

Action

Spécifie le AWS service et les actions SCP autorisés ou refusés.

Allow, Deny

NotAction

Spécifie le AWS service et les actions exemptés duSCP. Utilisé au lieu de l'élément Action.

Deny

Ressource Spécifie les AWS ressources auxquelles SCP s'applique. Deny
Condition Spécifie les conditions lorsque l’instruction est vigueur. Deny

Les sections suivantes fournissent des informations supplémentaires et des exemples de la manière dont les éléments de politique sont utilisés dansSCPs.

Élément Version

Chacun SCP doit inclure un Version élément avec la valeur"2012-10-17". Il s'agit de la même valeur de version que la version la plus récente des politiques d'IAMautorisation.

"Version": "2012-10-17",

Pour plus d'informations, voir Éléments IAM JSON de politique : version dans le guide de IAM l'utilisateur.

Élément Statement

An SCP est composé d'un ou de plusieurs Statement éléments. Une politique ne peut contenir qu'un seul Statement mot-clé, mais la valeur peut être un JSON tableau d'instructions (entouré de [] caractères).

L'exemple suivant montre une instruction unique qui se compose d'éléments Effect, Action et Resource uniques.

"Statement": { "Effect": "Allow", "Action": "*", "Resource": "*" }

L'exemple suivant inclut deux instructions sous la forme d'un tableau à l'intérieur d'un élément Statement. La première déclaration autorise toutes les actions, tandis que la seconde refuse toute EC2 action. Par conséquent, un administrateur du compte peut déléguer n'importe quelle autorisation, à l'exception de celles d'Amazon Elastic Compute Cloud (AmazonEC2).

"Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" }, { "Effect": "Deny", "Action": "ec2:*", "Resource": "*" } ]

Pour plus d'informations, voir Éléments IAM JSON de politique : déclaration dans le guide de IAM l'utilisateur.

Élément ID d'instruction (Sid)

L'élément Sid est un identifiant facultatif que vous pouvez fournir pour l'instruction de politique. Vous pouvez affecter une valeur Sid à chaque instruction d'un tableau d'instructions. L'exemple suivant SCP montre un exemple de Sid déclaration.

{ "Statement": { "Sid": "AllowsAllActions", "Effect": "Allow", "Action": "*", "Resource": "*" } }

Pour plus d'informations, voir Éléments IAM JSON de politique : ID dans le guide de IAM l'utilisateur.

Élément Effect

Chaque instruction doit contenir un élément Effect. La valeur peut être Allow ou Deny. Cet élément affecte toutes les actions répertoriées dans la même instruction.

Pour plus d'informations, voir Éléments IAM JSON de politique : effet dans le guide de IAM l'utilisateur.

"Effect": "Allow"

L'exemple suivant montre une instruction SCP with qui contient un Effect élément dont la valeur permet aux utilisateurs du Allow compte d'effectuer des actions pour le service Amazon S3. Cet exemple est utile dans une organisation qui utilise la stratégie de liste d'autorisations (où les politiques FullAWSAccess par défaut sont toutes détachées, de sorte que les autorisations sont implicitement refusées par défaut). Le résultat est que l'instruction permet les autorisations Amazon S3 pour les comptes attachés :

{ "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } }

Même si cette instruction utilise le même mot clé Allow value comme politique d'IAMautorisation, SCP elle n'accorde pas réellement à l'utilisateur l'autorisation de faire quoi que ce soit. SCPsAgissez plutôt comme des filtres qui spécifient les autorisations maximales pour les IAM utilisateurs et les IAM rôles au sein d'une organisation. Dans l'exemple précédent, même si la politique AdministratorAccess gérée était attachée à un utilisateur du compte, cela SCP limite tous les utilisateurs des comptes concernés aux seules actions Amazon S3.

"Effect": "Deny"

Dans une instruction dont la valeur de l'Effectélément est égale àDeny, vous pouvez également restreindre l'accès à des ressources spécifiques ou définir les conditions d'entrée en vigueur. SCPs

L'exemple suivant montre la façon d'utiliser une clé de condition dans une instruction de refus.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:InstanceType": "t2.micro" } } } }

Cette déclaration sert de SCP garde-fou pour empêcher les comptes concernés (lorsqu'ils sont attachés au compte lui-même ou à la racine de l'organisation ou à l'unité d'organisation qui contient le compte) de lancer des EC2 instances Amazon si l'EC2instance Amazon n'est pas configurée sur. SCP t2.micro Même si une IAM politique autorisant cette action est attachée au compte, le garde-fou créé par le l'SCPempêche.

Éléments Action et NotAction

Chaque instruction doit contenir l'un des éléments suivants :

  • Dans les instructions d’autorisation et de refus, un élément Action.

  • Dans les instructions de refus uniquement (où la valeur de l'élément Effect est Deny), un «élément Action ou NotAction.

La valeur de l'NotActionélément Action or est une liste (un JSON tableau) de chaînes identifiant Services AWS et d'actions autorisées ou refusées par l'instruction.

Chaque chaîne est constituée de l'abréviation du service (par exemple, « s3 », « ec2 », « iam » ou « organizations »), en minuscules, suivie de deux points, puis d'une action de ce service. Les actions et les notactions sont sensibles à la casse et doivent être saisies comme indiqué dans la documentation de chaque service. En général, elles sont toutes saisies avec chaque mot commençant par une lettre majuscule et le reste en minuscules. olpPar exemple : "s3:ListAllMyBuckets".

Vous pouvez également utiliser des caractères génériques tels que l'astérisque (*) ou le point d'interrogation (?) dans un SCP :

  • Utilisez un astérisque (*) en tant que caractère générique pour faire correspondre plusieurs actions partageant une partie d'un nom. La valeur "s3:*" signifie toutes les actions dans le service Amazon S3. La valeur "ec2:Describe*" correspond uniquement aux EC2 actions qui commencent par « Décrire ».

  • Utilisez le caractère générique point d'interrogation (?) pour faire correspondre un seul caractère.

Note

Dans unSCP, les caractères génériques (*) et (?) dans un NotAction élément Action or ne peut être utilisé que seul ou à la fin de la chaîne. Il ne peut pas apparaître au début ni au milieu de la chaîne. Par conséquent, "servicename:action*" est valide, mais "servicename:*action" les deux "servicename:some*action" ne sont pas valides dansSCPs.

Pour obtenir une liste de tous les services et des actions qu'ils prennent en charge dans les deux cas, AWS Organizations SCPs ainsi que les politiques d'IAMautorisation, les actions, les ressources et les clés de condition pour Services AWS la référence d'autorisation des services.

Pour plus d'informations, voir Éléments IAM JSON de politique : éléments d'action et éléments IAM JSON de politique : NotAction dans le guide de IAM l'utilisateur.

Exemple d'élément Action

L'exemple suivant montre une SCP instruction qui permet aux administrateurs du compte de déléguer les autorisations de description, de démarrage, d'arrêt et de résiliation pour les EC2 instances du compte. Il s'agit d'un exemple de liste d'autorisations, qui est utile lorsque les politiques Allow * par défaut ne sont pas attachées afin que, par défaut, les autorisations soient implicitement refusées. Si la politique Allow * par défaut est encore attachée à la racine, à l'unité d'organisation ou au compte auquel la politique suivante est attachée, cette politique n'a aucun effet.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:StopInstances", "ec2:StartInstances" ], "Resource": "*" } }

L'exemple suivant montre comment vous pouvez refuser l’accès à des services qui ne doivent pas être utilisés dans les comptes attachés. Cela suppose que les valeurs par défaut "Allow *" SCPs sont toujours associées à tous OUs et à la racine. Cet exemple de politique empêche les administrateurs des comptes attachés de déléguer des autorisations pour IAM les RDS services Amazon EC2 et Amazon. Les actions d'autres services peuvent être déléguées dans la mesure où aucune autre politique attachée ne les refuse :

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "iam:*", "ec2:*", "rds:*" ], "Resource": "*" } }

Exemple d'élément NotAction

L'exemple suivant montre comment utiliser un NotAction élément pour exclure Services AWS de l'effet de la politique.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LimitActionsInRegion", "Effect": "Deny", "NotAction": "iam:*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": "us-west-1" } } } ] }

Avec cette instruction, les comptes concernés sont limités à l'exécution des actions spécifiées Région AWS, sauf lors de l'utilisation d'IAMactions.

Élément Resource

Dans les instructions où l'Effectélément a une valeur deAllow, vous ne pouvez spécifier que « * » dans l'Resourceélément d'unSCP. Vous ne pouvez pas spécifier de ressource Amazon Resource Names (ARNs) individuelle.

Vous pouvez également utiliser des caractères génériques comme un astérisque (*) ou un point d'interrogation (?) dans l'élément de ressource :

  • Utilisez un astérisque (*) en tant que caractère générique pour faire correspondre plusieurs actions partageant une partie d'un nom.

  • Utilisez le caractère générique point d'interrogation (?) pour faire correspondre un seul caractère.

Dans les instructions où l'Effectélément a une valeur égale àDeny, vous pouvez spécifier un élément individuelARNs, comme indiqué dans l'exemple suivant.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessToAdminRole", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/role-to-deny" ] } ] }

Cela SCP empêche les IAM utilisateurs et les rôles des comptes concernés d'apporter des modifications à un IAM rôle administratif commun créé dans tous les comptes de votre organisation.

Pour plus d'informations, voir Éléments IAM JSON de politique : ressource dans le guide de IAM l'utilisateur.

Élément Condition

Vous pouvez spécifier un Condition élément dans les déclarations de refus d'unSCP.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideEU", "Effect": "Deny", "NotAction": [ "cloudfront:*", "iam:*", "route53:*", "support:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": [ "eu-central-1", "eu-west-1" ] } } } ] }

Cela SCP empêche l'accès à toute opération en dehors des eu-west-1 régions eu-central-1 et, à l'exception des actions dans les services listés.

Pour plus d'informations, voir Éléments IAM JSON de politique : condition dans le guide de IAM l'utilisateur.

Élément non pris en charge

Les éléments suivants ne sont pas pris en charge dans SCPs :

  • Principal

  • NotPrincipal

  • NotResource