gpt4 book ai didi

amazon-web-services - 使用 Terraform 创建 AWS 服务角色

转载 作者:行者123 更新时间:2023-12-04 13:00:58 25 4
gpt4 key购买 nike

我不知道如何使用 Terraform for AWS 配置角色策略。

第一件事:

$ terraform version
Terraform v0.12.0
+ provider.aws v2.18.0

现在我需要创建一个服务角色,据我所知,首先我需要使用 aws_iam_role 创建角色。并使用 aws_iam_role_policy_attachment附加 CodeDeploy 的 AWSCodeDeployRole 策略。
resource "aws_iam_role" "codedeploy_service_role" {
name = "CodeDeployServiceRole"
}
resource "aws_iam_role_policy_attachment" "codedeploy_service_role_policy_attach" {
role = "${aws_iam_role.codedeploy_service_role.name}"
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole"
}

但它不起作用,因为 aws_iam_role 资源没有必填字段“assume_role_policy”。而“assume_role_policy”字段只接受JSON格式的策略字段。我不明白为什么我不能在这个角色的初始化过程中没有设置策略的情况下创建一个角色。

最佳答案

更正,因为我误读了您的问题:

您可以创建一个 iam_policy 如下:

data "aws_iam_policy" "codedeploy_service_policy" {
arn = "arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole"
}

然后在您的保单附件中:
resource "aws_iam_role_policy_attachment" "codedeploy_service_role_policy_attach" {
role = "${aws_iam_role.codedeploy_service_role.name}"
policy_arn = "${data.aws_iam_policy.codedeploy_service_policy.arn}"
}

具有代入角色策略的 AWS iam 角色(具有信任关系)
** 在 AWS 中创建角色时,您必须提供信任关系(此特定角色将使用的服务)。
resource "aws_iam_role" "codedeploy_service_role" {
name = "CodeDeployServiceRole"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
}

关于amazon-web-services - 使用 Terraform 创建 AWS 服务角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56933271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com