我正在尝试使用 terraform 创建一个 AWS S3 存储桶,这是我的代码:
provider "aws" {
profile = "default"
region = "ap-south-1"
}
resource "aws_s3_bucket" "first_tf" {
bucket = "svk-pl-2909202022"
acl = "private"
}
我使用记事本手动创建了“凭据”文件,并使用 Powershell 删除了“.txt”扩展名并将该文件存储在 C:\Users\terraform\.aws
中。 ,那个文件是这样的:[default]
aws_access_key_id=**************
aws_secret_access_key=************
但是当我尝试运行时 terraform plan
,我收到一个错误,上面写着ERROR: error configuring Terraform AWS Provider: no valid credential sources for Terraform AWS Provider found
然后,我还尝试通过安装 AWS CLI 创建“凭据”文件,我运行了命令
aws configure --profile terraform
哪里terraform
是我的用户名。所以,它让我输入 aws_access_key_id
和 aws_secret_access_key
.输入所有凭据后,我运行命令 terraform init
,运行成功,但是当我运行时 terraform plan
,它再次显示错误,其中说:ERROR: error configuring Terraform AWS Provider: no valid credential sources for Terraform AWS Provider found
最佳答案
我花了很多时间试图弄清楚如何让 Terraform 读取 ~/.aws/credentials。唯一对我有用的选项是指定 AWS_PROFILE 环境变量以将其指向凭证文件的特定部分。
AWS_PROFILE=prod terraform plan
或者export AWS_PROFILE=prod
terraform plan
事实证明 shared_credentials_file 和/或 个人资料 provider 部分中的选项被忽略对我来说似乎是一个错误。
关于amazon-web-services - 如何让 Terraform 读取 AWS 凭证文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64124063/