Identity and Access Management in Amazon SES - 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à.

Identity and Access Management in Amazon SES

Puoi utilizzare AWS Identity and Access Management (IAM) con Amazon Simple Email Service (Amazon SES) per specificare quali azioni API SES possono eseguire un utente, un gruppo o un ruolo. In questo argomento queste entità vengono indicate collettivamente con il termine utente. Puoi anche determinare quali indirizzi e-mail possono essere utilizzati dall'utente per gli indirizzi "From", "To" e "Return-Path" delle e-mail.

Ad esempio, puoi creare una policy IAM che consente agli utenti nell'organizzazione di inviare e-mail ma non di eseguire operazioni amministrative, come controllare le statistiche di invio. Come altro esempio, puoi scrivere una policy che consente a un utente di inviare e-mail tramite SES dal tuo account, ma solo se utilizza un determinato indirizzo "From".

Per utilizzare IAM, devi definire una policy IAM, ossia un documento che definisce in modo esplicito le autorizzazioni, e collegare la policy a un utente. Per informazioni su come creare policy IAM, consulta la Guida per l'utente IAM. Salvo per l'applicazione delle limitazioni impostate nella policy, non ci sono variazioni nelle modalità con cui gli utenti interagiscono con SES o con cui SES esegue le richieste.

Nota
  • Se il tuo account è ancora nella sandbox SES, le sue restrizioni impediscono l'implementazione di alcune di queste policy - vedi Richiesta dell'accesso di produzione.

  • Puoi inoltre controllare l'accesso a SES utilizzando policy di autorizzazione all'invio. Mentre le policy IAM limitano le operazioni dei singoli utenti, le policy di autorizzazione di invio limitano il modo in cui le singole identità verificate possono essere utilizzate. Inoltre, solo le policy di autorizzazione all'invio possono concedere l'accesso multiaccount. Per ulteriori informazioni sull'autorizzazione all'invio, consulta Uso dell'autorizzazione di invio con Amazon SES.

Se cerchi informazioni su come generare le credenziali SMTP SES per un utente esistente, consulta Ottenere le SES SMTP credenziali Amazon.

Creazione di policy IAM per l'accesso a SES

Questa sezione spiega in che modo puoi utilizzare le policy IAM specificamente con SES. Per informazioni su come creare policy IAM in generale, consulta la Guida per l'utente IAM.

Esistono tre possibili motivi per utilizzare IAM con SES:

  • per limitare l'operazione di invio di e-mail;

  • per limitare gli indirizzi "From", "To" e "Return-Path" delle e-mail che l'utente invia;

  • per controllare gli aspetti generali di utilizzo delle API, ad esempio il periodo di tempo durante il quale un utente può chiamare le API che è autorizzato a utilizzare.

Limitazione delle operazioni

Per determinare quali operazioni SES possono essere eseguite da un utente, devi utilizzare l'elemento Action di una policy IAM. Puoi impostare l'elemento Action su qualsiasi operazione dell'API SES anteponendo al nome dell'API la stringa minuscola ses: come prefisso. Ad esempio, puoi impostare Action su ses:SendEmail, ses:GetSendStatistics o ses:* (per tutte le operazioni).

Quindi, a seconda di Action, specifica l'elemento Resource come segue:

Se l'elemento Action consente l'accesso solo alle API di invio di e-mail (cioè ses:SendEmail e/o ses:SendRawEmail):

  • Per consentire all'utente di inviare messaggi da qualsiasi identità del tuo account Account AWS, imposta Resource su*

  • Per limitare le identità da cui un utente può inviare, imposta Resource sugli ARN delle identità che stai permettendo all'utente di utilizzare.

