Skip to content

Commit f788ad9

Browse files
committed
Add initial configuration for EKS Control Plane logging SIEM integration
1 parent 0027db3 commit f788ad9

File tree

4 files changed

+92
-1
lines changed

4 files changed

+92
-1
lines changed

cluster/cluster.yaml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,85 @@ Resources:
166166
Properties:
167167
LogGroupName: "/aws/eks/{{.Cluster.Name}}/cluster"
168168
RetentionInDays: 545
169+
{{- if eq .Cluster.ConfigItems.eks_siem_logging "true" }}
170+
EKSControlPlaneSubscriptionFilter:
171+
Type: AWS::Logs::SubscriptionFilter
172+
Properties:
173+
LogGroupName: !Ref ControlPlaneLogGroup
174+
RoleArn: !GetAtt EKSControlPlaneCWtoFirehoseRole.Arn
175+
FilterName: "EKSCtrlPlaneLogs-{{.Cluster.Name}}"
176+
FilterPattern: ""
177+
DestinationArn: !GetAtt EKSControlPlaneLogsDataFirehose.Arn
178+
EKSControlPlaneLogsDataFirehose:
179+
Type: AWS::KinesisFirehose::DeliveryStream
180+
Properties:
181+
DeliveryStreamName: "EKSCtrlPlaneDeliveryStream-{{.Cluster.Name}}"
182+
DeliveryStreamType: DirectPut
183+
HttpEndpointDestinationConfiguration:
184+
EndpointConfiguration:
185+
AccessKey: "{{.Cluster.ConfigItems.eks_siem_key}}"
186+
Url: "{{.Cluster.ConfigItems.eks_siem_endpoint}}"
187+
RetryOptions:
188+
DurationInSeconds: 300
189+
S3Configuration:
190+
BucketARN: "{{.Cluster.ConfigItems.eks_siem_bucket}}"
191+
S3BackupMode: "FailedDataOnly"
192+
RoleARN: !GetAtt EKSControlPlaneFirehoseS3Role.Arn
193+
EKSControlPlaneFirehoseS3Role:
194+
Type: AWS::IAM::Role
195+
Properties:
196+
AssumeRolePolicyDocument:
197+
Version: "2012-10-17"
198+
Statement:
199+
- Effect: Allow
200+
Principal:
201+
Service:
202+
- firehose.amazonaws.com
203+
Action:
204+
- 'sts:AssumeRole'
205+
Path: /
206+
Policies:
207+
- PolicyName: root
208+
PolicyDocument:
209+
Version: "2012-10-17"
210+
Statement:
211+
- Effect: Allow
212+
Action:
213+
- 's3:PutObject'
214+
- 's3:GetObject'
215+
- 's3:ListBucketMultipartUploads'
216+
- 's3:AbortMultipartUpload'
217+
- 's3:ListBucket'
218+
- 's3:GetBucketLocation'
219+
Resource:
220+
- "{{.Cluster.ConfigItems.eks_siem_bucket}}"
221+
RoleName: "EKSCtrlPlaneFirehosetoS3-{{.Cluster.Name}}"
222+
EKSControlPlaneCWtoFirehoseRole:
223+
Type: AWS::IAM::Role
224+
Properties:
225+
AssumeRolePolicyDocument:
226+
Version: "2012-10-17"
227+
Statement:
228+
- Effect: Allow
229+
Principal:
230+
Service:
231+
- "logs.amazonaws.com"
232+
Action:
233+
- "sts:AssumeRole"
234+
Path: /
235+
Policies:
236+
- PolicyName: root
237+
PolicyDocument:
238+
Version: "2012-10-17"
239+
Statement:
240+
- Effect: Allow
241+
Action:
242+
- "firehose:PutRecord"
243+
- "firehose:PutRecordBatch"
244+
Resource:
245+
- "arn:aws:firehose:*:{{.Cluster.InfrastructureAccountID}}:deliverystream/EKSCtrlPlaneDeliveryStream-{{.Cluster.Name}}"
246+
RoleName: "EKSCtrlPlaneCWtoFirehose-{{.Cluster.Name}}"
247+
{{- end }}
169248
{{- end }}
170249
EKSCluster:
171250
Type: AWS::EKS::Cluster

cluster/config-defaults.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,11 @@ eks_zalando_iam_aws_proxy_hpa_memory_target: "80"
13151315
eks_okta_identity_provider: "true"
13161316
eks_fis_support_enabled: "false"
13171317

