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

È necessario concedere al principale di Amazon S3 le autorizzazioni necessarie per richiamare l'API pertinente per pubblicare i messaggi in un argomento SNS, una coda SQS 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 di autorizzazioni per pubblicare messaggi in un argomento SNS o una coda SQS

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

Per un esempio di come collegare una policy a un argomento SNS o a una coda SQS, consulta la sezione Spiegazione passo per passo: configurare un bucket per le notifiche (argomento SNS o coda SQS). Per ulteriori informazioni sulle autorizzazioni, consulta i seguenti argomenti:

Policy IAM per un argomento SNS di destinazione

Di seguito è riportato un esempio di policy AWS Identity and Access Management (IAM) da allegare all'argomento SNS di destinazione. Per maggiori informazioni su come utilizzare questa policy per configurare un argomento Amazon SNS di destinazione per le notifiche degli eventi, consulta Spiegazione passo per passo: configurare un bucket per le notifiche (argomento SNS o coda 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:*:*:bucket-name" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

Policy IAM per una coda SQS di destinazione

Di seguito è riportato un esempio di policy IAM collegata alla coda SQS di destinazione. Per maggiori informazioni su come utilizzare questa policy per impostare una coda Amazon SQS di destinazione per le notifiche degli eventi, consulta Spiegazione passo per passo: configurare un bucket per le notifiche (argomento SNS o coda SQS).

Per utilizzare questa politica, devi aggiornare l'ARN della coda Amazon SQS, 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" } } } ] }

Per entrambe le policy IAM di Amazon SNS e Amazon SQS, è possibile specificare la condizione StringLike nella policy anziché la condizione ArnLike.

Quando si utilizza ArnLike, le porzioni partizione, servizio, ID account, tipo di risorsa e ID risorsa parziale dell'ARN devono corrispondere esattamente all'ARN nel contesto della richiesta. La corrispondenza parziale è consentita solo per la regione e il percorso della risorsa.

Quando al posto di StringLike viene utilizzato ArnLike, la corrispondenza ignora la struttura dell'ARN e consente una corrispondenza parziale, indipendentemente dalla porzione utilizzata come carattere jolly. Per ulteriori informazioni, consulta Elementi delle policy JSON IAM nella Guida per l'utente di IAM.

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

AWS KMS politica chiave

Se la coda SQS o gli argomenti SNS 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 nella AWS KMS Developer Guide.AWS Key Management Service

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