Concessione di autorizzazioni per pubblicare messaggi di notifica eventi in una destinazione - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Concessione di autorizzazioni per pubblicare messaggi di notifica eventi in una destinazione

Devi concedere al principale di Amazon S3 le autorizzazioni necessarie per chiamare i pertinenti API per pubblicare messaggi su un SNS argomento, una SQS coda o una funzione Lambda. In questo modo Amazon S3 può pubblicare messaggi di notifica di eventi in una destinazione.

Per risolvere i problemi relativi alla pubblicazione dei messaggi di notifica di eventi su una destinazione, consulta Risoluzione dei problemi relativi alla pubblicazione delle notifiche di eventi di Amazon S3 in un argomento di Servizio di notifica semplice Amazon.

Concessione delle autorizzazioni per richiamare una funzione AWS Lambda

Amazon S3 pubblica messaggi di evento AWS Lambda invocando una funzione Lambda e fornendo il messaggio dell'evento come argomento.

Quando si utilizza la console di Amazon S3 per configurare le notifiche eventi in un bucket di Amazon S3 per una funzione Lambda, la console configura le autorizzazioni necessarie sulla funzione Lambda. In questo modo Amazon S3 dispone delle autorizzazioni per richiamare la funzione dal bucket. Per ulteriori informazioni, consulta Attivazione e configurazione delle notifiche di eventi tramite la console di Amazon S3.

Puoi anche concedere ad Amazon S3 le autorizzazioni AWS Lambda per richiamare la tua funzione Lambda. Per ulteriori informazioni, consulta Tutorial: Using AWS Lambda with Amazon S3 nella AWS Lambda Developer Guide.

Concessione delle autorizzazioni per pubblicare messaggi su un SNS argomento o una coda SQS

Per concedere ad Amazon S3 le autorizzazioni per pubblicare messaggi SNS sull'argomento o sulla SQS coda, allega una policy AWS Identity and Access Management (IAM) all'argomento o alla coda di destinazioneSNS. SQS

Per un esempio di come allegare una policy a un SNS argomento o a una coda, consulta. SQS Procedura dettagliata: configurazione di un bucket per le notifiche (argomento o coda) SNS SQS Per ulteriori informazioni sulle autorizzazioni, consulta i seguenti argomenti:

IAMpolitica per un argomento di destinazione SNS

Di seguito è riportato un esempio di policy AWS Identity and Access Management (IAM) da allegare all'SNSargomento di destinazione. Per istruzioni su come utilizzare questa politica per impostare un SNS argomento Amazon di destinazione per le notifiche di eventi, consultaProcedura dettagliata: configurazione di un bucket per le notifiche (argomento o coda) SNS SQS.

{ "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:*:*:amzn-s3-demo-bucket" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

IAMpolitica per una SQS coda di destinazione

Di seguito è riportato un esempio di IAM policy da allegare alla SQS coda di destinazione. Per istruzioni su come utilizzare questa politica per configurare una SQS coda Amazon di destinazione per le notifiche degli eventi, consultaProcedura dettagliata: configurazione di un bucket per le notifiche (argomento o coda) SNS SQS.

Per utilizzare questa politica, devi aggiornare la SQS coda AmazonARN, il nome del bucket e l'ID del proprietario del bucket. Account AWS

{ "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" } } } ] }

Sia per le SQS IAM politiche di Amazon che per quelle di Amazon, puoi specificare la StringLike condizione nella politica anziché la ArnLike condizione. SNS

Quando ArnLike viene utilizzata, le parti partition, service, account-id, resource-type e resource-id parziale di devono corrispondere esattamente a quelle del contesto della ARN richiesta. ARN La corrispondenza parziale è consentita solo per la regione e il percorso della risorsa.

Quando StringLike viene utilizzata al posto diArnLike, la corrispondenza ignora la ARN struttura e consente la corrispondenza parziale, indipendentemente dalla parte che è stata aggiunta ai caratteri speciali. Per ulteriori informazioni, consulta gli elementi IAM JSON della politica nella Guida per l'IAMutente.

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

AWS KMS politica chiave

Se la SQS coda o SNS gli argomenti sono crittografati con una chiave gestita dal cliente AWS Key Management Service (AWS KMS), devi concedere al servizio Amazon S3 l'autorizzazione principale per lavorare con gli argomenti o la coda crittografati. Per concedere al servizio Amazon S3 l'autorizzazione principale, aggiungi l'istruzione seguente alla policy delle chiavi per la chiave gestita dal cliente.

{ "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": "*" } ] }

Per ulteriori informazioni sulle politiche AWS KMS chiave, consulta Using key policy AWS KMS nella Developer Guide.AWS Key Management Service

Per ulteriori informazioni sull'utilizzo della crittografia lato server con AWS KMS Amazon e SQS AmazonSNS, consulta quanto segue: