使用Terraform为IAM用户设置AWS控制台密码

时间:2016-04-12 06:33:36

标签: terraform

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

3 个答案:

答案 0 :(得分:3)

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

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

按照以下说明操作:

  1. 将密码存储在outputs.tf文件中
  2. terraform输出密码>会给你加密的密码
  3. 现在在服务器上安装nodejs和node并设置PATH
  4. 之前
  5. 现在要解密密码,我们还需要一个KEYBASE概念:https://keybase.io/
  6. 转到此站点在KEYBASE中创建一个帐户,从Docs下的consolethen转到Linux / Ubuntu并按照说明操作: 现在在shell中              keybase登录 输入所有细节。

  7. 需要注意的一点:

  8.   

    资源" aws_iam_user_login_profile" " USER_LOGIN" {
      user =" $ {aws_iam_user.user.name}"
      pgp_key =" keybase:username" ------------用户名是指:用户你   在密钥库帐户中创建
      password_length = 10}

    现在的terraform计划
    terraform适用于 keybase pgp list
    terraform输出密码| base64 --decode | keybase pgp decrypt

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

答案 1 :(得分: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的加密密码。

查看official documentation了解更多信息。

答案 2 :(得分:1)

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