Conceder a Amazon Pinpoint permiso para invocar la función de Lambda - Amazon Pinpoint

Aviso de fin de soporte: el 30 de octubre de 2026, AWS finalizará el soporte para Amazon Pinpoint. Después del 30 de octubre de 2026, ya no podrá acceder a la consola de Amazon Pinpoint ni a los recursos de Amazon Pinpoint (puntos de conexión, segmentos, campañas, recorridos y análisis). Para obtener más información, consulte Fin de soporte de Amazon Pinpoint. Nota: en lo APIs que respecta a los SMS, este cambio no afecta a los mensajes de voz, a las notificaciones push móviles, a las OTP y a la validación de números de teléfono, y son compatibles con la mensajería para el usuario AWS final.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conceder a Amazon Pinpoint permiso para invocar la función de Lambda

Puede utilizar la AWS Command Line Interface (AWS CLI) para agregar permisos a la política de función de Lambda asignada a la función de Lambda. Para permitir a Amazon Pinpoint invocar una función, utilice el comando add-permission de Lambda, como se muestra en el ejemplo siguiente:

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

En el comando anterior, haga lo siguiente.

  • Sustituya myFunction por el nombre de la función de Lambda.

  • Sustituya us-east-1 por la región de AWS donde utiliza Amazon Pinpoint.

  • Reemplace 111122223333 por su ID de cuenta de AWS.

Cuando ejecuta el comando add-permission, Lambda devuelve la siguiente salida:

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

El valor de Statement es una versión de cadena JSON de la instrucción que se agrega a la política de la función de Lambda.

Restricción adicional de la política de ejecución

Puede modificar la política de ejecución restringiéndola a un proyecto de Amazon Pinpoint específico. Para ello, sustituya * en el ejemplo anterior por el ID único del proyecto. Puede restringir aún más la política limitándola a una campaña específica. Por ejemplo, para restringir la política de modo que solo permita una campaña con el ID de campaña 95fee4cd1d7f5cd67987c1436example en un proyecto con el ID de proyecto dbaf6ec2226f0a9a8615e3ea5example, utilice el valor siguiente para el atributo source-arn:

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

Si restringe la ejecución de la función de Lambda a una campaña específica, primero tiene que crear la función con una política menos restrictiva. A continuación, debe crear la campaña en Amazon Pinpoint y elegir la función. Por último, debe actualizar la política de ejecución para hacer referencia a la campaña especificada.