Me encontré con este problema al intentar sam deploy mi función lambda. He encontrado un enlace al mismo problema aquí:
Sin embargo, incluso después de leerlo y los documentos, no entiendo cómo solucionarlo. ¿Alguien puede explicarme esto?
Esto suele suceder para todos aquellos que comenzaron con la plantilla Hello World de AWS SAM y la implementan sin ningún cambio o siguiendo el tutorial de AWS SAM. (No significa que no deba comenzar con esa plantilla o no usar el tutorial de AWS SAM, pero debe agregar algunas configuraciones más para deshacerse de este mensaje).
Aquí, AWS SAM le informa que su aplicación configura una API de API Gateway sin autorización. Cuando implementa la misma aplicación, AWS SAM crea una URL/API disponible públicamente.
Para deshacerse de este mensaje, debe definir algún mecanismo de control de acceso para su API.
Puede utilizar AWS SAM para controlar quién puede acceder a sus API de API Gateway habilitando la autorización dentro de su plantilla de AWS SAM. ejemplo,
MyApi: Type: AWS::Serverless::Api Properties: StageName: Prod Auth: DefaultAuthorizer: MyLambdaTokenAuthorizer Authorizers: MyLambdaTokenAuthorizer: FunctionArn: !GetAtt MyAuthFunction.Arn MyAuthFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src Handler: authorizer.handler Runtime: nodejs12.xEl fragmento anterior es un ejemplo de un mecanismo de autorización llamado Lambda Authorizer . Hay algunos otros mecanismos también. Como, permisos de IAM, claves de API, etc.
Puede encontrar más información sobre estas autorizaciones en el siguiente enlace https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-controlling-access-to-apis.html