* aws_iam_role.mi_worker_role: Error creating IAM Role Kube2IAMMIWorkerRole: MalformedPolicyDocument: Invalid principal in policy: "AWS":"arn:aws:iam::123456789012:role/Kube2IAMMIWorkerRole"
status code: 400, request id: 40941cea-d7c0-11e6-8b9d-ff7b08faab19
From the aws console, this can be done via -
https://iam.amazonaws.com/?Action=UpdateAssumeRolePolicy
&PolicyDocument={"Version":"2012-10-17","Statement":[{"Effect":"Allow",
"Principal":{"Service":["ec2.amazonaws.com"]},"Action":["sts:AssumeRole"]}]}
&RoleName=S3AccessForEC2Instances
&Version=2010-05-08
&AUTHPARAMS
# TASK ROLE DEFINITION
data "aws_iam_policy_document" "task_access_policy_document" {
statement {
sid = "201608221701"
actions = ["s3:RestoreObject",
"s3:PutObject",
"s3:GetObjectVersion",
"s3:GetObject",
]
effect = "Allow"
resources = ["arn:aws:s3:::${var.bucket_name}-${var.service_env}/*"]
}
}
resource "aws_iam_role" "task_access_role" {
name = "task_access_role"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": [ "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ]
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
}
resource "aws_iam_role_policy" "task_access_policy_attach" {
name = "${var.role}-${var.service_env}-${var.cluster}-role"
role = "${aws_iam_role.task_access_role.id}"
policy = "${data.aws_iam_policy_document.task_access_policy_document.json}"
}
.