IAMJSONéléments de politique : NotResource - 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.

IAMJSONéléments de politique : NotResource

NotResource est un élément de politique avancé qui correspond explicitement à chaque ressource, à l'exception de celles spécifiées. L'utilisation de NotResource peut entraîner une politique plus courte en répertoriant uniquement quelques ressources qui ne devraient pas correspondre, plutôt que d'inclure une longue liste de ressources qui correspondront. Ceci est particulièrement utile pour les politiques applicables au sein d'un même service AWS .

Prenons l'exemple d'un groupe nommé HRPayroll. Les membres de HRPayroll ne doivent pas être autorisés à accéder aux ressources Amazon S3 sauf au dossier Payroll dans le compartiment HRBucket. La politique suivante refuse de manière explicite l'accès à toutes les ressources Amazon S3 autres que celles répertoriées. Notez, toutefois, que cette politique n'accorde à l'utilisateur aucun accès aux ressources.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "s3:*", "NotResource": [ "arn:aws:s3:::HRBucket/Payroll", "arn:aws:s3:::HRBucket/Payroll/*" ] } }

En règle générale, pour refuser de manière explicite l'accès à une ressource vous rédigez une politique qui utilise "Effect":"Deny" et inclut un élément Resource qui répertorie individuellement chaque dossier. Toutefois, dans ce cas, chaque fois que vous ajoutez un dossier à HRBucket, ou une ressource à Amazon S3 à laquelle personne ne doit accéder, vous devez ajouter son nom à la liste dans Resource. Si vous utilisez un élément NotResource à la place, les utilisateurs verront leur accès aux nouveaux dossiers automatiquement refusé sauf si vous ajoutez les noms des dossiers à l'élément NotResource.

Lorsque vous utilisez NotResource, n'oubliez pas que les ressources spécifiées dans cet élément sont les seules ressources qui ne sont pas limitées. Toutes les ressources qui s'appliqueraient à l'action sont limitées. Dans l'exemple ci-dessus, la politique affecte uniquement les actions Amazon S3, et donc uniquement les ressources Amazon S3. Si l'action incluait également EC2 des actions Amazon, la politique ne refuserait l'accès à aucune EC2 ressource. Pour savoir quelles actions d'un service permettent ARN de spécifier une ressource, voir Actions, ressources et clés de condition pour les AWS services.

NotResource avec d'autres éléments

Vous ne devez jamais utiliser les éléments "Effect": "Allow", "Action": "*" et "NotResource": "arn:aws:s3:::HRBucket" ensemble. Cette déclaration est très dangereuse, car elle autorise toutes les actions AWS sur toutes les ressources, à l'exception du compartiment HRBucket S3. Elle autoriserait même l'utilisateur à s'ajouter une politique qui lui permettrait d'accéder à HRBucket. Ne le faites pas.

Soyez vigilant lorsque vous utilisez l'élément NotResource et "Effect": "Allow" dans la même instruction ou une instruction différente dans une politique. NotResource autorise tous les services et ressources qui ne sont pas répertoriés de manière explicite et peut accorder aux utilisateurs plus d'autorisations que vous n'auriez souhaité. L'utilisation de l'élément NotResource et "Effect": "Deny" dans la même instruction refuse les services et les ressources qui ne sont pas répertoriés de manière explicite.