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á.
Concessão de permissões ao Amazon SES para recebimento de e-mails
Algumas das tarefas que você pode realizar ao receber e-mails no SES, como enviar e-mails para um bucket do Amazon Simple Storage Service (Amazon S3) ou chamar AWS Lambda uma função, exigem permissões especiais. Esta seção mostra políticas de exemplo para vários casos de uso comuns.
Tópicos nesta seção:
Configuração de permissões de perfil do IAM para a ação Entregar ao bucket do S3
Os seguintes pontos são aplicáveis a esse perfil do IAM:
-
Ele só pode ser usado para Ação Deliver to S3 bucket (Entregar ao bucket do S3).
-
Ele deve ser usado se quiser gravar em um bucket do S3 que existe em uma região onde o Recebimento de e-mail do SES não está disponível.
Se quiser gravar em um bucket do S3, forneça um perfil do IAM com permissões para acessar os recursos relevantes para a Ação Deliver to S3 bucket (Entregar ao bucket do S3). Você também precisaria conceder permissão ao SES para que assumisse esse perfil a fim de realizar a ação por meio de uma política de confiança do IAM, conforme explicado na próxima seção.
Essa política de permissão deve ser colada no editor de política em linha do perfil do IAM. Consulte Ação Deliver to S3 bucket (Entregar ao bucket do S3) e siga as etapas descritas no item do perfil do IAM. (O exemplo a seguir também inclui permissões opcionais caso você queira usar a notificação de tópico do SNS ou uma chave gerenciada pelo cliente na ação do S3.)
{ "Version": "2012-10-17", "Statement": [ // Required: allows SES to write in the bucket { "Sid": "S3Access", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/*" }, // Optional: use if an SNS topic is used in the S3 action { "Sid": "SNSAccess", "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:region
:111122223333
:my-topic
" }, // Optional: use if a customer managed key is used in the S3 action { "Sid": "KMSAccess", "Effect": "Allow", "Action": "kms:GenerateDataKey*", "Resource": "arn:aws:kms:region
::111122223333
:key/key-id
" } ] }
Faça as seguintes alterações no exemplo de política anterior:
-
amzn-s3-demo-bucket
Substitua pelo nome do bucket do S3 no qual você deseja gravar. -
region
Substitua pelo Região da AWS local em que você criou a regra de recebimento. -
Substitua
111122223333
pelo ID de sua conta da AWS . -
my-topic
Substitua pelo nome do tópico do SNS no qual você deseja publicar notificações. -
key-id
Substitua pelo ID da sua chave KMS.
Política de confiança para o perfil do IAM da ação do S3
A política de confiança a seguir deve ser adicionada às Relações de confiança do perfil do IAM para permitir que o SES assuma esse perfil.
nota
A adição manual dessa política de confiança só é necessária quando você não cria seu perfil do IAM pelo console do SES usando as etapas descritas no item do Perfil do IAM do fluxo de trabalho da Ação Deliver to S3 bucket (Entregar ao bucket do S3). Quando você cria o perfil do IAM pelo console, essa política de confiança é automaticamente gerada e aplicada ao perfil, tornando essa etapa desnecessária.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESAssume", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount":"
111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } } ] }
Faça as seguintes alterações no exemplo de política anterior:
-
region
Substitua pelo Região da AWS local em que você criou a regra de recebimento. -
Substitua
111122223333
pelo ID de sua conta da AWS . -
rule_set_name
Substitua pelo nome do conjunto de regras que contém a regra de recebimento que contém a ação de entrega para o bucket do Amazon S3. -
receipt_rule_name
Substitua pelo nome da regra de recebimento que contém a ação de entrega para o bucket do Amazon S3.
Conceder permissão ao SES para gravar em um bucket do S3
Quando você aplica a política a seguir a um bucket do S3, ela concede permissão ao SES para gravar nesse bucket, desde que ele exista em uma região onde o recebimento de e-mail do SES está disponível. Se você quiser gravar em um bucket fora de uma região com recebimento de e-mail, consulte Configuração de permissões de perfil do IAM para a ação Entregar ao bucket do S3. Para obter mais informações sobre a criação de regras de recebimento que transferem e-mails de entrada para o Amazon S3, consulte Ação Deliver to S3 bucket (Entregar ao bucket do S3).
Para obter mais informações sobre como anexar políticas aos buckets do S3, consulte Uso de políticas de bucket e políticas de usuário no Guia do usuário do Amazon Simple Storage Service.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowSESPuts", "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket
/*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } } ] }
Faça as seguintes alterações no exemplo de política anterior:
-
amzn-s3-demo-bucket
Substitua pelo nome do bucket do S3 no qual você deseja gravar. -
region
Substitua pela AWS região em que você criou a regra de recebimento. -
Substitua
111122223333
pelo ID de sua conta da AWS . -
rule_set_name
Substitua pelo nome do conjunto de regras que contém a regra de recebimento que contém a ação de entrega para o bucket do Amazon S3. -
receipt_rule_name
Substitua pelo nome da regra de recebimento que contém a ação de entrega para o bucket do Amazon S3.
Conceder permissão ao SES para usar sua chave do AWS KMS
Para o SES criptografar seus e-mails, ele deve ter permissão para usar a chave do AWS KMS especificada ao configurar sua regra de recebimento. Você pode usar a chave do KMS padrão (aws/ses) na sua conta ou uma chave gerenciada pelo cliente criada por você. Se você usar a chave padrão do KMS, não será necessário realizar etapas adicionais para conceder permissão ao SES para usá-la. Se você usar uma chave gerenciada pelo cliente, precisará conceder ao SES permissão para usá-la adicionando uma instrução à política da chave.
Use a seguinte instrução de política como política de chave para permitir que o SES use sua chave gerenciada pelo cliente quando ele receber e-mails em seu domínio.
{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"
111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } }
Faça as seguintes alterações no exemplo de política anterior:
-
region
Substitua pela AWS região em que você criou a regra de recebimento. -
Substitua
111122223333
pelo ID de sua conta da AWS . -
rule_set_name
Substitua pelo nome do conjunto de regras que contém a regra de recebimento que você associou ao recebimento de e-mails. -
receipt_rule_name
Substitua pelo nome da regra de recebimento que você associou ao recebimento de e-mails.
Se você estiver usando AWS KMS para enviar mensagens criptografadas para um bucket do S3 com a criptografia do lado do servidor ativada, será necessário adicionar a ação de política,. "kms:Decrypt"
Usando o exemplo anterior, a inclusão dessa ação à sua política poderia ser feita da seguinte forma:
{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"
111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } }
Para obter mais informações sobre como anexar políticas às AWS KMS chaves, consulte Usando políticas de chaves AWS KMS no Guia do AWS Key Management Service desenvolvedor.
Dê permissão ao SES para invocar uma função AWS Lambda
Para permitir que o SES chame uma AWS Lambda função, você pode escolher a função ao criar uma regra de recebimento no console do SES. Quando você faz isso, o SES adiciona automaticamente as permissões necessárias à função.
Você também pode usar a operação AddPermission
na API da AWS Lambda
para anexar uma política a uma função. A seguinte chamada da API AddPermission
concede ao SES permissão para invocar a função do Lambda. Para obter mais informações sobre como anexar políticas a funções do Lambda, consulte Permissões do AWS Lambda no Guia do desenvolvedor do AWS Lambda .
{ "Action": "lambda:InvokeFunction", "Principal": "ses.amazonaws.com", "SourceAccount": "
111122223333
", "SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" "StatementId": "GiveSESPermissionToInvokeFunction" }
Faça as seguintes alterações no exemplo de política anterior:
-
region
Substitua pela AWS região em que você criou a regra de recebimento. -
Substitua
111122223333
pelo ID de sua conta da AWS . -
rule_set_name
Substitua pelo nome do conjunto de regras que contém a regra de recebimento em que você criou sua função Lambda. -
receipt_rule_name
Substitua pelo nome da regra de recebimento que contém sua função Lambda.
Dê permissão ao SES para publicar em um tópico do Amazon SNS que pertença a uma conta diferente AWS
Para publicar notificações sobre um tópico em uma AWS conta separada, você deve anexar uma política ao tópico do Amazon SNS. O tópico do SNS deve estar na mesma região que o conjunto de regras de domínio e recebimento.
A política a seguir dá permissão à SES para publicar em um tópico do Amazon SNS em uma conta separada AWS .
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"SNS:Publish", "Resource":"arn:aws:sns:
topic_region
:sns_topic_account_id
:topic_name
", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"aws_account_id
", "AWS:SourceArn": "arn:aws:ses:receipt_region
:aws_account_id
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } } ] }
Faça as seguintes alterações no exemplo de política anterior:
-
topic_region
Substitua por Região da AWS aquela em que o tópico do Amazon SNS foi criado. -
sns_topic_account_id
Substitua pelo ID da AWS conta que possui o tópico do Amazon SNS. -
topic_name
Substitua pelo nome do tópico do Amazon SNS no qual você deseja publicar notificações. -
aws_account_id
Substitua pela ID da AWS conta que está configurada para receber e-mail. -
receipt_region
Substitua pelo Região da AWS local em que você criou a regra de recebimento. -
rule_set_name
Substitua pelo nome do conjunto de regras que contém a regra de recebimento na qual você criou sua ação de tópico de publicação no Amazon SNS. -
receipt_rule_name
Substitua pelo nome da regra de recebimento que contém a ação de tópico publicar no Amazon SNS.
Se o seu tópico do Amazon SNS usa AWS KMS criptografia no lado do servidor, você precisa adicionar permissões à política de chaves. AWS KMS Você pode adicionar permissões anexando a seguinte política à política de AWS KMS chaves:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESToUseKMSKey", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }