Всякий раз, когда я бегу в первый раз следующий файл терраформировать я получаю ошибку:Invalid главным в политике
Ошибка создания IAM Роль SecurityMonkey: MalformedPolicyDocument: Invalid принципала в политике: «AWS».
Однако, wen Я выполняю код во второй раз, когда выполнение преуспевает, создавая объект роли принятия. Мне кажется, что есть некоторые проблемы с зависимостями между ролью A и ролью B. В качестве средства защиты я поставил даже выражение depend_on на роль A, но не повезло.
SecurityMonkeyInstanceProfile
Здесь вы можете проверить свой код TF.
resource "aws_iam_role" "SecurityMonkey" {
name = "SecurityMonkey"
depends_on = ["aws_iam_role.SecurityMonkeyInstanceProfile"]
path = "/"
assume_role_policy = <<POLICY
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<AccountID>:role/SecurityMonkeyInstanceProfile"
},
"Action": "sts:AssumeRole"
}
]
}
POLICY
}
resource "aws_iam_role" "SecurityMonkeyInstanceProfile" {
name = "SecurityMonkeyInstanceProfile"
path = "/"
assume_role_policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
POLICY
}
Первый запуск с ошибкой.
aws_iam_role.SecurityMonkey: Error creating IAM Role SecurityMonkey: MalformedPolicyDocument: Invalid principal in policy: "AWS":"arn:aws:iam::<AccountID>:role/SecurityMonkeyInstanceProfile"
status code: 400, request id: 0810c923-28dd-11e6-af5d-47689d50861a
Второй запуск без ошибок.
terraform apply -var-file=../../aws.tfvars
aws_iam_role.SecurityMonkeyInstanceProfile: Refreshing state... (ID: SecurityMonkeyInstanceProfile)
aws_iam_role.SecurityMonkey: Creating...
arn: "" => "<computed>"
assume_role_policy: "" => "{\n \"Version\": \"2008-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::<AccountID>:role/SecurityMonkeyInstanceProfile\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}\n"
name: "" => "SecurityMonkey"
path: "" => "/"
unique_id: "" => "<computed>"
aws_iam_role.SecurityMonkey: Creation complete
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Очевидно, что ресурсы создаются в правильном порядке, но, кажется, что есть какой-то тайм-аут, что делает SecurityMonkeyInstanceProfile
роль не обнаружить роботу SecurityMonkey
роли. В значительной степени проблема с курицей и яйцом.
Любые подсказки?
Привет, спасибо за Ваш ответ. Я пробовал команду сна без успеха даже до открытия вопроса о SO. В любом случае я поднял вопрос о Github, https://github.com/hashicorp/terraform/issues/7076 –