我正在尝试使用Terraform设置AWS,并对aws_iam_role感到困惑。
因此,要创建第一个角色(比如说poweruser),aws_iam_role
需要assume_role_policy
,这是我们要承担的角色。 (但是,poweruser策略还没有poweruser角色。)
感觉就像我处于鸡与蛋的境地-要创建一个角色,我需要承担另一个角色,但是由于我还没有要承担的角色而无法创建。
如何使用Terraform做到这一点?我误会了吗?还是我需要先手动设置一些初始角色/用户?
答案 0 :(得分:0)
如果这是您第一次运行Terraform脚本,建议您使用 Programmatic Access 在控制台中添加用户,附加一个AWS托管策略(例如AdministratorAccess),并确保保存{{1 }}和Access key ID
。
然后,在您的HOME目录Secret access key
中,创建一个文件夹cd ~
在.aws目录中创建一个名为凭据的文件。
.aws
在您的Terraform文件中:
[default]
aws_access_key_id = paste
aws_secret_access_key = paste
答案 1 :(得分:0)
您必须创建第一个 IAM 用户 manually
才能为 Terraform 获取 access key
和 secret_key
。
更准确地说,例如,您刚刚创建了一个 aws 帐户并且没有创建 IAM 用户,这意味着根本不存在访问密钥和秘密密钥。但是,Terraform 必须需要执行 access key
和 secret_key
。
# AWS Provider
provider "aws" {
region = "ap-northeast-1"
access_key = "AIKAWP3TMGZNG34RUWRS"
secret_key = "RNA6yaOwlOw4AEuFaBH2qJzSh/aE1zhFL5cbvgbb"
}
因此,您必须为 manually
创建一个 IAM 用户 only the first IAM user
才能获得 access key
和 secret_key
以执行 Terraform。在创建第一个 IAM 用户并将 access key
和 secret_key
提供给 Terraform 后,您可以在无需手动方式的情况下使用 Terraform 创建其他 IAM 用户。