1318+
eks_siem_logging: "false"
1319+
eks_siem_key: ""
1320+
eks_siem_endpoint: ""
1321+
eks_siem_bucket: ""
1322+
13181323
# prefix delegation can only be configured for ipv4. For ipv6 it can only be true.
13191324
aws_vpc_cni_prefix_delegation: "false"
13201325
# enable custom networking for the AWS VPC CNI. This assumes that a custom CIDR

test/e2e/apply/secret.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,8 @@ data:
2323
SKIPPER_OPA_BUCKET_ARN: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwGZdCVDLsCdProfzvZU7UAwAAAAlzCBlAYJKoZIhvcNAQcGoIGGMIGDAgEAMH4GCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMehOf7Uu444SWS6kbAgEQgFFPMaa0flwHLpxrkYjJMK4jXc0q4kX+KGrB5GFjKuUgOUPmQ+ME/aQduxwl2+xUilrKP50/NLXgMNHjeeHuZfoyiSgpGFBM4z8L0N6ggf2uE5U="
2424
SKIPPER_OPA_OBSERVABILITY_URL: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwHl773AuNEvIpzaM6ycpDNSAAAAqzCBqAYJKoZIhvcNAQcGoIGaMIGXAgEAMIGRBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDGld6jpQ38gOzVcn0gIBEIBkTHbv3adeEfRntVTUQyyQkIhUnc0QXKtmtJEdvBoRzWiJIBKQUQuM1VBV0re3HkO8HSY59nkwyHEncBMkHJoI9rC2LJuWU20oCjPw9lbweih+6Sxo+nqkDrQd+mHp+uA9Om3KqA=="
2525
SKIPPER_OPA_BUNDLES_URL: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwFnhaIRP4+3Y69xp1ycTI7qAAAAsTCBrgYJKoZIhvcNAQcGoIGgMIGdAgEAMIGXBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDF9gAl70l2g2kwfnJgIBEIBqP/DgIhIu5x5XNR1Ubqinz6r4ttQoHty8nXd6mxie2r6NxHskNOqkiSactUKhNIhboNlNsO4p4rKEkhglTeFZlEQvgEYNioWPw39xqICnUDPVr+Kp0Yrs/bzPLPV9wOlB917UiT7WJNybPg=="
26+
EKS_SIEM_KEY: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwFYci9dK1b1QazzPg4sibiOAAAEQDCCBDwGCSqGSIb3DQEHBqCCBC0wggQpAgEAMIIEIgYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAzAnqmzsG8lwdycfqcCARCAggPzwGIgjWJiNYrj2E1h45tB3BpQz2tUGUtFRSctFavYu05+SrAcHm4w0rIxTaJDPNnnWQu3SU/QH1WlfeX52JwfsANqTBFFAQseeCJ6z7xfmSBHIS9AxS4ixxv7OCUaONR/2V3AYhCaAklo7ZpQO+ZdCYJHCQTkWd5TIe7RsWJyAK/hnHRY/L4wErdw2sKKP3/ha8SShITQFSmoJGuo+bLyaqstFYQeOH2bvwgokqAL/15yROVBrYGoCBZl4jr5bu3IPeEhfPyJs98GyzKjJoh6Ewj22zB1PSDaSuXNmR6n1Fu/fXkXLjbk/wXZ6d8eT5RkWTaC/P0WrxFr2FsBPy6lHFvrtFLyhyWIntVUhfCzNVcBU3PTdsGKDtOEkLIds5jY2sGjHPHhhZdWOHM/zrGz7pyFJnDdE1G9ZPIHCOpFy9pNWt/MRpDsL7WD/ViAOgPBK6/1agZBJHxpxyBNTa4yIcPgoTDQnVU2/5WrQceDzN+IOj3Os5kEu1bG8FEx4I2YfiXpnNDsgDzOf13Vlh5s/CduMxkv0VnkaeGsvTg83P0BEhq9d7lsHUpk4cFsIN6c+dJjVPA6G7ZwxqGJikXpD3AW/DszoAst3vDbKt1/HzvtBpz94jT8KG41fgaIDqgZ9jLBXeQHi5Hx/WoddSYNEgNin0lmL+56/vMPuvKlvCqhre821PQUMKZZsZdv4GUSQ1HjgtKn8hLknR/rRerFEyqVZJjjD/Gb7Eti/fDdAPXAB2KV1AwEE7QXrAnvHtvCgpJopM9NQC+hoHG1BiWPiKzZAA2C7TsrpG02usK/Vxijof7XoAH+5nSSS1NDjfp11i1EIS2IRLrNuFJJVqBSmRNmyM2ePqwltw4NEydZ4BaTZJQ3FNx7IQDCvhKiawv4wqefF97Z9ikZAue1d/ltkwdC1CxjO2VwP5+lBOBe1N8QqqlVhncK0sKUfze6mffDy4TUuwad2AMdPDScd0lr1abzHhVzVat9O4Pnhz+kTXXtUpl1WmO7eAWBJhMznONn0XRWn2F/rz7CsDOhXATwT6WAEHVSIS3pmumqqgE0/ikAASeg7MVz17EYEOeq6w6if1csf+vFeXzs3gsHr7EN7KL9Ui2/G0zSdd6D1xZOjcaKzo5hbWv0HVJoPkh3j1FMpqREGTPZe9o5vLRR7k+QISgn5E0rz4Uk6Z8vUdf9AliUItSUOmyH2l3sooWL1IqTjSEuIg93OspOMRJeVMVoXzEXxe9ls6LZe6RM7QJs2VAn6fsNZmK3EsADybOzYY3+SoSQWz61miCoIwasS4abSja40MSzJAV5ucqzbjCccU3PEsfp+MTshL/xV41xbN/uhX1w"
27+
EKS_SIEM_BUCKET: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwGrZG5QNt3zWyTXcwhkiK6xAAAAiDCBhQYJKoZIhvcNAQcGoHgwdgIBADBxBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDG9jVZvGtAJKBYKIogIBEIBErzfEitn+gydG3UPerjqR39ifrLHHN7tx43BL2CMlVKcu+Y4U1BIpfkX6nmSjxkL9ZvmG+v6tlQWX1MhyJK/rjuBsKWo="
28+
EKS_SIEM_ENDPOINT: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwHba0aXFCQJAw2apCXqcLB5AAAAojCBnwYJKoZIhvcNAQcGoIGRMIGOAgEAMIGIBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDNryLqX8VGCpVGvYOwIBEIBb1+BD5Kojfvw18eiJC5puZ1JuZ74c0PCLG0zwh7pJvSXTzToSbmBWzgE9nynT906kCIAGpTW3dhktigqP/PJE3lXraXnzE3AcwO4/3PkYLGZnV6waIF5aOFnJHw=="
2629
WIZ_API_CLIENT_ID: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwFn2cC9VUx9oEGR3PjfaODfAAAAljCBkwYJKoZIhvcNAQcGoIGFMIGCAgEAMH0GCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMDj9oNRK5BHCJJuwZAgEQgFC4GWzbjJjUwvzyISqJg9ehVrLApd8RyOYOJH47IEGYsoXvxG1r1sqP36yk+y0rO/F5XPU+p7ShwMmWsEUx3zWuJg94v72u5qvkzmKHVq15oA=="
27-
WIZ_API_CLIENT_TOKEN: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwERI9ukj+5n0nNTOn6OQwBWAAAAojCBnwYJKoZIhvcNAQcGoIGRMIGOAgEAMIGIBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDP0Ca5G5Ey/GhZKbqgIBEIBbZQ7luhl1uB5kBEyAX7LevLbqVguwnSXZXWLR/morkrnMnylHHE1sVSedW94WpIF5qxh0eE/fsVJWErYcwhPqd3UvaPG9LSeXyBwo2RNLkYYdrnY4DmvxIvoLjw=="
30+
WIZ_API_CLIENT_TOKEN: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwERI9ukj+5n0nNTOn6OQwBWAAAAojCBnwYJKoZIhvcNAQcGoIGRMIGOAgEAMIGIBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDP0Ca5G5Ey/GhZKbqgIBEIBbZQ7luhl1uB5kBEyAX7LevLbqVguwnSXZXWLR/morkrnMnylHHE1sVSedW94WpIF5qxh0eE/fsVJWErYcwhPqd3UvaPG9LSeXyBwo2RNLkYYdrnY4DmvxIvoLjw=="

test/e2e/cluster_config.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ clusters:
5151
skipper_open_policy_agent_observability_url: "${SKIPPER_OPA_OBSERVABILITY_URL}"
5252
skipper_open_policy_agent_bundles_url: "${SKIPPER_OPA_BUNDLES_URL}"
5353
eks_ip_family: "ipv6"
54+
eks_siem_logging: "true"
55+
eks_siem_key: "${EKS_SIEM_KEY}"
56+
eks_siem_endpoint: "${EKS_SIEM_ENDPOINT}"
57+
eks_siem_bucket: "${EKS_SIEM_BUCKET}"
5458
consolidation_policy: "WhenEmpty"
5559
consolidate_after: "5m"
5660
wiz_api_client_id: "${WIZ_API_CLIENT_ID}"

0 commit comments

Comments
 (0)