Octroi d'autorisations pour la publication de messages de notification d'événement vers une destination - Amazon Simple Storage Service

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.

Octroi d'autorisations pour la publication de messages de notification d'événement vers une destination

Vous devez accorder au principal Amazon S3 les autorisations nécessaires pour appeler le correspondant API afin de publier des messages sur un SNS sujet, une SQS file d'attente ou une fonction Lambda. Amazon S3 peut ainsi publier des messages de notification d'événement vers une destination.

Pour résoudre les problèmes liés à la publication de messages de notification d'événements vers une destination, consultez Troubleshoot to publish Amazon S3 event notifications to an Amazon Simple Notification Service topic (Résoudre les problèmes liés à la publication de notifications d'événements Amazon S3 sur une rubrique Amazon Simple Notification Service).

Octroi d'autorisations pour appeler une AWS Lambda fonction

Amazon S3 publie des messages d'événement sur AWS Lambda en invoquant une fonction Lambda et en fournissant le message d'événement en tant qu'argument.

Lorsque vous utilisez la console Amazon S3 pour configurer les notifications d'événements sur un compartiment Amazon S3 pour une fonction Lambda, la console définit les autorisations nécessaires au niveau de la fonction Lambda. Amazon S3 dispose ainsi d'autorisations pour appeler la fonction à partir du compartiment. Pour plus d’informations, consultez Activation et configuration des notifications d'événements à l'aide de la console Amazon S3.

Vous pouvez également accorder à Amazon S3 des autorisations AWS Lambda pour appeler votre fonction Lambda. Pour plus d'informations, consultez Tutoriel : Utilisation AWS Lambda avec Amazon S3 dans le Guide du AWS Lambda développeur.

Octroi d'autorisations pour publier des messages dans un SNS sujet ou une SQS file d'attente

Pour accorder à Amazon S3 l'autorisation de publier des messages dans le SNS sujet ou la SQS file d'attente, associez une politique AWS Identity and Access Management (IAM) au SNS sujet ou à la SQS file d'attente de destination.

Pour un exemple de la manière d'associer une politique à un SNS sujet ou à une SQS file d'attente, consultezProcédure pas à pas : Configuration d'un compartiment pour les notifications (SNSsujet ou SQS file d'attente). Pour en savoir plus sur les autorisations, consultez les rubriques suivantes :

IAMpolitique pour un SNS sujet de destination

Voici un exemple de politique AWS Identity and Access Management (IAM) que vous associez au SNS sujet de destination. Pour savoir comment utiliser cette politique pour configurer une SNS rubrique Amazon de destination pour les notifications d'événements, consultezProcédure pas à pas : Configuration d'un compartiment pour les notifications (SNSsujet ou SQS file d'attente).

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "Example SNS topic policy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "SNS-topic-ARN", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:bucket-name" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

IAMpolitique pour une file d'SQSattente de destination

Voici un exemple de IAM politique que vous associez à la SQS file d'attente de destination. Pour savoir comment utiliser cette politique pour configurer une SQS file d'attente Amazon de destination pour les notifications d'événements, consultezProcédure pas à pas : Configuration d'un compartiment pour les notifications (SNSsujet ou SQS file d'attente).

Pour appliquer cette politique, vous devez mettre à jour la SQS file d'attente AmazonARN, le nom du bucket et l' Compte AWS ID du propriétaire du bucket.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SQS:SendMessage" ], "Resource": "arn:aws:sqs:Region:account-id:queue-name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

Pour les SQS IAM politiques Amazon SNS et Amazon, vous pouvez spécifier la StringLike condition dans la politique plutôt que la ArnLike condition.

Lorsqu'elle ArnLike est utilisée, les parties partition, service, identifiant de compte, type de ressource et identifiant de ressource partiel ARN doivent correspondre exactement à celles du contexte de la demande. ARN Seuls la région et le chemin de ressource permettent une correspondance partielle.

Lorsqu'elle StringLike est utilisée à la place deArnLike, la mise en correspondance ignore la ARN structure et permet une correspondance partielle, quelle que soit la partie associée au caractère générique. Pour plus d'informations, consultez les éléments IAM JSON de politique dans le guide de IAM l'utilisateur.

"Condition": {        "StringLike": { "aws:SourceArn": "arn:aws:s3:*:*:bucket-name" } }

AWS KMS politique clé

Si la SQS file d'attente ou les SNS sujets sont chiffrés à l'aide d'une clé gérée par le client AWS Key Management Service (AWS KMS), vous devez accorder au service Amazon S3 l'autorisation principale de travailler avec les sujets ou la file d'attente chiffrés. Ajoutez l'instruction suivante à la politique de la clé gérée par le client afin d'accorder l'autorisation au principal de service Amazon S3.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }

Pour plus d'informations sur les politiques AWS KMS clés, consultez la section Utilisation des politiques clés AWS KMS dans le Guide du AWS Key Management Service développeur.

Pour plus d'informations sur l'utilisation du chiffrement côté serveur pour AWS KMS Amazon et SQS AmazonSNS, consultez ce qui suit :