@@ -170,8 +170,10 @@ resource "aws_iam_policy" "s3_management" {
170170 " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -truststore/*" ,
171171 " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -truststore-access-logs" ,
172172 " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -truststore-access-logs/*" ,
173- " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -eli-splunk-backup" ,
174- " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -eli-splunk-backup/*"
173+ " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -eli-splunk" ,
174+ " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -eli-splunk/*" ,
175+ " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -eli-splunk-access-logs" ,
176+ " arn:aws:s3:::*eligibility-signposting-api-${ var . environment } -eli-splunk-access-logs/*"
175177 ]
176178 }
177179 ]
@@ -304,6 +306,16 @@ resource "aws_iam_policy" "api_infrastructure" {
304306 " acm:RequestCertificate" ,
305307 " acm:AddTagsToCertificate" ,
306308 " acm:ImportCertificate" ,
309+
310+ # eventbridge
311+ " events:TagResource" ,
312+ " events:PutRule" ,
313+ " events:PutTargets" ,
314+ " events:DescribeRule" ,
315+ " events:ListTagsForResource" ,
316+ " events:DeleteRule" ,
317+ " events:ListTargetsByRule" ,
318+ " events:RemoveTargets"
307319 ],
308320
309321
@@ -320,7 +332,9 @@ resource "aws_iam_policy" "api_infrastructure" {
320332 " arn:aws:logs:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :log-group:/aws/apigateway/*" ,
321333 " arn:aws:logs:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :log-group:NHSDAudit_trail_log_group*" ,
322334 " arn:aws:ssm:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :parameter/${ var . environment } /*" ,
335+ " arn:aws:ssm:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :parameter/splunk/*" ,
323336 " arn:aws:acm:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :certificate/*" ,
337+ " arn:aws:events:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :rule/cloudwatch-alarm-state-change-to-splunk*" ,
324338 ]
325339 },
326340 ]
@@ -436,7 +450,11 @@ resource "aws_iam_policy" "iam_management" {
436450 # API role
437451 " arn:aws:iam::*:role/*eligibility-signposting-api-role" ,
438452 # Kinesis firehose role
439- " arn:aws:iam::*:role/eligibility_audit_firehose-role*"
453+ " arn:aws:iam::*:role/eligibility_audit_firehose-role*" ,
454+ # Eventbridge to firehose role
455+ " arn:aws:iam::*:role/*-eventbridge-to-firehose-role*" ,
456+ # Firehose splunk role
457+ " arn:aws:iam::*:role/splunk-firehose-role"
440458 ]
441459 }
442460 ]
@@ -495,7 +513,10 @@ resource "aws_iam_policy" "firehose_readonly" {
495513 " firehose:StartDeliveryStreamEncryption" ,
496514 " firehose:StopDeliveryStreamEncryption"
497515 ]
498- Resource = " arn:aws:firehose:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :deliverystream/eligibility-signposting-api*"
516+ Resource = [
517+ " arn:aws:firehose:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :deliverystream/eligibility-signposting-api*" ,
518+ " arn:aws:firehose:${ var . default_aws_region } :${ data . aws_caller_identity . current . account_id } :deliverystream/splunk-alarm-events*"
519+ ]
499520 }
500521 ]
501522 })
0 commit comments