Использование terraform - как проверять и редактировать пользователей в AWS, которые уже существуют - PullRequest
0 голосов
/ 15 октября 2019

В нашем аккаунте AWS есть пользователи. Сейчас мы пытаемся использовать CI, используя Terraform, для управления старыми и новыми пользователями. Terraform требует полного контроля над сервисом - согласовано, но как я могу заставить его работать с тем, что существует? Проблема: я могу добавить группы, роли, политики для новых пользователей, созданных с помощью terraform, но я не могу добавить группы / политики / редактировать пользователей, которые были ранее созданы в учетной записи AWS.

Я на Terraformверсия 12.

Я попытался использовать ресурс данных и подсчитать, чтобы проверить его существование

#data "aws_iam_user" "upload_iam_user" {
#  user_name = "${var.service_name}"
#}

#resource "aws_iam_user" "upload_iam_user" {
#  count= "${data.aws_iam_user.upload_iam_user != "null" ? 0 : 1}"
#  name = "${var.service_name}"
#}

Эти данные только проверяют, существуют ли они, но не выполняют создание, если онине существует и выдает ошибки, чтобы сказать, что пользователь не существует.

  region                  = "${var.aws_region}"
  shared_credentials_file = "~/.aws/credentials"
  profile                 = "aws-users-account
}

resource "aws_iam_user" "upload_iam_user" {
  name = "${var.service_name}"
}

resource "aws_iam_access_key" "upload_iam_access_key" {
  user = "${aws_iam_user.upload_iam_user.name}"
}

resource "aws_iam_user_login_profile" "upload_iam_password" {
  user    = "${aws_iam_user.upload_iam_user.name}"
  pgp_key = "${var.key}"
}

resource "aws_iam_user_group_membership" "upload_iam_group_add" {
  user = "${aws_iam_user.upload_iam_user.name}"
  groups = "${var.group_name}"
}

Приведенный выше код работает только для новых пользователей. Какую логику я могу использовать в первую очередь: проверьте, существует ли пользователь ввода, если он существует, затем добавьте список групп, который указан вторым: проверьте, существует ли пользователь входящего потока, если нет, создайте его и добавьте группы

ТИА

...