Я работаю над сценарием bash, который будет создавать корзину s3, создавать пользователя IAM, создавать и применять политику пользователей, а также создавать и применять политику сегментов.
Однако, когда я пытаюсь создатьполитика bucket выдает ошибку «Недопустимый принципал в политике»
В настоящее время я размещаю пустой файл json в том же каталоге и использую heredoc для создания и вставки в него текста.
arnFull=$arnPath$nuNm
block=$(cat <<ADDTEXT
{
"Version": "2012-10-17",
"Id": "$IdStr",
"Statement": [
{
"Sid": "$sidStr3",
"Effect": "Allow",
"Principal": {
"AWS": "$arnFull"
},
"Action": [
"s3:ListBucket",
"s3:ListBucketVersions",
"s3:GetBucketLocation",
"s3:Get*",
"s3:Put*"
],
"Resource": "arn:aws:s3::886211781477:$dest"
}
]
}
ADDTEXT
)
В этом скрипте есть ссылки на другие переменные (например, $ dest, $ sidStr3), но все они учтены и синтаксически верны.Кроме того, я сравнил переменную $ arnFull с тем, что было бы Арн вновь созданного пользователя, и они действительно одинаковы визуально на консоли управления.