Se l'elemento Action consente l'accesso a tutte le API:

  • Se non vuoi limitare le identità da cui l'utente può inviare, imposta Resource su *.

  • Se desideri limitare le identità da cui un utente può inviare, è necessario creare due policy (o due istruzioni all'interno di una policy):

    • Uno Action impostato su un elenco esplicito delle non-email-sending API consentite e Resource impostato su*

    • una in cui Action è impostato su una delle API di invio di e-mail (ses:SendEmail e/o ses:SendRawEmail) e Resource è impostato sugli ARN delle identità il cui uso vuoi consentire all'utente.

Per un elenco delle operazioni di Amazon SES disponibili, consulta la Documentazione di riferimento dell'API Amazon Simple Email Service. Se l'utente utilizzerà l'interfaccia SMTP, devi consentire l'accesso almeno a ses:SendRawEmail.

Limitazione degli indirizzi e-mail

Se desideri limitare l'utente a specifici indirizzi e-mail, puoi utilizzare un blocco Condition. Nel blocco Condition devi specificare le condizioni utilizzando chiavi di condizione come descritto nella Guida per l'utente IAM. Le chiavi di condizione consentono di controllare i seguenti indirizzi e-mail:

Nota

Queste chiavi di condizione per indirizzi e-mail sono valide solo per le API indicate nella seguente tabella.

Chiave di condizione

Descrizione

API

ses:Recipients

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

SendEmail, SendRawEmail

ses:FromAddress

Limita l'indirizzo "From".

SendEmail, SendRawEmail, SendBounce

ses:FromDisplayName

Limita l'indirizzo "From" che viene utilizzato come nome visualizzato.

SendEmail, SendRawEmail

ses:FeedbackAddress

Limita l'indirizzo "Return-Path", che è l'indirizzo a cui mancati recapiti e reclami ti possono essere inviati 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.

SendEmail, SendRawEmail

Limitazione per versione API SES

Usando la chiave ses:ApiVersion in condizioni, è possibile limitare l'accesso a SES in base alla versione dell'API SES.

Nota

L'interfaccia SMTP SES utilizza l’API SES versione 2 di ses:SendRawEmail.

Limitazione dell'utilizzo generale delle API

Utilizzando le chiavi AWS-wide in determinate condizioni, è possibile limitare l'accesso a SES in base ad aspetti quali la data e l'ora in cui l'utente può accedere alle API. SES implementa solo le seguenti chiavi di policy a livello di AWS estensione:

  • aws:CurrentTime

  • aws:EpochTime

  • aws:SecureTransport

  • aws:SourceIp

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserAgent

  • aws:VpcSourceIp

Per ulteriori informazioni su queste chiavi, consulta la Guida per l'utente IAM.

Esempi di policy IAM per SES

Questo argomento fornisce esempi di policy che consentono a un utente di accedere a SES, ma solo a determinate condizioni.

Impostazione dell'accesso completo a tutte le operazioni SES

La policy seguente permette a un utente di chiamare qualsiasi operazione SES.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:*" ], "Resource":"*" } ] }

Consentire l'accesso solo alle API SES versione 2

La policy seguente permette a un utente di chiamare solo le operazioni SES dell'API versione 2.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:*" ], "Resource":"*", "Condition": { "StringEquals" : { "ses:ApiVersion" : "2" } } } ] }

Impostazione dell'accesso solo a operazioni di invio di e-mail

La policy seguente consente a un utente di inviare e-mail utilizzando SES, ma non di eseguire altre operazioni di livello amministrativo, ad esempio accedere alle statistiche di invio SES.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*" } ] }

Limitazione del periodo di tempo di invio

La policy seguente consente a un utente di chiamare le API di invio di e-mail SES soltanto durante il mese di settembre 2018.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2018-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2018-10-01T12:00Z" } } } ] }

Limitazione degli indirizzi del destinatario

La policy seguente consente a un utente di richiamare le API di invio di e-mail SES, ma solo per gli indirizzi dei destinatari nel dominio example.com (StringLike fa distinzione tra maiuscole e minuscole).

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":[ "*@example.com" ] } } } ] }

Limitazione dell'indirizzo "From"

La policy seguente consente a un utente di chiamare le API di invio di e-mail SES, ma solo se l'indirizzo "From" è marketing@example.com.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"marketing@example.com" } } } ] }

La seguente politica consente a un utente di chiamare l'SendBounceAPI, ma solo se l'indirizzo «Da» è bounce@example.com.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendBounce" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"bounce@example.com" } } } ] }

Limitazione del nome visualizzato del mittente dell'e-mail

La policy seguente consente a un utente di richiamare le API di invio di e-mail SES, ma solo se il nome visualizzato dell'indirizzo "From" include Marketing (StringLike fa distinzione tra maiuscole e minuscole).

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

Limitazione della destinazione del feedback su mancato recapito e reclamo

La policy seguente consente a un utente di chiamare le API di invio di e-mail SES, ma solo se "Return-Path" nell'e-mail è impostato su feedback@example.com.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FeedbackAddress":"feedback@example.com" } } } ] }