Terraform
Tokenless Terraform using SAML.to
Last updated
$(saml-to assume terraform-runner)
aws sts get-caller-identity{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::YOUR_ACCOUNT_ID:role/terraform-runner"
},
"Action": "sts:AssumeRole"
}]
}terraform {
... uses the System Terminal Role for terraform init ...
}
provider "aws" {
profile = "terraform-runner"
region = "us-east-1"
assume_role {
role_arn = "arn:aws:iam::THE_ACCOUNT_ID:role/terraform-applier"
}
}
resource "aws_..." {
... Terraform transparently assumes terraform-applier, then creates the resource ...
}saml-to assume terraform-runner --saveterraform init
terraform plan
terraform apply