Amazon web services 地形:将aws_iam_角色与aws_iam_策略关联
通读并很难了解如何将Amazon web services 地形:将aws_iam_角色与aws_iam_策略关联,amazon-web-services,amazon-iam,terraform,Amazon Web Services,Amazon Iam,Terraform,通读并很难了解如何将aws_iam_角色与aws_iam_策略关联。显然有aws\u iam\u role\u policy,但这只允许为特定角色制定“内联策略” 有什么建议吗?按照以下步骤操作: 步骤1)创建要与aws角色关联的策略 步骤2)创建aws角色,如下所示: i. Set role name. ii. Set role type according to your preference. iii. Attach the policy which you have created
aws_iam_角色
与aws_iam_策略
关联。显然有aws\u iam\u role\u policy
,但这只允许为特定角色制定“内联策略”
有什么建议吗?按照以下步骤操作: 步骤1)创建要与aws角色关联的策略 步骤2)创建aws角色,如下所示:
i. Set role name.
ii. Set role type according to your preference.
iii. Attach the policy which you have created in step1.
iv. Review and create the role.
希望有帮助……允许在IAM策略和各种其他IAM对象之间创建连接
例如:
resource "aws_iam_role" "foo" {
name = "example-role"
}
resource "aws_iam_policy" "foo" {
name = "example-policy"
description = "An example policy"
policy = "..."
}
resource "aws_iam_policy_attachment" "foo" {
name = "example-attachment"
policy_arn = "${aws_iam_policy.foo.arn}"
roles = ["${aws_iam_role.foo.name}"]
}
策略也可以附加到用户和组,如Terraform文档页面所示。我要做的是创建一个角色和策略,然后附加它们,如Martin Atkins的回答所示
resource "aws_iam_role" "context-builder-role" {
name = "context-builder-role-${terraform.workspace}"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
}
resource "aws_iam_policy" "arm_cfs_sqs_queue_policy" {
name = "starmine-inline-policy-${terraform.workspace}"
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Action": [
"sqs:SendMessage",
"sqs:GetQueueUrl",
"sqs:DeleteMessage"
],
"Effect": "Allow",
"Resource": "arn:aws:sqs:*"
}
]
}
EOF
}
resource "aws_iam_role_policy_attachment" "inline-policy-attach" {
role = aws_iam_role.context-builder-role.name
policy_arn = aws_iam_policy.arm_cfs_sqs_queue_policy.arn
}
谢谢你的回复。有没有办法在地形中指定这一点?
resource "aws_iam_role_policy_attachment" "s3-read-only-attach" {
role = aws_iam_role.context-builder-role.name
policy_arn = "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess"
}