Похоже, что ваше требование - разрешить определенным определенным ролям доступ к определенной корзине Amazon S3.
Есть два способа сделать это:
Вариант 1: Добавить разрешения для роли
Это предпочтительный вариант. Вы можете добавить политику к роли IAM, которая предоставляет доступ к корзине. Это будет выглядеть примерно так:
{
"Id": "Policy1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::mybucket",
"arn:aws:s3:::mybucket/*"
]
}
]
}
Это хороший метод, поскольку вы просто добавляете политику к желаемой роли (ролям), не затрагивая фактические области.
Вариант 2: Добавить политику Bucket
Это включает в себя наложение разрешений на корзину , которая предоставляет доступ к определенной роли. Это менее желательно, потому что вы должны поместить политику в каждое ведро и ссылаться на каждую роль.
Это будет выглядеть примерно так:
{
"Id": "Policy1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::mybucket",
"arn:aws:s3:::my-bucket/*"
],
"Principal": "arn:aws:iam::123456789012:role/my-role"
}
]
}
Обратите внимание, что эти политики предоставляют разрешения s3:*
для корзины, которые могут быть слишком широкими для ваших целей. Всегда лучше предоставлять только конкретные требуемые разрешения, а не предоставлять все разрешения.