如何创建要在Terraform中担任的第一个IAM角色?

时间:2019-12-02 06:39:16

标签: terraform amazon-iam

我正在尝试使用Terraform设置AWS,并对aws_iam_role感到困惑。

因此,要创建第一个角色(比如说poweruser),aws_iam_role需要assume_role_policy,这是我们要承担的角色。 (但是,poweruser策略还没有poweruser角色。)

感觉就像我处于鸡与蛋的境地-要创建一个角色,我需要承担另一个角色,但是由于我还没有要承担的角色而无法创建。

如何使用Terraform做到这一点?我误会了吗?还是我需要先手动设置一些初始角色/用户?

2 个答案:

答案 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 keysecret_key

更准确地说,例如,您刚刚创建了一个 aws 帐户并且没有创建 IAM 用户,这意味着根本不存在访问密钥和秘密密钥。但是,Terraform 必须需要执行 access keysecret_key

# AWS Provider
provider "aws" {
  region = "ap-northeast-1"
  access_key = "AIKAWP3TMGZNG34RUWRS"
  secret_key = "RNA6yaOwlOw4AEuFaBH2qJzSh/aE1zhFL5cbvgbb"
}

因此,您必须为 manually 创建一个 IAM 用户 only the first IAM user 才能获得 access keysecret_key 以执行 Terraform。在创建第一个 IAM 用户并将 access keysecret_key 提供给 Terraform 后,您可以在无需手动方式的情况下使用 Terraform 创建其他 IAM 用户。