Exemplos de política de envio - Amazon Simple Email Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de política de envio

A autorização de envio permite que você especifique as condições detalhadas sob as quais você permite que remetentes delegados enviem em seu nome.

Condições específicas para o envio da autorização

Uma condição é qualquer restrição sobre a permissão na instrução. A parte da instrução que especifica as condições pode ser a mais detalhada de todas as partes. Uma chave é a característica específica que é a base para a restrição de acesso, como a data e a hora da solicitação.

Você usa condições e chaves em conjunto para expressar a restrição. Por exemplo, se você deseja impedir que o remetente delegado faça solicitações ao Amazon SES em seu nome após 30 de julho de 2019, use a condição chamada DateLessThan. Você usa a chave chamada aws:CurrentTime e a define para o valor 2019-07-30T00:00:00Z.

Você pode usar qualquer uma das chaves que abrangem toda a AWS, listadas em Chaves disponíveis no Guia do usuário do IAM, ou uma das seguintes chaves específicas do SES, que são úteis em políticas de autorização de envio:

Chave de condição

Descrição

ses:Recipients

Restringe os endereços do destinatário, que incluem os endereços To:, "CC" e "BCC".

ses:FromAddress

Restringe o endereço "From".

ses:FromDisplayName

Restringe o conteúdo da string que é usado como o nome de exibição "From" (às vezes chamado de "amigável"). Por exemplo, o nome de exibição de "John Doe <johndoe@example.com>" é John Doe.

ses:FeedbackAddress

Restringe o endereço "Return Path", que é o endereço para o qual devoluções e reclamações podem ser enviadas a você por encaminhamento de feedback por e-mail. Para obter informações sobre reenvio de feedback por e-mail, consulte Recebimento de notificações do Amazon SES por e-mail.

Você pode usar as condições StringEquals e StringLike com as chaves do Amazon SES. Essas condições são para correspondência de strings maiúsculas e minúsculas. Para StringLike, os valores podem incluir uma correspondência de vários caracteres curinga (*) ou uma correspondência de um único caractere curinga (?) em qualquer lugar da string. Por exemplo, a condição a seguir especifica que o remetente delegado só pode enviar a partir de um endereço "From" que começa com invoicing e termina com example.com:

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

Também é possível usar a condição StringNotLike para impedir que remetentes delegados enviem e-mails de determinados endereços de e-mail. Por exemplo, você pode não permitir o envio de admin@exemplo.com, bem como de endereços semelhantes, como "admin"@exemplo.com, admin+1@exemplo.com ou sender@admin.exemplo.com, incluindo a seguinte condição na instrução de sua política:

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

Para obter mais informações sobre como especificar condições, consulte Elementos de política JSON do IAM: condição no Manual do usuário do IAM.

Especificação do remetente delegado

O principal, que é a entidade para a qual você está concedendo permissão, pode ser uma conta da Conta da AWS, um usuário do AWS Identity and Access Management (IAM) ou um serviço da AWS.

O exemplo a seguir mostra uma política simples que permite ao ID da AWS 123456789012 enviar e-mail da identidade verificada exemplo.com (que pertence à conta da Conta da AWS 888888888888). A instrução Condition nesta política permite que apenas o delegado (ou seja, o ID 123456789012 da AWS) envie e-mail do endereço marketing+.*@example.com, em que * é qualquer string que o remetente deseja adicionar depois de 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" } } } ] }

O seguinte exemplo de política concede permissão a dois usuários do IAM para enviar de identidade exemplo.com. Os usuários do IAM são especificados pelo nome do recurso da Amazon (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" ] } ] }

O seguinte exemplo de política concede permissão ao Amazon Cognito para enviar da identidade exemplo.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" } } } ] }

O seguinte exemplo de política concede a todas as contas de uma organização da AWS permissão para enviar da identidade exemplo.com. A organização da AWS é especificada usando a chave de condição global 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" } } } ] }

Restrição do endereço "From" (De)

Se você usar um domínio verificado, poderá criar uma política que permita que apenas o remetente delegado envie de um endereço de e-mail especificado. Para restringir o endereço "From", você define uma condição na chave chamada ses:FromAddress. A política a seguir permite que o ID da Conta da AWS 123456789012 envie a partir da identidade exemple.com, mas apenas do endereço de e-mail remetente@exemplo.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" } } } ] }

Restrição da hora em que o delegado pode enviar e-mail

Você também pode configurar sua política de autorização de remetente para que um remetente delegado só possa enviar e-mails em uma hora específica do dia ou em um determinado intervalo de datas. Por exemplo, se pretende enviar uma campanha de e-mail durante o mês de setembro de 2021, você pode usar a seguinte política para restringir a capacidade do delegado enviar e-mails apenas a esse mês.

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

Restrição da ação de envio de e-mail

Há duas ações que os remetentes podem usar para enviar um e-mail com o Amazon SES: SendEmail e SendRawEmail, dependendo da quantidade de controle que o remetente quer ter sobre o formato do e-mail. As políticas de autorização de envio permitem que você restrinja o remetente delegado a uma dessas duas ações. No entanto, muitos proprietários de identidade deixam os detalhes das chamadas de envio de e-mail a cargo do remetente delegado habilitando as duas ações em suas políticas.

nota

Se você deseja permitir que o remetente delegado acesse o Amazon SES por meio da interface SMTP, escolha SendRawEmail no mínimo.

Se seu caso de uso envolve restringir a ação, você pode fazer isso incluindo apenas uma das ações em sua política de autorização de envio. O exemplo a seguir mostra como restringir a ação 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" ] } ] }

Restrição do nome de exibição do remetente do e-mail

Alguns clientes de e-mail exibem o nome "amigável" do remetente do e-mail (se o cabeçalho de e-mail fornecer), em vez do endereço "From" real. Por exemplo, o nome de exibição de "John Doe <johndoe@example.com>" é John Doe. Por exemplo, você pode enviar e-mails de user@example.com, mas prefere que os destinatários vejam que o e-mail é proveniente de Marketing em vez de user@example.com. A política a seguir permite que o ID da Conta da AWS 123456789012 envie a partir da identidade exemplo.com, mas somente se o nome de exibição do endereço "From" (De) incluir 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 de várias instruções

Sua política de autorização de envio pode incluir várias instruções. O exemplo de política a seguir contém duas instruções. A primeira instrução autoriza duas Contas da AWS a enviar de remetende@exemplo.com desde que o endereço "From" (De) e o endereço de feedback usem o domínio exemplo.com. A segunda instrução autoriza um usuário do IAM a enviar e-mails de remetente@exemplo.com desde que o e-mail do destinatário esteja no domínio exemplo.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" } } } ] }