Gerenciamento de identidade e acesso no Amazon SES - Amazon Simple Email Service

Gerenciamento de identidade e acesso no Amazon SES

Você pode usar o AWS Identity and Access Management (IAM) com o Amazon Simple Email Service (Amazon SES) para especificar quais ações da API do SES um usuário, um grupo ou um perfil do IAM pode realizar. (Neste tópico, nós nos referimos coletivamente a essas entidades como usuário.) Você também pode controlar quais endereços de e-mail o usuário pode usar para os endereços "From", destinatário e "Return-Path" dos e-mails.

Por exemplo, você pode criar uma política do IAM permitindo que os usuários da sua organização enviem e-mails, mas que não desempenhem ações administrativas, como a verificação de estatísticas de envio. Como no outro exemplo, você pode criar uma política que permita a um usuário enviar e-mails pelo SES por meio de sua conta, mas somente se ele usar determinado endereço “From” (De).

Para usar o IAM, você define uma política do IAM, que é um documento que explicitamente define as permissões, e anexa a política a um usuário. Para saber como criar políticas do IAM, consulte o Guia do usuário do IAM. Além de aplicar as restrições definidas em sua política, não há alterações na forma como os usuários interagem com o SES nem na forma como o SES realiza as solicitações.

nota
  • Se a conta estiver na sandbox do SES, suas restrições impedirão a implementação de algumas dessas políticas. Consulte Solicitar acesso à produção.

  • Você também pode controlar o acesso ao SES usando políticas de autorização de envio. Enquanto as políticas do IAM restringem o que usuários individuais podem fazer, as políticas de autorização de envio restringem a forma como identidades verificadas individuais podem ser usadas. Além disso, somente as políticas de autorização de envio podem conceder acesso entre contas. Para obter mais informações sobre a autorização de envio, consulte Uso de autorização de envio com o Amazon SES.

Se você estiver procurando informações sobre como gerar credenciais SMTP do SES para um usuário existente, consulte Obtenção de credenciais SMTP do Amazon SES.

Criar políticas do IAM para acesso ao SES

Esta seção explica como usar as políticas do IAM especificamente com o SES. Para saber como criar políticas do IAM no geral, consulte Guia do usuário do IAM.

Há três motivos pelos quais você pode usar o IAM com o SES:

  • Para restringir a ação de envio de e-mail.

  • Para restringir os endereços "From", destinatário e "Return-Path" dos e-mails que o usuário envia.

  • Para controlar aspectos gerais do uso da API, como o período durante o qual um usuário tem permissão para chamar as APIs que estão autorizados a usar.

Restrição da ação

Para controlar quais ações do SES o usuário poderá realizar, use o elemento Action de uma política do IAM. Você pode definir o elemento Action para qualquer ação de API do SES colocando como prefixo do nome da API a string em minúsculas ses:. Por exemplo, você pode definir Action como ses:SendEmail, ses:GetSendStatistics ou ses:* (para todas as ações).

Em seguida, dependendo da Action, especifique o elemento Resource da seguinte forma:

Se o elemento Action permitir apenas o acesso a APIs de envio de e-mails (ou seja, ses:SendEmail e/ou ses:SendRawEmail):

  • Para permitir que o usuário envie de qualquer identidade na sua Conta da AWS, defina Resource como *

  • Para restringir as identidades a partir das quais o usuário pode enviar, defina Resource como os ARNs das identidades que você estiver permitindo que o usuário utilize.

Se o elemento Action permitir acesso a todas as APIs:

  • Se você não quiser restringir as identidades a partir das quais o usuário pode enviar, defina Resource como *

  • Se você quiser restringir as identidades com as quais um usuário pode enviar, será necessário criar duas políticas (ou duas declarações dentro de uma política):

    • Uma com Action definida como uma lista explícita de APIs permitidas para não envio de e-mails e Resource definido como*

    • Uma com Action definida como uma das APIs de envio de e-mails (ses:SendEmail e/ou ses:SendRawEmail) e Resource definido como os ARNs das identidades que você está permitindo que o usuário use.

Para obter uma lista das ações disponíveis do SES, consulte a Referência da API do Amazon Simple Email Service. Se o usuário for usar a interface SMTP, será necessário permitir acesso a ses:SendRawEmail, no mínimo.

Restrição de endereços de e-mail

Se você quiser restringir o usuário a endereços de e-mail específicos, pode usar um bloco Condition. No bloco Condition, você especifica as condições usando chaves de condição, como descrito no Guia do usuário do IAM. Ao usar chaves de condição, você pode controlar os seguintes endereços de e-mail:

nota

Essas chaves de condição de endereço de e-mail aplicam-se somente às APIs indicadas na tabela a seguir.

Chave de condição

Descrição

API

ses:Recipients

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

SendEmail, SendRawEmail

ses:FromAddress

Restringe o endereço "From".

SendEmail, SendRawEmail, SendBounce

ses:FromDisplayName

Restringe o endereço "From" usado como o nome de exibição.

SendEmail, SendRawEmail

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ê pelo 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.

SendEmail, SendRawEmail

ses:MultiRegionEndpointId

Permite que você controle qual ID de endpoint é usado ao enviar e-mails.

SendEmail, SendBulkEmail

Restringir pela versão da API do SES

Ao usar a chave ses:ApiVersion em condições, você pode restringir o acesso ao SES com base na versão da API do SES.

nota

A interface SMTP do SES usa a API do SES versão 2 de ses:SendRawEmail.

Restrição do uso da API geral

Usando chaves no âmbito da AWS em condições, você pode restringir o acesso ao SES com base em aspectos como a data e a hora em que o usuário tem permissão para acessar as APIs. O SES implementa somente as seguintes chaves de políticas no âmbito da AWS:

  • aws:CurrentTime

  • aws:EpochTime

  • aws:SecureTransport

  • aws:SourceIp

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserAgent

  • aws:VpcSourceIp

Para obter mais informações sobre essas chaves, consulte o Guia do usuário do IAM.

Exemplo de políticas do IAM para o SES

Este tópico inclui exemplos de políticas que permitem a um usuário acessar o SES, mas apenas em determinadas condições.

Permitir acesso total a todas as ações do SES

A política a seguir permite que um usuário chame qualquer ação do SES.

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

Permitir acesso somente à API do SES versão 2

A política a seguir permite que um usuário chame apenas as ações do SES da API versão 2.

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

Permitir acesso somente a ações de envio de e-mails

A política a seguir permite que um usuário envie um e-mail usando o SES, mas não permite que o usuário realize ações administrativas, como acessar estatísticas de envio do SES.

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

Restringir o período de envio

A política a seguir permite que o usuário chame APIs de envio de e-mail do SES somente durante o mês de setembro de 2018.

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

Restringir os endereços do destinatário

A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas somente para endereços de destinatários no domínio exemplo.com (StringLike diferencia maiúsculas de minúsculas).

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

Restringir o endereço "From".

A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas somente se o endereço “From” (De) for marketing@exemplo.com.

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

A política a seguir permite que um usuário chame a API SendBounce, mas somente se o endereço "From" for bounce@example.com.

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

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

A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas somente se o nome de exibição do endereço “From” (De) incluir Marketing (StringLike diferencia maiúsculas de minúsculas).

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

Restringir o destino do feedback de devolução e reclamação

A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas apenas se “Return-Path” do e-mail for definido como feedback@exemplo.com.

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