Türchen #7: Terraform - das Problem mit User Credentials


Sicherer Umgang mit Zugriffschlüsseln und Passwörtern

Im Folgenden ist zu sehen, wie schnell mit Terraform erzeugte Credentials mithilfe von terraform output nach Keybase.io oder GPG exportiert werden, ohne dass der Anwender mit den Daten in Kontakt kommt.

Voraussetzungen

Es müssen Keybase.io und die GPG Suite auf Deinem System eingerichtet sein.

Terraform Template

Im diesem simplen Beispiel wird der Benutzer “example” mit einem Access-Key angelegt. Mit “pgp_key” wird Terraform der öffentlich PGP-Schlüssel mitgegeben, damit wird dann der Zugriffsschlüssel im Output verschlüsselt.

resource "aws_iam_user" "example" {
  name          = "example"
  path          = "/"
  force_destroy = true
}

resource "aws_iam_access_key" "example" {
  user    = aws_iam_user.example.name
  pgp_key = "keybase:<EIN_KEYBASE_BENUTZERNAME>"
}


output "access_key" {
  value = aws_iam_access_key.example.id
}

output "encrypted_secret" {
  value = aws_iam_access_key.example.encrypted_secret
}

Der Export der Schlüssel

Mit dem Parameter output kann der Zugriffsschlüssel in Richtung Keybase oder GPG exportiert werden.

Für Keybase.io

  terraform output encrypted_secret | base64 --decode | keybase pgp decrypt

Für GPG

  terraform output encrypted_secret | base64 --decode | gpg --decrypt

Zurück zu den Blogbeiträgen

Trainings und Workshops

Vom Kurs für Einsteiger bis hin zu Experten-Workshops mit Tiefgang können wir Euch mit technischen Trainings unterstützen. Darüber hinaus bieten wir auch Workshops mit Fokus auf Cloud-Strategie oder für die Vertriebsmannschaft an.

Mehr...