【发布时间】:2016-08-02 14:13:33
【问题描述】:
我是 Terraform 的新手,我只是想问一下是否可以为使用 Terraform 的 IAM 用户设置 AWS 控制台密码。我能够配置 IAM 用户、组、他们的访问权限和密钥,但找不到设置控制台密码的方法。请指出我可以在哪里工作。谢谢
【问题讨论】:
-
我认为 AWS API 或 AWS SDK 不可能,因此 Terraform 不支持。
标签: terraform
我是 Terraform 的新手,我只是想问一下是否可以为使用 Terraform 的 IAM 用户设置 AWS 控制台密码。我能够配置 IAM 用户、组、他们的访问权限和密钥,但找不到设置控制台密码的方法。请指出我可以在哪里工作。谢谢
【问题讨论】:
标签: terraform
可以使用 terraform 获取 IAM USER 的控制台密码:
使用以下命令:
terraform output password | base64 --decode | keybase pgp decrypt
按照以下说明进行操作:
从控制台转到此站点在 KEYBASE 中创建一个帐户然后在 Docs 下转到 Linux/Ubuntu 并按照说明操作: 现在在外壳中 密钥库登录 输入所有详细信息。
注意点:
资源“aws_iam_user_login_profile”“user_login”{
用户 = "${aws_iam_user.user.name}"
pgp_key = "keybase:username" ------------ 用户名表示:用户你 在密钥库帐户中创建
密码长度 = 10 }
现在的地形计划
terraform 应用
密钥库 pgp 列表
terraform 输出密码 | base64 --解码 |密钥库 pgp 解密
你会得到你的密码:) :)
【讨论】:
通过 Terraform 设置密码实际上是不可能的。即使是这样,这也不是理想的做法,因为您在配置中有密码。更好的选择是让 AWS 设置/使用/创建以安全方式提供给特定用户的默认密码,并确保他们更改密码。
【讨论】:
您现在可以使用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),方法是在 pgp_key 变量中传递 keybase:foobar。
iam_user_login_profile 资源导出 password 属性,该属性是 aws_iam_user 的加密密码。
查看official documentation了解更多信息。
【讨论】: