@@ -254,39 +254,41 @@ resource "aws_iam_role_policy" "lambda" {
254254 role = aws_iam_role. lambda [0 ]. id
255255}
256256
257+ data "aws_partition" "current" {}
258+
259+ data "aws_caller_identity" "current" {}
260+
257261data "aws_iam_policy_document" "lambda" {
258262 count = var. vault_enable_cloudwatch ? 1 : 0
259263 statement {
260264 effect = " Allow"
261265 actions = [
262- " logs:CreateLogGroup" ,
263- " logs:CreateLogStream" ,
264- " logs:PutLogEvents" ,
265- " logs:DescribeLogGroups"
266+ " cloudwatch:PutMetricData"
266267 ]
267268 resources = [
268- # TODO should be --> Resource: !Sub "arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:log-group:*"
269- " *"
269+ " *"
270270 ]
271271 }
272272 statement {
273273 effect = " Allow"
274274 actions = [
275- " logs:PutLogEvents"
275+ " logs:CreateLogGroup" ,
276+ " logs:CreateLogStream" ,
277+ " logs:PutLogEvents" ,
278+ " logs:DescribeLogGroups"
276279 ]
277280 resources = [
278- # TODO should be --> Resource: !Sub "arn:${AWS::Partition }:logs:${AWS::Region }:${AWS::AccountId }:log-group:*:log-stream:*"
279- " *"
281+ " arn:${ data . aws_partition . current . partition } :logs:${ data . aws_region . default . name } :${ data . aws_caller_identity . current . id } :log-group:*" ,
282+ " arn: ${ data . aws_partition . current . partition } :logs: ${ data . aws_region . default . name } : ${ data . aws_caller_identity . current . id } :log-group:*:log-stream: *"
280283 ]
281284 }
282285 statement {
283286 effect = " Allow"
284287 actions = [
285- " ec2:DescribeInstances" ,
286- " ec2:DescribeImages"
288+ " logs:PutLogEvents"
287289 ]
288290 resources = [
289- " * "
291+ " arn: ${ data . aws_partition . current . partition } :logs: ${ data . aws_region . default . name } : ${ data . aws_caller_identity . current . id } :log-group:*:log-stream:* " ,
290292 ]
291293 }
292294 statement {
@@ -296,7 +298,6 @@ data "aws_iam_policy_document" "lambda" {
296298 " ec2:DescribeImages"
297299 ]
298300 resources = [
299- # TODO should be --> Resource: !Sub "arn:${AWS::Partition}:ec2:${AWS::Region}:${AWS::AccountId}:instance/*"
300301 " *"
301302 ]
302303 }
@@ -308,8 +309,7 @@ data "aws_iam_policy_document" "lambda" {
308309 " cloudwatch:PutMetricAlarm"
309310 ]
310311 resources = [
311- # TODO should be --> Resource: !Sub "arn:${AWS::Partition}:cloudwatch:${AWS::Region}:${AWS::AccountId}:alarm:AutoAlarm-*"
312- " *"
312+ " arn:${ data . aws_partition . current . partition } :cloudwatch:${ data . aws_region . default . name } :${ data . aws_caller_identity . current . id } :alarm:AutoAlarm-*"
313313 ]
314314 }
315315 statement {
@@ -318,7 +318,7 @@ data "aws_iam_policy_document" "lambda" {
318318 " cloudwatch:DescribeAlarms"
319319 ]
320320 resources = [
321- " *"
321+ " *"
322322 ]
323323 }
324324 statement {
@@ -327,8 +327,7 @@ data "aws_iam_policy_document" "lambda" {
327327 " ec2:CreateTags"
328328 ]
329329 resources = [
330- # TODO should be --> Resource: !Sub "arn:${AWS::Partition}:ec2:${AWS::Region}:${AWS::AccountId}:instance/*"
331- " *"
330+ " arn:${ data . aws_partition . current . partition } :ec2:${ data . aws_region . default . name } :${ data . aws_caller_identity . current . id } :instance/*"
332331 ]
333332 }
334333}
0 commit comments