Skip to content

Commit 8df72f4

Browse files
authored
Merge pull request #311 from NHSDigital/bugfix/eja-github-secrets-uppercase
eli-375 bugfix - casing on github variables and adding permissions for github actions
2 parents 8a677c9 + ef62168 commit 8df72f4

File tree

4 files changed

+30
-8
lines changed

4 files changed

+30
-8
lines changed

infrastructure/stacks/api-layer/ssm.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ resource "aws_ssm_parameter" "splunk_hec_token" {
5858
description = "Splunk HEC token"
5959
type = "SecureString"
6060
key_id = aws_kms_key.splunk_hec_kms.id # Will migrate to customer key after initial creation
61-
value = var.splunk_hec_token
61+
value = var.SPLUNK_HEC_TOKEN
6262
tier = "Advanced"
6363

6464
tags = {
@@ -78,7 +78,7 @@ resource "aws_ssm_parameter" "splunk_hec_endpoint" {
7878
description = "Splunk HEC endpoint"
7979
type = "SecureString"
8080
key_id = aws_kms_key.splunk_hec_kms.id
81-
value = var.splunk_hec_endpoint
81+
value = var.SPLUNK_HEC_ENDPOINT
8282
tier = "Advanced"
8383

8484
tags = {

infrastructure/stacks/api-layer/variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
variable "splunk_hec_token" {
1+
variable "SPLUNK_HEC_TOKEN" {
22
type = string
33
description = "The HEC token for ITOC splunk"
44
sensitive = true
55
}
6-
variable "splunk_hec_endpoint" {
6+
variable "SPLUNK_HEC_ENDPOINT" {
77
type = string
88
description = "The HEC endpoint url for ITOC splunk"
99
sensitive = true

infrastructure/stacks/iams-developer-roles/github_actions_policies.tf

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
})

infrastructure/stacks/iams-developer-roles/iams_permissions_boundary.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ data "aws_iam_policy_document" "permissions_boundary" {
6969
"events:ListTargetsByRule",
7070
"events:TagResource",
7171
"events:UntagResource",
72+
"events:ListTagsForResource",
7273

7374
# Kinesis Firehose - log streaming
7475
"firehose:CreateDeliveryStream",

0 commit comments

Comments
 (0)