Terraform может вывести следующие переменные среды для AWS
export AWS_ACCESS_KEY_ID="anaccesskey"
export AWS_SECRET_ACCESS_KEY="asecretkey"
Ссылка: https://www.terraform.io/docs/providers/aws/#environment-variables
Но я бы предложил попробовать AWS Profile
.
Вы можете добавить учетные данные в файл ~/.aws/credentials
, например
[myprofile]
aws_access_key_id = anaccesskey
aws_secret_access_key = asecretkey
и затем вы можете установить переменную окружения export AWS_PROFILE=myprofile
. Теперь, если вы запускаете terraform из этой оболочки, она должна выбрать учетные данные, перечисленные в myprofile
.
Кроме того, вы можете указать код AWS Provider
следующим образом:
provider "aws" {
profile = "myprofile"
region = "${var.region}"
}
По моему опыту, взаимодействие с AWS с использованием profile
проще и лучше, чем установка переменных среды для каждой оболочки.
Пример вы можете найти здесь https://github.com/pradeepbhadani/tf-examples/blob/master/ex2/provider.tf
Надеюсь, это поможет.