Autorización de AWS IoT para invocar una función de Lambda
En esta sección, concederá el permiso del recurso de autorizador personalizado que acaba de crear para ejecutar la función de Lambda. Para conceder el permiso, puede utilizar el comando de la CLI add-permission.
Conceda permiso a su función de Lambda desde la AWS CLI.
-
Después de insertar sus valores, introduzca el siguiente comando. Tenga en cuenta que el valor
statement-iddebe ser único. Reemplacepor el valor exacto que tiene; de lo contrario, podría producirse un errorId-1234ResourceConflictException.aws lambda add-permission \ --function-name "custom-auth-function" \ --principal "iot.amazonaws.com" \ --action "lambda:InvokeFunction" \ --statement-id "Id-1234" \ --source-arnauthorizerArn -
Si el comando tiene éxito, devuelve una declaración de permiso, como la de este ejemplo. Puede continuar con la siguiente sección para probar el autorizador personalizado.
{ "Statement": "{\"Sid\":\"Id-1234\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"iot.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:Region:57EXAMPLE833:function:custom-auth-function\",\"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:lambda:Region:57EXAMPLE833:function:custom-auth-function\"}}}" }Si el comando no tiene éxito, devuelve un error, como en este ejemplo. Tendrá que revisar y corregir el error antes de continuar.
An error occurred (AccessDeniedException) when calling the AddPermission operation: User: arn:aws:iam::57EXAMPLE833:user/EXAMPLE-1 is not authorized to perform: lambda:AddPer mission on resource: arn:aws:lambda:Region:57EXAMPLE833:function:custom-auth-function