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 : Resource
L’élément Resource
d’une déclaration de politique IAM définit l’objet ou les objets auxquels la déclaration s’applique. Les instructions doivent inclure un élément Resource
ou NotResource
.
Vous indiquez une ressource à l’aide d’un Amazon Resources Name (ARN). Le format de l’ARN dépend du Service AWS et de la ressource spécifique à laquelle vous faites référence. Bien que le format de l’ARN varie, vous utilisez toujours un ARN pour identifier une ressource. Pour de plus amples informations sur le format des ARN, veuillez consulter ARN IAM. Pour plus d'informations sur la façon de spécifier une ressource, reportez-vous à la documentation du service pour lequel vous souhaitez rédiger une instruction.
Note
Certains Services AWS ne vous permettent pas de définir des actions pour des ressources individuelles. Dans ces cas, toutes les actions répertoriées dans Action
ou l’élément NotAction
s’appliquent à toutes les ressources de ce service. Dans ce cas, vous utilisez le caractère générique (*
) dans l’élément Resource
.
L'exemple suivant fait référence à une file d'attente Amazon SQS spécifique.
"Resource": "arn:aws:sqs:us-east-2:
account-ID-without-hyphens
:queue1"
L’exemple suivant fait référence à un utilisateur IAM nommé Bob
dans un Compte AWS.
Note
Dans l'élément Resource
, le nom de l'utilisateur IAM est sensible à la casse.
"Resource": "arn:aws:iam::
account-ID-without-hyphens
:user/Bob"
Utilisation de caractères génériques dans les ARN de ressources
Vous pouvez utiliser des caractères génériques (*
et ?
) dans les segments individuels d’un ARN (les parties séparées par des deux points) pour représenter :
-
Toute combinaison de caractères (
*
) -
Tout caractère unique (
?
)
Vous pouvez utiliser plusieurs *
ou ?
dans chaque segment. Si le caractère générique *
est le dernier caractère d’un segment d’ARN de ressource, il peut s’étendre pour correspondre au-delà des limites des deux points. Nous vous recommandons d’utiliser des caractères génériques (*
et ?
) dans les segments d’ARN séparés par deux points.
Note
Vous ne pouvez pas utiliser un caractère générique dans le segment de service qui identifie le produit AWS. Pour plus d'informations sur les segments ARN, consultez Identifier les ressources AWS avec Amazon Resource Name (ARN)
L'exemple suivant fait référence à tous les utilisateurs IAM dont le chemin d'accès est /accounting
.
"Resource": "arn:aws:iam::
account-ID-without-hyphens
:user/accounting/*"
L'exemple suivant fait référence à tous les éléments d'un compartiment Amazon S3 spécifique.
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
Le caractère astérisque (*
) peut se développer pour remplacer tout ce qui se trouve dans un segment, y compris des caractères tels qu’une barre oblique (/
) qui pourrait autrement sembler être un délimiteur dans un espace de noms de service donné. Par exemple, considérez l'ARN Amazon S3 suivant comme la même logique d'extension générique qui s'applique à tous les services.
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*/test/*"
Les caractères génériques de l'ARN s'appliquent à tous les objets suivants dans le compartiment, et pas seulement au premier objet répertorié.
amzn-s3-demo-bucket/1/test/object.jpg amzn-s3-demo-bucket/1/2/test/object.jpg amzn-s3-demo-bucket/1/2/test/3/object.jpg amzn-s3-demo-bucket/1/2/3/test/4/object.jpg amzn-s3-demo-bucket/1///test///object.jpg amzn-s3-demo-bucket/1/test/.jpg amzn-s3-demo-bucket//test/object.jpg amzn-s3-demo-bucket/1/test/
Considérez les deux derniers objets de la liste précédente. Un nom d’objet Amazon S3 peut commencer ou se terminer par la barre oblique (/
) du délimiteur classique. Bien que /
fonctionne comme un délimiteur, ce caractère n’a pas de signification spécifique lorsqu’il est utilisé dans un ARN de ressource. Il est traité de la même manière que n'importe quel autre caractère valide. L'ARN ne correspondrait pas aux objets suivants :
amzn-s3-demo-bucket/1-test/object.jpg amzn-s3-demo-bucket/test/object.jpg amzn-s3-demo-bucket/1/2/test.jpg
Spécification de plusieurs ressources
Vous pouvez spécifier plusieurs ressources dans l’élément Resource
à l’aide d’un tableau d’ARN. L'exemple suivant fait référence à deux tables DynamoDB.
"Resource": [ "arn:aws:dynamodb:us-east-2:
account-ID-without-hyphens
:table/books_table", "arn:aws:dynamodb:us-east-2:account-ID-without-hyphens
:table/magazines_table" ]
Utilisation de variables de politique dans les ARN de ressources
Dans l'élément Resource
, vous pouvez utiliser des variables de politique JSON dans la partie de l'ARN qui identifie la ressource spécifique (autrement dit, dans la partie finale de l'ARN). Par exemple, vous pouvez utilisez la clé {aws:username}
au sein de l'ARN de la ressource pour indiquer que le nom de l'utilisateur actuel doit être inclus dans le nom de la ressource. L'exemple suivant montre comment utiliser la clé {aws:username}
dans un élément Resource
. La politique autorise l'accès à une table Amazon DynamoDB correspondant au nom de l'utilisateur actuel.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:
account-id
:table/${aws:username}" } }
Pour plus d'informations sur les variables de politique JSON, consultez Éléments des politiques IAM : variables et balises.