Вот мое определение aws_iam_role в terraform
resource "aws_iam_role" "server_role" {
name = "server-role"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sts:AssumeEnvironment",
"sqs:ChangeMessageVisibility",
"sqs:ReceiveMessage",
"sqs:SendMessage",
"s3:GetObject*",
"s3:ListBucket*",
"s3:PutBucket*",
"s3:PutObject*"
],
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
но я получаю эту ошибку при попытке запустить terraform plan
:
Ошибка: ошибка при применении плана:
Произошла 1 ошибка (и):
aws_iam_role.server_role: 1 произошла ошибка:
aws_iam_role.server_role: Ошибка создания роли сервера IAM Role: MalformedPolicyDocument: политика AssumeRole может
указать только действия STS AssumeRole. код состояния: 400, идентификатор запроса:
55f1bfaf-a121-11e9-acaf-bb57d635757b
Я хочу разрешить серверу читать / записывать сегменты S3 и читать / записывать очереди SQS.
Очевидно, я не могу добавить все эти sqs:*
и s3:*
в одном месте. Как я могу сделать это в terraform?