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
Note
Tous les caractères de votre SCP compte par rapport à sa taille maximale. Les exemples de ce guide montrent les SCPs formats 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. |
|
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 |
Spécifie le AWS service et les actions SCP autorisés ou refusés. |
|
|
Spécifie le AWS service et les actions exemptés duSCP. Utilisé au lieu de l'élément |
|
|
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
estDeny
), un «élémentAction
ouNotAction
.
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 ne font pas la distinction majuscules/majuscules. 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