Ricerca nel sito web

Crea un utente IAM su AWS utilizzando Terraform


In questo articolo vedremo come creare un Utente IAM. Prima di procedere, presumo che tu abbia familiarità con le basi di Terraform e degli utenti AWS IAM. Se vuoi saperne di più sugli utenti IAM, fai clic qui. In questo articolo creeremo un utente e gli assegneremo le autorizzazioni di amministratore.

Prerequisiti

  1. Comprensione di base di Terraform.
  2. Terraform è installato sul tuo sistema.
  3. Account AWS (crealo se non ne hai uno).
  4. access_key e secret_key di un utente AWS IAM. (Fai clic qui per imparare a creare un utente IAM con access_key e secret_key su AWS, )

Cosa faremo

  1. Scrivi file di configurazione Terraform per la creazione di un utente IAM.
  2. Crea un utente IAM utilizzando i file di configurazione Terraform.
  3. Elimina l'utente IAM creato utilizzando Terraform.

Scrivi i file di configurazione Terraform per l'utente IAM

Crea una directory dedicata in cui puoi creare file di configurazione terraform.

Utilizzare il seguente comando per creare una directory e modificare la directory di lavoro attuale in essa.

mkdir terraform
cd terraform/

Sto usando \vim\ come editor per scrivere nei file, puoi usare un editor a tua scelta e copiare e incollare le seguenti configurazioni per creare variable.tf, terraform.tfvars e  main.tf

Crea main.tf che è responsabile della creazione di un utente IAM su AWS. Questo main.tf leggerà i valori delle variabili da variable.tf e 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
}

Significato degli argomenti utilizzati nella configurazione precedente:

  • user : l'utente a cui deve essere applicato il criterio
  • policy_arn- L'ARN della policy che vuoi applicare

La configurazione precedente creerà un utente e gli allegherà un criterio.

Crea variable.tf che contiene la dichiarazione e la definizione delle variabili.

Qui,

La variabile \name\ contiene lo UserName IAM da assegnare a quello che verrà creato.

La variabile \policy_arns\ contiene l'ARN della policy che dobbiamo collegare all'utente che creeremo. Qui ho assegnato l'ARN del criterio che fornirà l'accesso amministratore all'utente che creiamo.

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"
}

Dopo aver creato variable.tf, non dimenticare di modificare i valori assegnati alla variabile. Devi modificare i valori evidenziati poiché sono specifici del mio ambiente. Puoi mantenere le altre variabili così come sono. Se non desideri assegnare l'accesso amministratore all'utente che stai creando, puoi modificarlo definendo l'ARN del criterio del tuo criterio preferito.

Crea terraform.tfvars che contiene la definizione delle variabili access_key e secret_key definite nel file precedente. Abbiamo mantenuto la dichiarazione di queste 2 variabili nel file terraform.tfvars insieme alla regione.

Per creare un utente IAM non abbiamo bisogno specificatamente di una regione particolare, ho semplicemente mantenuto questa variabile qui in modo che tu possa avere una comprensione di questa variabile della regione e puoi utilizzarla negli altri file di creazione delle risorse.

Le seguenti chiavi devono essere modificate con le chiavi dell'utente IAM utilizzate per creare risorse su AWS. Prima di specificare queste chiavi, devi crearle dalla console AWS e non condividerle con nessuno.

vim terraform.tfvars

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

Ora dovresti avere 3 file, vale a dire, variable.tf, terraform.tfvars e main.tf

Crea un utente IAM utilizzando i file di configurazione di Terraform

Prima di eseguire i seguenti comandi assicurati di aver configurato access_key e secret_key validi.

Il primo comando da utilizzare è terraform init. Questo comando scarica e installa i plug-in per i provider utilizzati all'interno della configurazione. Nel nostro caso è AWS.

 terraform init

Il secondo comando da utilizzare è terraform plan. Questo comando viene utilizzato per vedere i cambiamenti che avverranno sull'infrastruttura.

 terraform plan

Il comando terraform apply creerà le risorse su AWS menzionate nel file main.tf. Ti verrà chiesto di fornire il tuo contributo per creare le risorse.

terraform apply

Quando esegui il comando precedente, una volta completato con successo, puoi vedere che è stata aggiunta 1 nuova risorsa e 0 è stata distrutta.

Puoi andare alla console utente AWS in Utenti per verificare se l'utente IAM è stato creato o meno.

Nota: una volta creato un utente, assegnagli una password dalla console AWS utilizzando Utente root.

Elimina l'utente IAM creato utilizzando Terraform

Se non hai più bisogno delle risorse che hai creato usando la configurazione menzionata nel file main.tf, puoi usare il comando \terraform destroy\ per eliminare tutte quelle risorse.

terraform destroy

Conclusione

In questo articolo abbiamo visto i passaggi per creare un utente IAM con privilegi di amministratore. Abbiamo anche visto come l'utente IAM può essere eliminato con un solo comando.