Esempi di policy di invio - Amazon Simple Email 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à.

Esempi di policy di invio

L'autorizzazione di invio ti permette di specificare le condizioni granulari in base alle quali permettere ai mittenti delegati di inviare e-mail per conto tuo.

Condizioni specifiche per l'autorizzazione di invio

Una condizione è qualsiasi restrizione riguardo all'autorizzazione inclusa nell'istruzione. La parte dell'istruzione che specifica le condizioni può essere la più dettagliata di tutte le parti. Una chiave è la caratteristica specifica sui cui si basa la restrizione di accesso, ad esempio la data e l'ora della richiesta.

Usa insieme condizioni e chiavi per esprimere la limitazione. Ad esempio, se vuoi impedire al mittente delegato di inviare richieste ad Amazon SES per tuo conto dopo il 30 luglio 2019, devi usare la condizione denominata DateLessThan. Usi la chiave denominata aws:CurrentTime e la imposti sul valore 2019-07-30T00:00:00Z.

Puoi usare una qualsiasi delle chiavi specifiche di AWS elencate nella sezione relativa alle chiavi disponibili della Guida per l'utente di IAM oppure puoi usare una delle chiavi seguenti specifiche di SES che sono utili nell'invio di policy di autorizzazione:

Chiave di condizione

Descrizione

ses:Recipients

Limita gli indirizzi del destinatario, che includono gli indirizzi "A", "CC" e "CCN".

ses:FromAddress

Limita l'indirizzo "From".

ses:FromDisplayName

Limita il contenuto della stringa usata come nome visualizzato del mittente, a volte chiamato "friendly from". Ad esempio, il nome visualizzato di "John Doe <johndoe@example.com>" è John Doe.

ses:FeedbackAddress

Limita l'indirizzo "percorso di ritorno", ovvero l'indirizzo a cui ti possono essere inviati reclami e notifiche di mancato recapito tramite l'inoltro di feedback via e-mail. Per informazioni sull'inoltro di feedback via e-mail, consulta Ricezione delle notifiche Amazon SES tramite e-mail.

Puoi utilizzare le condizioni StringEquals e StringLike con le chiavi Amazon SES. Queste condizioni sono per la corrispondenza di stringhe con distinzione tra maiuscole e minuscole. In StringLike, i valori possono includere una corrispondenza con più caratteri jolly (*) o con un singolo carattere jolly (?) ovunque nella stringa. Ad esempio, la condizione seguente specifica che il mittente delegato può inviare e-mail solo da un indirizzo che inizia con invoicing e termina con @example.com:

"Condition": { "StringLike": { "ses:FromAddress": "invoicing*@example.com" } }

Puoi anche utilizzare la condizione StringNotLike per impedire ai mittenti delegati di inviare e-mail da determinati indirizzi e-mail. Ad esempio, puoi non consentire l'invio da admin@example.com e da indirizzi simili, ad esempio "admin"@example.com, admin+1@example.com o sender@admin.example.com, includendo la condizione seguente nell'istruzione della policy:

"Condition": { "StringNotLike": { "ses:FromAddress": "*admin*example.com" } }

Per ulteriori informazioni su come specificare le condizioni, consulta Elementi delle policy JSON IAM: Condizioni nella Guida per l'utente di IAM.

Definizione del mittente delegato

L'entità principale, ossia l'entità cui concedi l'autorizzazione, può essere un Account AWS, un utente AWS Identity and Access Management (IAM) o un servizio AWS.

L'esempio seguente mostra una semplice policy che permette all'ID AWS 123456789012 di inviare e-mail dall'identità verificata example.com (di proprietà dell'account Account AWS 888888888888). L'istruzione Condition in questa policy autorizza solo il delegato (ossia, l'ID AWS 123456789012) a inviare e-mail dall'indirizzo marketing+.*@example.com, in cui * è una stringa che il mittente desidera aggiungere dopo marketing+.

{ "Id":"SampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeMarketer", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"marketing+.*@example.com" } } } ] }

La policy di esempio seguente concede a due utenti di IAM; l'autorizzazione necessaria per inviare e-mail dall'identità example.com. Gli utenti IAM vengono specificati tramite il rispettivo Amazon Resource Name (ARN).

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeIAMUser", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "arn:aws:iam::111122223333:user/John", "arn:aws:iam::444455556666:user/Jane" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ] } ] }

