【发布时间】:2020-12-05 19:29:10
【问题描述】:
我正在为任务执行创建一个 IAM 角色。我已经在 cloudformation 中完成了,现在我在 terraform 中进行,但我遇到的问题是在 cloudformation 中有一个属性可以提供ManagedPolicyArns,但是你将如何在 terraform 中提供它。我附上了两个脚本。 Terraform 脚本不完整,我需要帮助,而 cloudformation 脚本已完成,我想将其复制到 terraform。
地形:
resource "aws_iam_role" "task_execution" {
name = "task-execution-${terraform.workspace}"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "ecs-tasks.amazonaws.com"
},
"Effect": "Allow",
"Sid": "",
"path": "/",
}
]
}
EOF
tags = {
tag-key = "tag-value"
}
}
云形成
---
AWSTemplateFormatVersion: 2010-09-09
Parameters:
Env:
Type: String
Resources:
ExRole:
Type: 'AWS::IAM::Role'
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- ecs-tasks.amazonaws.com
Action:
- 'sts:AssumeRole'
Path: /
RoleName: !Sub "excutionrole-${Env}"
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
Policies:
- PolicyName: AccessECR
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- ecr:BatchGetImage
- ecr:GetAuthorizationToken
- ecr:GetDownloadUrlForLayer
Resource: '*'
【问题讨论】:
标签: amazon-web-services terraform amazon-iam amazon-ecs