Skip to content

Commit cd1e8c4

Browse files
author
Bob Strahan
committed
Add PermissionsBoundary support to Lambda functions across all templates
1 parent 90cd9c9 commit cd1e8c4

File tree

5 files changed

+53
-25
lines changed

5 files changed

+53
-25
lines changed

options/bedrockkb/template.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ Resources:
257257
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
258258
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
259259
Properties:
260+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
260261
Handler: index.handler
261262
Runtime: python3.12
262263
Timeout: 30
@@ -302,6 +303,7 @@ Resources:
302303
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
303304
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
304305
Properties:
306+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
305307
Handler: index.handler
306308
Runtime: python3.12
307309
Timeout: 30
@@ -478,6 +480,7 @@ Resources:
478480
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
479481
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
480482
Properties:
483+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
481484
Handler: oss_handler.lambda_handler
482485
MemorySize: 1024
483486
Role: !GetAtt OpenSearchLambdaExecutionRole.Arn

patterns/pattern-1/template.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,7 @@ Resources:
529529
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
530530
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
531531
Properties:
532+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
532533
CodeUri: src/bda_invoke_function/
533534
Handler: index.handler
534535
Runtime: python3.12
@@ -596,6 +597,7 @@ Resources:
596597
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
597598
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
598599
Properties:
600+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
599601
CodeUri: src/processresults_function/
600602
Handler: index.handler
601603
Runtime: python3.12
@@ -686,6 +688,7 @@ Resources:
686688
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
687689
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
688690
Properties:
691+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
689692
CodeUri: src/summarization_function/
690693
Handler: index.handler
691694
Runtime: python3.12
@@ -770,6 +773,7 @@ Resources:
770773
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
771774
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
772775
Properties:
776+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
773777
CodeUri: src/bda_completion_function/
774778
Handler: index.handler
775779
Runtime: python3.12
@@ -904,6 +908,7 @@ Resources:
904908
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
905909
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
906910
Properties:
911+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue]
907912
Handler: index.lambda_handler
908913
LoggingConfig:
909914
LogGroup: !Ref HITLProcessLambdaLogGroup
@@ -1003,7 +1008,7 @@ Resources:
10031008
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
10041009
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
10051010
Properties:
1006-
CodeUri: src/hitl-wait-function/
1011+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/hitl-wait-function/
10071012
Handler: index.lambda_handler
10081013
Runtime: python3.12
10091014
Timeout: 60
@@ -1059,7 +1064,7 @@ Resources:
10591064
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
10601065
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
10611066
Properties:
1062-
CodeUri: src/hitl-status-update-function/
1067+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/hitl-status-update-function/
10631068
Handler: index.handler
10641069
Runtime: python3.12
10651070
Timeout: 300

patterns/pattern-2/template.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ Resources:
846846
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
847847
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
848848
Properties:
849-
CodeUri: src/ocr_function/
849+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/ocr_function/
850850
Handler: index.handler
851851
Runtime: python3.12
852852
Timeout: 900
@@ -926,7 +926,7 @@ Resources:
926926
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
927927
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
928928
Properties:
929-
CodeUri: src/classification_function/
929+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/classification_function/
930930
Handler: index.handler
931931
Runtime: python3.12
932932
Timeout: 900
@@ -1016,7 +1016,7 @@ Resources:
10161016
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
10171017
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
10181018
Properties:
1019-
CodeUri: src/extraction_function/
1019+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/extraction_function/
10201020
Handler: index.handler
10211021
Runtime: python3.12
10221022
Timeout: 900
@@ -1101,7 +1101,7 @@ Resources:
11011101
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
11021102
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
11031103
Properties:
1104-
CodeUri: src/assessment_function/
1104+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/assessment_function/
11051105
Handler: index.handler
11061106
Runtime: python3.12
11071107
Timeout: 900
@@ -1181,7 +1181,7 @@ Resources:
11811181
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
11821182
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
11831183
Properties:
1184-
CodeUri: src/processresults_function/
1184+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/processresults_function/
11851185
Handler: index.handler
11861186
Runtime: python3.12
11871187
Timeout: 900
@@ -1244,7 +1244,7 @@ Resources:
12441244
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
12451245
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
12461246
Properties:
1247-
CodeUri: src/summarization_function/
1247+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/summarization_function/
12481248
Handler: index.handler
12491249
Runtime: python3.12
12501250
Timeout: 900

patterns/pattern-3/template.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ Resources:
764764
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
765765
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
766766
Properties:
767-
CodeUri: src/ocr_function/
767+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/ocr_function/
768768
Handler: index.handler
769769
Runtime: python3.12
770770
Timeout: 900
@@ -838,7 +838,7 @@ Resources:
838838
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
839839
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
840840
Properties:
841-
CodeUri: src/classification_function/
841+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/classification_function/
842842
Handler: index.handler
843843
Runtime: python3.12
844844
Timeout: 900
@@ -921,7 +921,7 @@ Resources:
921921
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
922922
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
923923
Properties:
924-
CodeUri: src/extraction_function/
924+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/extraction_function/
925925
Handler: index.handler
926926
Runtime: python3.12
927927
Timeout: 900
@@ -1001,7 +1001,7 @@ Resources:
10011001
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
10021002
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
10031003
Properties:
1004-
CodeUri: src/assessment_function/
1004+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/assessment_function/
10051005
Handler: index.handler
10061006
Runtime: python3.12
10071007
Timeout: 900
@@ -1081,7 +1081,7 @@ Resources:
10811081
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
10821082
# checkov:skip=CKV_AWS_173: "Environment variables do not contain sensitive data - only configuration values like feature flags and non-sensitive settings"
10831083
Properties:
1084-
CodeUri: src/processresults_function/
1084+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/processresults_function/
10851085
Handler: index.handler
10861086
Runtime: python3.12
10871087
Timeout: 900
@@ -1145,7 +1145,7 @@ Resources:
11451145
# checkov:skip=CKV_AWS_117: "Function does not require VPC access as it only interacts with AWS services via APIs"
11461146
# checkov:skip=CKV_AWS_115: "Function does not require reserved concurrency as it scales based on demand"
11471147
Properties:
1148-
CodeUri: src/summarization_function/
1148+
PermissionsBoundary: !If [HasPermissionsBoundary, !Ref PermissionsBoundaryArn, !Ref AWS::NoValue] CodeUri: src/summarization_function/
11491149
Handler: index.handler
11501150
Runtime: python3.12
11511151
Timeout: 900

0 commit comments

Comments
 (0)