La policy di esempio seguente concede ad Amazon Cognito l'autorizzazione necessaria per inviare e-mail dall'identità example.com.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeService", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "Service":[ "cognito-idp.amazonaws.com" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition": { "StringEquals": { "aws:SourceAccount": "888888888888", "aws:SourceArn": "arn:aws:cognito-idp:us-east-1:888888888888:userpool/your-user-pool-id-goes-here" } } } ] }

La policy di esempio seguente concede a tutti gli account all'interno di un'Organizzazione AWS l'autorizzazione necessaria per inviare e-mail dall'identità example.com. L'organizzazione AWS viene specificata utilizzando la chiave di condizione globale PrincipalOrgID.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeOrg", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":"*", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "aws:PrincipalOrgID":"o-xxxxxxxxxxx" } } } ] }

Limitazione dell'indirizzo del mittente

Se usi un dominio verificato, puoi creare una policy che permette solo al mittente delegato di inviare e-mail da un indirizzo e-mail specificato. Per limitare l'indirizzo del mittente, puoi impostare una condizione nella chiave denominata ses:FromAddress. La policy seguente permette all'ID Account AWS 123456789012 di inviare e-mail dall'identità example.com, ma solo dall'indirizzo e-mail sender@example.com.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "ses:FromAddress":"sender@example.com" } } } ] }

Limitazione dei momenti in cui il delegato può inviare e-mail

Puoi configurare la policy di autorizzazione di invio anche in modo tale che un mittente delegato possa inviare e-mail solo in certe ore del giorno o all'interno di un determinato intervallo di date. Ad esempio, se prevedi di creare una campagna e-mail durante il mese di settembre 2021, puoi usare la policy seguente per limitare la capacità del delegato all'invio di e-mail solo in quel mese.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlTimePeriod", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2021-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2021-10-01T12:00Z" } } } ] }

Limitazione dell'operazione di invio di e-mail

Le operazioni che i mittenti possono usare per inviare un'e-mail con Amazon SES sono due: SendEmail e SendRawEmail, a seconda del livello di controllo che il mittente vuole avere sul formato dell'e-mail. Le policy di autorizzazione di invio permettono di limitare il mittente delegato a una di queste due operazioni. Tuttavia, molti proprietari di identità lasciano la scelta dei dettagli delle chiamate di invio di e-mail al mittente delegato, permettendo entrambe le operazioni nelle policy.

Nota

Se vuoi permettere al mittente delegato di accedere ad Amazon SES tramite l'interfaccia SMTP, devi scegliere almeno SendRawEmail.

Se il tuo caso d'uso è tale da voler limitare l'operazione, a questo scopo puoi includere solo una delle operazioni nella policy di autorizzazione di invio. L'esempio seguente mostra come limitare l'operazione a SendRawEmail.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlAction", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendRawEmail" ] } ] }

Limitazione del nome visualizzato del mittente dell'e-mail

Alcuni client di posta elettronica visualizzano il nome "semplice" del mittente, se specificato nell'intestazione e-mail, invece dell'effettivo indirizzo del mittente. Ad esempio, il nome visualizzato di "John Doe <johndoe@example.com>" è John Doe. Ad esempio, puoi inviare e-mail da utente@esempio.com, ma scegliere che i destinatari vedano l'e-mail provenire da Marketing anziché da utente@esempio.com. La policy seguente permette all'ID Account AWS 123456789012 di inviare e-mail dall'identità example.com, ma solo se il nome visualizzato dell'indirizzo del mittente include Marketing.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

Uso di più istruzioni

La policy di autorizzazione di invio può includere più istruzioni. La policy di esempio seguente include due istruzioni. La prima istruzione autorizza due Account AWS a inviare e-mail da sender@example.com, purché l'indirizzo del mittente e quello per il feedback usino entrambi il dominio example.com. La seconda istruzione autorizza un utente IAM a inviare e-mail da sender@example.com, purché l'indirizzo e-mail del destinatario faccia parte del dominio example.com.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeAWS", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":[ "111111111111", "222222222222" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"*@example.com", "ses:FeedbackAddress":"*@example.com" } } }, { "Sid":"AuthorizeInternal", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":"arn:aws:iam::333333333333:user/Jane" }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":"*@example.com" } } } ] }