1

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

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

感觉就像我处于先有鸡还是先有蛋的境地——要创建一个角色,我需要另一个角色来承担,但我无法创造,因为我还没有要承担的角色。

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

4

2 回答 2

0

如果这是您第一次运行 Terraform 脚本,我建议使用Programmatic Access在控制台中添加用户,附加 AWS 托管策略(如 AdministratorAccess)并确保保存Access key IDSecret access key.

然后,在您的 HOME 目录cd ~中,创建一个文件夹.aws

在 .aws 目录中创建一个名为 credentials 的文件。

[default]
aws_access_key_id = paste
aws_secret_access_key = paste

在您的地形文件中:

provider "aws" {
    profile = "default" #pertains to the default profile included in credentials file
    region = "us-east-2"
    version = "~> 2.26.0"
}
于 2019-12-02T08:31:32.847 回答
0

您必须创建第一个 IAM 用户manually才能获取access keysecret_key用于 Terraform。

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

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

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

于 2021-04-29T04:58:42.900 回答