Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Cómo puedo usar una función de Lambda creada en una cuenta de AWS con un recurso personalizado de AWS CloudFormation en otra cuenta de AWS?

2 minutos de lectura
0

Quiero crear una función de AWS Lambda en una cuenta y, a continuación, invocarla desde un recurso personalizado de AWS CloudFormation en otra cuenta.

Descripción breve

Puede invocar una función de Lambda desde un recurso personalizado en otra cuenta solo si la función y el recurso se encuentran en la misma región de AWS. La propiedad ServiceToken de AWS::CloudFormation::CustomResource debe estar en la misma región en la que creó su pila de AWS CloudFormation. Debe utilizar una política basada en recursos para conceder permiso a las cuentas con sus recursos personalizados para invocar su función de Lambda.

Nota: Al asociar una función de Lambda a un recurso personalizado, el recurso personalizado invoca la función cada vez que se crea, actualiza o elimina. CloudFormation llama a una API de Lambda para transferir todos los datos de la solicitud, como el tipo de solicitud y las propiedades de los recursos, a la función.

Resolución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Troubleshoot AWS CLI errors. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Ejecute el comando add-permission de la CLI de AWS en su cuenta principal (cuenta A). El comando otorga a la función Lambda acceso al recurso personalizado de otra cuenta (cuenta B).

-o-

Utilice el recurso AWS::Lambda::Permission para conceder a la cuenta B permiso para invocar la función Lambda en la cuenta A:

  1. Cuando se cree una función de Lambda a través de una pila en la cuenta A, utilice el recurso AWS::Lambda::Permission para conceder el permiso a la cuenta B.
  2. En la cuenta B, inicie la pila de AWS CloudFormation que contiene su recurso personalizado.
    Nota: Asegúrese de que ServiceToken haga referencia al nombre de recurso de Amazon (ARN) de la función de Lambda de la cuenta A. Incluya cualquier propiedad adicional para enviarla al recurso personalizado como entrada.
  3. Utilice los Registros de Amazon CloudWatch para confirmar que su recurso personalizado de la cuenta B invocó la función de Lambda en la cuenta A.

Información relacionada

Conceder a la función acceso a otras cuentas

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 años