@@ -103,9 +103,50 @@ resource "aws_iam_role_policy_attachment" "gha_attachment" {
103103 policy_arn = aws_iam_policy. demo_gha_policy . arn
104104}
105105
106- output "demo_operator_role_arn" {
107- value = aws_iam_role. demo_role . arn
106+
107+
108+ #
109+ # Secrets Manager for ESO
110+ #
111+
112+
113+ # Specific role for GHA via OIDC to assume (can also be assumed by team)
114+ resource "aws_iam_policy" "demo_secrets_policy" {
115+ name = var. priviledged_assumed_role
116+ description = " Policy to grant demo cluster access to secrets via ESO"
117+
118+ policy = templatefile (
119+ " ${ path . module } /templates/secrets_policy.json.tpl" ,
120+ {
121+ AWS_ACCOUNT_ID = data.aws_caller_identity.current.id
122+ }
123+ )
124+
125+ tags = var. common_tags
126+ lifecycle {
127+ create_before_destroy = true
128+ }
108129}
109- output "demo_pipeline_role_arn" {
110- value = aws_iam_role. demo_gha_role . arn
130+
131+ # Specific role for GHA via OIDC to assume (can also be assumed by team)
132+ resource "aws_iam_role" "secrets_role" {
133+ name = var. priviledged_assumed_role
134+ description = " Role grants access to secrets policy for ESO"
135+
136+ assume_role_policy = templatefile (
137+ " ${ path . module } /templates/secrets_role.json.tpl" ,
138+ {
139+
140+ }
141+ )
142+
143+ tags = var. common_tags
144+ lifecycle {
145+ create_before_destroy = true
146+ }
147+ }
148+
149+ resource "aws_iam_role_policy_attachment" "secrets_attachment" {
150+ role = aws_iam_role. secrets_role . name
151+ policy_arn = aws_iam_policy. demo_secrets_policy . arn
111152}
0 commit comments