Я хочу, чтобы роли внутри учетной записи, имеющие общий префикс, могли читать из корзины S3. Например, у нас есть несколько ролей с именами RolePrefix1
, RolePrefix2
и т. Д., И мы можем создать больше таких ролей в будущем. Мы хотим, чтобы все роли в учетной записи, которые начинаются с RolePrefix
, могли иметь доступ к корзине S3 без необходимости изменения документа политики в будущем.
Моя документация terraform для корзины ведется так:
data "aws_iam_policy_document" "bucket_policy_document" {
statement {
effect = "Allow"
actions = ["s3:GetObject"]
principals = {
type = "AWS"
identifiers = ["arn:aws:iam::111122223333:role/RolePrefix*"]
}
resources = ["${aws_s3_bucket.bucket.arn}/*"]
}
}
Это дает мне следующую ошибку:
Error putting S3 policy: MalformedPolicy: Invalid principal in policy
.
Можно ли достичь этой функциональности другим способом?