

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 : NotResource
<a name="reference_policies_elements_notresource"></a>

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

------
#### [ JSON ]

****  

```
{
  "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 l’élément `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’élément `Action` comprenait également des actions Amazon EC2, la politique refuserait alors l’accès à toutes les ressources EC2 non spécifiées dans l’élément `NotResource`. Pour savoir quelles actions d'un service permettent de spécifier l'ARN d'une ressource, consultez [Actions, ressources et clés de condition pour les AWS services](reference_policies_actions-resources-contextkeys.html).

## NotResource avec d'autres éléments
<a name="notresource-element-combinations"></a>

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.