Conceder permissão ao Amazon Pinpoint para invocar a função do Lambda - Amazon Pinpoint

Aviso de fim do suporte: em 30 de outubro de 2026, AWS encerrará o suporte para o Amazon Pinpoint. Após 30 de outubro de 2026, você não poderá mais acessar o console do Amazon Pinpoint nem seus recursos (endpoints, segmentos, campanhas, jornadas e analytics). Para obter mais informações, consulte Fim do suporte do Amazon Pinpoint. Observação: APIs relacionados a SMS, voz, push móvel, OTP e validação de número de telefone não são afetados por essa alteração e são compatíveis com o AWS End User Messaging.

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á.

Conceder permissão ao Amazon Pinpoint para invocar a função do Lambda

Você pode usar a AWS Command Line Interface (AWS CLI) para adicionar permissões à política de função do Lambda atribuída à função do Lambda. Para permitir que o Amazon Pinpoint invoque uma função, use o comando do Lambda add-permission, conforme mostrado no exemplo a seguir:

aws lambda add-permission \ --function-name myFunction \ --statement-id sid0 \ --action lambda:InvokeFunction \ --principal pinpoint.us-east-1.amazonaws.com \ --source-arn arn:aws:mobiletargeting:us-east-1:111122223333:apps/* --source-account 111122223333

No comando anterior, faça o seguinte:

  • Substitua myFunction pelo nome da função do Lambda.

  • Substitua us-east-1 pela Região da AWS em que você usa o Amazon Pinpoint.

  • Substitua 111122223333 pelo ID de sua conta da AWS.

Ao executar o comando add-permission, o Lambda retornará o seguinte resultado:

{ "Statement": "{\"Sid\":\"sid\", \"Effect\":\"Allow\", \"Principal\":{\"Service\":\"pinpoint.us-east-1.amazonaws.com\"}, \"Action\":\"lambda:InvokeFunction\", \"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:myFunction\", \"Condition\": {\"ArnLike\": {\"AWS:SourceArn\": \"arn:aws:mobiletargeting:us-east-1:111122223333:apps/*\"}}, {\"StringEquals\": {\"AWS:SourceAccount\": \"111122223333\"}}} }

O valor Statement é uma versão em cadeia de caracteres JSON de uma instrução adicionada à política de função do Lambda.

Restringir ainda mais a política de execução

É possível modificar a política de execução restringindo-a a um projeto do Amazon Pinpoint específico. Para fazer isso, substitua o * no exemplo anterior pelo ID exclusivo do projeto. É possível restringir ainda mais a política limitando-a a uma campanha específica. Por exemplo, para restringir a política para permitir somente uma campanha com o ID de campanha 95fee4cd1d7f5cd67987c1436example em um projeto com o ID de projeto dbaf6ec2226f0a9a8615e3ea5example, use o seguinte valor para o atributo source-arn:

arn:aws:mobiletargeting:us-east-1:111122223333:apps/dbaf6ec2226f0a9a8615e3ea5example/campaigns/95fee4cd1d7f5cd67987c1436example
nota

Se restringir a execução da função do Lambda a uma campanha específica, primeiramente será necessário criar a função com uma política menos restritiva. Depois, você terá de criar a campanha no Amazon Pinpoint e escolher a função. Por fim, atualize a política de execução para fazer referência à campanha especificada.