Terraform - 具有编程访问权限的 AWS IAM 用户
Terraform - AWS IAM user with Programmatic access
我正在与 aws via terraform 合作。
我正在尝试创建访问类型为“程序访问”的 IAM 用户。
使用 AWS 管理控制台,这非常简单:
尝试使用 Terraform (reference to docs) 时,似乎只支持以下参数:
name
path
permissions_boundary
force_destroy
tags
也许这应该通过策略配置?
任何帮助将不胜感激。
(*) 不同场景。
您可以使用 aws_iam_access_key
(https://www.terraform.io/docs/providers/aws/r/iam_access_key.html) terraform 资源为用户创建访问密钥,这应该意味着用户有 Programmatic Access
.
希望对您有所帮助。
aws_iam_user
资源还需要为其创建一个 aws_iam_access_key
资源。
使用iam-user module has a comprehensive example
您也可以直接从注册表中使用该模块,让它为您做所有事情。
如果您不想加密并且只是寻找访问密钥 & 秘密密钥到纯文本 你可以用这个
main.tf
resource "aws_iam_access_key" "sagemaker" {
user = aws_iam_user.user.name
}
resource "aws_iam_user" "user" {
name = "user-name"
path = "/"
}
data "aws_iam_policy" "sagemaker_policy" {
arn = "arn:aws:iam::aws:policy/AmazonSageMakerFullAccess"
}
resource "aws_iam_policy_attachment" "attach-policy" {
name = "sagemaker-policy-attachment"
users = [aws_iam_user.user.name]
policy_arn = data.aws_iam_policy.sagemaker_policy.arn
}
output.tf
output "secret_key" {
value = aws_iam_access_key.user.secret
}
output "access_key" {
value = aws_iam_access_key.user.id
}
你会得到访问密钥和密钥到纯文本你可以直接用。
我正在与 aws via terraform 合作。
我正在尝试创建访问类型为“程序访问”的 IAM 用户。
使用 AWS 管理控制台,这非常简单:
尝试使用 Terraform (reference to docs) 时,似乎只支持以下参数:
name
path
permissions_boundary
force_destroy
tags
也许这应该通过策略配置?
任何帮助将不胜感激。
(*)
您可以使用 aws_iam_access_key
(https://www.terraform.io/docs/providers/aws/r/iam_access_key.html) terraform 资源为用户创建访问密钥,这应该意味着用户有 Programmatic Access
.
希望对您有所帮助。
aws_iam_user
资源还需要为其创建一个 aws_iam_access_key
资源。
使用iam-user module has a comprehensive example
您也可以直接从注册表中使用该模块,让它为您做所有事情。
如果您不想加密并且只是寻找访问密钥 & 秘密密钥到纯文本 你可以用这个
main.tf
resource "aws_iam_access_key" "sagemaker" {
user = aws_iam_user.user.name
}
resource "aws_iam_user" "user" {
name = "user-name"
path = "/"
}
data "aws_iam_policy" "sagemaker_policy" {
arn = "arn:aws:iam::aws:policy/AmazonSageMakerFullAccess"
}
resource "aws_iam_policy_attachment" "attach-policy" {
name = "sagemaker-policy-attachment"
users = [aws_iam_user.user.name]
policy_arn = data.aws_iam_policy.sagemaker_policy.arn
}
output.tf
output "secret_key" {
value = aws_iam_access_key.user.secret
}
output "access_key" {
value = aws_iam_access_key.user.id
}
你会得到访问密钥和密钥到纯文本你可以直接用。