Skip to content

Commit c14d823

Browse files
committed
fix(lambda): Add lambda:InvokeFunction permission for public Function URLs
Lambda Function URLs with AuthType NONE require both lambda:InvokeFunctionUrl and lambda:InvokeFunction permissions as of October 2025. Without both permissions, Function URLs return 403 Forbidden errors. Added the missing lambda:InvokeFunction permission to all 5 scenario templates: - council-chatbot - foi-redaction - planning-ai - smart-car-park - text-to-speech Ref: https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html
1 parent 8019eb9 commit c14d823

5 files changed

Lines changed: 45 additions & 0 deletions

File tree

cloudformation/scenarios/council-chatbot/template.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,15 @@ Resources:
399399
Principal: '*'
400400
FunctionUrlAuthType: NONE
401401

402+
# Permission for public invocation (required since Oct 2025)
403+
ChatbotFunctionInvokePermission:
404+
Type: AWS::Lambda::Permission
405+
Properties:
406+
FunctionName: !Ref ChatbotFunction
407+
Action: lambda:InvokeFunction
408+
Principal: '*'
409+
FunctionUrlAuthType: NONE
410+
402411
# CloudWatch Log Group
403412
ChatbotLogGroup:
404413
Type: AWS::Logs::LogGroup

cloudformation/scenarios/foi-redaction/template.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -777,6 +777,15 @@ Resources:
777777
Principal: '*'
778778
FunctionUrlAuthType: NONE
779779

780+
# Permission for public invocation (required since Oct 2025)
781+
RedactionFunctionInvokePermission:
782+
Type: AWS::Lambda::Permission
783+
Properties:
784+
FunctionName: !Ref RedactionFunction
785+
Action: lambda:InvokeFunction
786+
Principal: '*'
787+
FunctionUrlAuthType: NONE
788+
780789
# CloudWatch Log Group
781790
RedactionLogGroup:
782791
Type: AWS::Logs::LogGroup

cloudformation/scenarios/planning-ai/template.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1232,6 +1232,15 @@ Resources:
12321232
Principal: '*'
12331233
FunctionUrlAuthType: NONE
12341234

1235+
# Permission for public invocation (required since Oct 2025)
1236+
PlanningAnalyzerFunctionInvokePermission:
1237+
Type: AWS::Lambda::Permission
1238+
Properties:
1239+
FunctionName: !Ref PlanningAnalyzerFunction
1240+
Action: lambda:InvokeFunction
1241+
Principal: '*'
1242+
FunctionUrlAuthType: NONE
1243+
12351244
# CloudWatch Log Group
12361245
PlanningAnalyzerLogGroup:
12371246
Type: AWS::Logs::LogGroup

cloudformation/scenarios/smart-car-park/template.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,15 @@ Resources:
655655
Principal: '*'
656656
FunctionUrlAuthType: NONE
657657

658+
# Permission for public invocation (required since Oct 2025)
659+
ParkingSimulatorFunctionInvokePermission:
660+
Type: AWS::Lambda::Permission
661+
Properties:
662+
FunctionName: !Ref ParkingSimulatorFunction
663+
Action: lambda:InvokeFunction
664+
Principal: '*'
665+
FunctionUrlAuthType: NONE
666+
658667
# CloudWatch Log Group
659668
ParkingSimulatorLogGroup:
660669
Type: AWS::Logs::LogGroup

cloudformation/scenarios/text-to-speech/template.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,15 @@ Resources:
597597
Principal: '*'
598598
FunctionUrlAuthType: NONE
599599

600+
# Permission for public invocation (required since Oct 2025)
601+
TextToSpeechFunctionInvokePermission:
602+
Type: AWS::Lambda::Permission
603+
Properties:
604+
FunctionName: !Ref TextToSpeechFunction
605+
Action: lambda:InvokeFunction
606+
Principal: '*'
607+
FunctionUrlAuthType: NONE
608+
600609
# CloudWatch Log Group
601610
TextToSpeechLogGroup:
602611
Type: AWS::Logs::LogGroup

0 commit comments

Comments
 (0)