Éléments de politique JSON IAM : NotAction - AWS Identity and Access Management

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.

Éléments de politique JSON IAM : NotAction

NotAction est un élément de politique avancé qui correspond de manière explicite à tout sauf à la liste spécifiée des actions. L'utilisation de NotAction peut entraîner une politique plus courte en répertoriant uniquement quelques actions qui ne devraient pas correspondre, plutôt que d'inclure une longue liste d'actions qui correspondront. Les actions spécifiées dans ne NotAction sont pas affectées par l'Denyeffet Allow ou l'effet d'une déclaration de politique. En revanche, cela signifie que toutes les actions ou services applicables non répertoriés sont autorisés si vous utilisez l'effet Allow. En outre, ces actions ou services non répertoriés sont refusées si vous utilisez l'effet Deny. Lorsque vous utilisez NotAction avec l'élément Resource, vous fournissez la portée de la politique. C'est ainsi que l'on AWS détermine quelles actions ou quels services sont applicables. Pour plus d'informations, consultez l'exemple de politique suivant :

NotAction avec Allow

Vous pouvez utiliser l'NotActionélément dans une instruction "Effect": "Allow" pour donner accès à toutes les actions d'un AWS service, à l'exception des actions spécifiées dansNotAction. Vous pouvez l'utiliser avec l'élément Resource pour fournir la portée de la politique, en limitant les actions autorisées aux actions pouvant être exécutées sur la ressource spécifiée.

L'exemple suivant permet aux utilisateurs d'accéder à toutes les actions Amazon S3 pouvant être exécutées sur une ressource S3 sauf pour supprimer un compartiment. Il ne permet pas aux utilisateurs d'utiliser l'opération d'API S3 ListAllMyBuckets, car cette action nécessite la ressource « * ». Cette politique n'autorise pas non plus les actions dans d'autres services, car les actions d'autres services ne sont pas applicables aux ressources S3.

"Effect": "Allow", "NotAction": "s3:DeleteBucket", "Resource": "arn:aws:s3:::*",

Il peut arriver que vous souhaitiez autoriser l'accès à un grand nombre d'actions. En utilisant l'élément NotAction, vous inversez de manière efficace l'instruction, ce qui réduit la liste des actions. Par exemple, en raison AWS du grand nombre de services, vous souhaiterez peut-être créer une politique permettant à l'utilisateur de tout faire sauf d'accéder aux actions IAM.

L'exemple suivant permet aux utilisateurs d'accéder à toutes les actions de tous les AWS services, à l'exception d'IAM.

"Effect": "Allow", "NotAction": "iam:*", "Resource": "*"

Soyez vigilant lorsque vous utilisez l'élément NotAction et "Effect": "Allow" dans la même instruction ou une instruction différente dans une politique. NotAction correspond à tous les services et les actions qui ne sont pas répertoriés de manière explicite ou applicables à la ressource spécifiée, et peut accorder aux utilisateurs plus d'autorisations que vous n'auriez souhaité.

NotAction avec Deny

Vous pouvez utiliser l'élément NotAction dans une instruction avec "Effect": "Deny" pour refuser un accès à l'ensemble des ressources répertoriées sauf pour les actions spécifiées dans l'élément NotAction. Cette combinaison n'autorise pas les éléments répertoriés, mais à la place elle refuse de manière explicite les actions non répertoriées. Vous devez toujours autoriser les actions que vous souhaitez autoriser.

L'exemple conditionnel suivant refuse l'accès aux actions non-IAM si l'utilisateur n'est pas connecté lorsqu'il utilise MFA. Si l'utilisateur est connecté lorsqu'il utilise MFA, le test "Condition" échoue et l'instruction "Deny" finale n'a aucun effet. Notez, toutefois, que ceci n'accorde à l'utilisateur l'accès à aucune action, mais ne fait que refuser explicitement toutes les autres actions sauf les actions IAM.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DenyAllUsersNotUsingMFA", "Effect": "Deny", "NotAction": "iam:*", "Resource": "*", "Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}} }] }

Pour obtenir un exemple de politique qui refuse l'accès aux actions en dehors de régions spécifiques, à l'exception des actions provenant de services spécifiques, veuillez consulter AWS: refuse l'accès AWS en fonction de la région demandée.