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.

È possibile utilizzare una qualsiasi delle chiavi AWS-wide elencate in Available Keys nella IAM User Guide, oppure è possibile utilizzare una delle seguenti chiavi specifiche di SES, utili per l'invio di politiche 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

Il principale, che è l'entità a cui si concede l'autorizzazione, può essere un Account AWS utente AWS Identity and Access Management (IAM) o un AWS servizio.

L'esempio seguente mostra una semplice politica che consente all' AWS ID 123456789012 di inviare e-mail dall'identità verificata example.com (di proprietà di 8888). Account AWS La Condition dichiarazione contenuta in questa politica consente solo al delegato (ovvero, AWS ID 123456789012) di inviare e-mail dall'indirizzo marketing+. * @example .com, dove* è qualsiasi 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' AWS organizzazione 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 «Da», imposti una condizione sulla chiave chiamata ses: FromAddress. La seguente politica consente l'invio dell' Account AWS ID 123456789012 da identity 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 seguente politica consente all' Account AWS ID 123456789012 di inviare da identity example.com, ma solo se il nome visualizzato dell'indirizzo «Da» 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 dichiarazione ne Account AWS autorizza due all'invio da sender@example.com purché l'indirizzo «Da» e l'indirizzo di feedback utilizzino 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" } } } ] }