7

我是 Terraform 的新手,只是想问一下,是否可以使用 Terraform 为 IAM 用户设置 AWS 控制台密码。我能够配置 IAM 用户、组、他们的访问权限和密钥,但找不到设置控制台密码的方法。请指出我可以在哪里工作。谢谢

4

3 回答 3

8

可以使用 terraform 获取 IAM USER 的控制台密码:
使用以下命令:

terraform output password | base64 --decode | keybase pgp decrypt

请按照以下说明操作:

  1. 将密码存储在 output.tf 文件中
  2. terraform output password > 将提供您的加密密码
  3. 现在在您的服务器上安装 nodejs 和 node 并设置 PATH
  4. 现在要解密密码,我们还需要一个概念,即 KEYBASE: https ://keybase.io/
  5. 转到此站点,从控制台在 KEYBASE 中创建一个帐户,然后在 Docs 下转到 Linux/Ubuntu 并按照说明操作:现在在 shell keybase 登录中输入所有详细信息。

  6. 需要注意的一点:

资源 "aws_iam_user_login_profile" "user_login" {
user = "${aws_iam_user.user.name}"
pgp_key = "keybase:username" ------------ 用户名表示:您在 keybase 帐户中创建的用户
password_length = 10 }

现在 terraform plan
terraform apply
keybase pgp list
terraform output password | base64 --解码 | 密钥库 pgp 解密

你会得到你的密码:) :)

于 2017-05-21T11:23:49.860 回答
2

您现在可以使用iam_user_login_profile资源来执行此操作

resource "aws_iam_user_login_profile" "foo" {
    user    = "${aws_iam_user.bar.name}"
    pgp_key = "${var.key}"
}

请注意,这pgp_key是必需的,可以是 PGP 公钥,也可以是对 keybase.io 配置文件(例如foobar)的引用,方法是传入keybase:foobar变量pgp_key

iam_user_login_profile资源导出一个password属性,该属性是aws_iam_user.

查看官方文档了解更多信息。

于 2017-04-27T14:28:22.653 回答
2

通过 Terraform 设置密码是不可能的。即使是这样,这也不是理想的做法,因为您在配置中有密码。更好的选择是让 AWS 设置/使用/创建以安全方式提供给特定用户的默认密码,并确保他们更改密码。

于 2016-04-14T16:44:25.967 回答