Поиск по сайту:

Создайте пользователя IAM на AWS с помощью Terraform


В этой статье мы увидим, как создать пользователя IAM. Прежде чем продолжить, я предполагаю, что вы знакомы с основами пользователей Terraform и AWS IAM. Если вы хотите узнать больше о пользователях IAM, нажмите здесь. В этой статье мы создадим пользователя и назначим ему права администратора.

Предпосылки

  1. Основное понимание Terraform.
  2. Terraform установлен в вашей системе.
  3. Аккаунт AWS (создайте, если у вас его нет).
  4. access_key и secret_key пользователя AWS IAM. (Нажмите здесь, чтобы узнать, как создать пользователя IAM с ключом доступа и секретным ключом в AWS, )

Что мы будем делать

  1. Запись файлов конфигурации Terraform для создания пользователя IAM.
  2. Создайте пользователя IAM с помощью файлов конфигурации Terraform.
  3. Удалите созданного пользователя IAM с помощью Terraform.

Запись файлов конфигурации Terraform для пользователя IAM

Создайте специальный каталог, в котором вы сможете создавать файлы конфигурации terraform.

Используйте следующую команду, чтобы создать каталог и изменить на него текущий рабочий каталог.

mkdir terraform
cd terraform/

Я использую \vim\ в качестве редактора для записи в файлы, вы можете использовать редактор по вашему выбору и скопировать и вставить следующие конфигурации для создания переменных.tf, terraform.tfvars и main.tf

Создайте main.tf, который отвечает за создание пользователя IAM в AWS. Этот файл main.tf будет считывать значения переменных из переменных.tf и terraform.tfvars.

vim main.tf

provider "aws" {
      region     = "${var.region}"
      access_key = "${var.access_key}"
      secret_key = "${var.secret_key}"
}

resource "aws_iam_user" "user" {
  name = var.name
}

resource "aws_iam_user_policy_attachment" "attach-user" {
  user       = "${aws_iam_user.user.name}"
  policy_arn = var.policy_arns
}

Значение аргументов, используемых в приведенной выше конфигурации:

  • user  – пользователь, к которому должна применяться политика.
  • policy_arn – ARN политики, которую вы хотите применить.

Приведенная выше конфигурация создаст пользователя и прикрепит к нему политику.

Создайте файл variable.tf, содержащий объявление и определение переменных.

Здесь,

Переменная \name\ содержит имя пользователя IAM, которое будет присвоено тому, который будет создан.

Переменная \policy_arns\ содержит ARN политики, которую нам нужно прикрепить к пользователю, которого мы будем создавать. Здесь я назначил ARN политики, которая предоставит доступ администратора пользователю, которого мы создаем.

vim variables.tf

variable "access_key" {
     description = "Access key to AWS console"
}
variable "secret_key" {
     description = "Secret key to AWS console"
}
variable "region" {
     description = "Region of AWS VPC"
}
variable "name" {
  default = "myadmin"
  type        = "string"
  description = "The name of the user"
}

variable "policy_arns" {
  default = "arn:aws:iam::aws:policy/AdministratorAccess"
  type        = string
  description = "ARN of policy to be associated with the created IAM user"
}

После того, как вы создали variable.tf, не забудьте изменить значения, присвоенные переменной. Вы должны изменить выделенные значения, поскольку они относятся к моей среде. Вы можете оставить остальные переменные как есть. Если вы не хотите назначать права администратора создаваемому вами пользователю, вы можете изменить его, определив ARN политики по вашему выбору.

Создайте terraform.tfvars, который содержит определение переменных access_key и secret_key, определенных в приведенном выше файле. Мы сохранили объявление этих двух переменных в файле terraform.tfvars вместе с регионом.

Для создания пользователя IAM нам не нужен конкретный регион, я просто оставил эту переменную здесь, чтобы вы могли понять эту переменную региона и использовать ее в других своих файлах создания ресурсов.

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

vim terraform.tfvars

region = "eu-west-3"
access_key = "AKIAQ6GAIA5XFLXF6HOV"
secret_key = "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"

Теперь у вас должно быть 3 файла, а именно, variable.tf, terraform.tfvars и main.tf.

Создайте пользователя IAM с помощью файлов конфигурации Terraform.

Прежде чем выполнять следующие команды, убедитесь, что вы настроили действительный ключ доступа и секретный ключ.

Первая используемая команда — terraform init. Эта команда загружает и устанавливает плагины для провайдеров, используемых в конфигурации. В нашем случае это AWS.

 terraform init

Вторая используемая команда — terraform plan. Эта команда используется для просмотра изменений, которые произойдут в инфраструктуре.

 terraform plan

Команда terraform apply создаст ресурсы на AWS, упомянутые в файле main.tf. Вам будет предложено ввести данные для создания ресурсов.

terraform apply

Когда вы выполните приведенную выше команду, после успешного завершения вы увидите, что 1 новый ресурс был добавлен, а 0 был уничтожен.

Вы можете перейти в консоль пользователя AWS в разделе «Пользователи», чтобы проверить, создан ли пользователь IAM.

Примечание. Создав пользователя, назначьте ему пароль из консоли AWS с помощью пользователя Root.

Удалить созданного пользователя IAM с помощью Terraform

Если вам больше не нужны ресурсы, которые вы создали, используя конфигурацию, указанную в файле main.tf, вы можете использовать команду \terraform destroy\, чтобы удалить все эти ресурсы.

terraform destroy

Заключение

В этой статье мы рассмотрели шаги по созданию пользователя IAM с правами администратора. Мы также увидели, как пользователя IAM можно удалить всего одной командой.