小编gof*_*160的帖子

如何解决错误:使用 IAM 角色时在 Terraform 中循环

我有一个 aws_scheduler_schedule,计划每分钟向 Lambda 函数发送一条消息,如下所示:

resource "aws_scheduler_schedule" "event_scheduler" {
  name       = "${var.environment}-${var.account_name}-${var.service_name}-scheduler"

  flexible_time_window {
    mode = "OFF"
  }

  schedule_expression = "rate(1 minute)"

  target {
    arn      = var.lambda_arn
    role_arn = aws_iam_role.iam_for_eventbridge.arn

    input = jsonencode({
      MessageBody = "check_expired"
    })
  }
}
Run Code Online (Sandbox Code Playgroud)

我想限制 aws_scheduler_schedule 的 aws_iam_role,这样它只允许上述调度程序进行 sts:AssumeRole。这是我的 aws_iam_role 代码:

resource "aws_iam_role" "iam_for_eventbridge" {
  name                = "${var.environment}-${var.account_name}-${var.service_name}-eventbridge-role"
  assume_role_policy  = <<EOF
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "scheduler.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
              "ArnEquals": {
                "aws:SourceArn": "${aws_scheduler_schedule.event_scheduler.arn}"
            }
        }
    ]
} …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform

0
推荐指数
1
解决办法
300
查看次数

标签 统计

amazon-web-services ×1

terraform ×1