Создание роли с Terraform в AWS с подключенным провайдером SAML

В настоящее время я пытаюсь автоматизировать подготовку учетных записей AWS, и одним из шагов является создание IAM ROLE с поставщиком удостоверений (для доступа федеративного пользователя). Я искал и проверял документацию Terraform, но не могу найти никакой информации о создании такой роли или о присоединении поставщика к роли. Я могу создать оба хорошо, но они независимы. вот часть кода:

resource "aws_iam_saml_provider" "default" {
  name                   = "ADFS-TEST"
  saml_metadata_document = "${file("../../FederationMetadata.xml")}"
}

resource "aws_iam_role" "role" {
    name = "test-Admins"
}

2 ответа

Разобрался. здесь полный блок

resource "aws_iam_saml_provider" "test" {
  name                   = "ADFS-TEST"
  saml_metadata_document = "${file("../../FederationMetadata.xml")}"
}

resource "aws_iam_role" "role" {
    name = "ADFStest-Admins"
    assume_role_policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Federated": "${aws_iam_saml_provider.test.arn}"
      },
      "Action": "sts:AssumeRoleWithSAML",
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        }
      }
    }
  ]
}
EOF

}

resource "aws_iam_role_policy" "admins" {
    name        = "Admin-Policy"
    #description = "A test policy"
    role = "${aws_iam_role.role.id}"
    policy = <<EOF
{
  "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "*",
        "Resource": "*"
      }
  ]
}
EOF
}

Спасибо! Меня устраивает.

Я просто изменяю aws_iam_role_policy, чтобы использовать aws_iam_role_policy_attachment:

resource "aws_iam_role_policy_attachment" "attach" {
    role = "${aws_iam_role.role.name}"
    policy_arn = "arn:aws:iam::aws:policy/AdministratorAccess"
}
Другие вопросы по тегам