Какие разрешения требуются при создании новой политики IAM для загрузок S3? - PullRequest
1 голос
/ 22 мая 2019

Я занимаюсь разработкой приложения для флаттера, в котором я могу загружать изображения в Amazon S3.Для этого мне нужно получить IAM Access Keys, а также Access Key ID и Secret access key.

. Поэтому я создал новый IAM User и попытался создать новую политику, где он допускает только

  1. Загрузка файлов
  2. Чтение файлов

Мне не нужно это для создания / удаления сегментов и т. Д.

Это не сработало.Я заметил, что когда я даю full s3 access, я могу загрузить без проблем, поэтому, вероятно, я пропустил некоторые разрешения при создании политики.Ниже приведены мои разрешения.

enter image description here

enter image description here Какой список разрешений мне нужно предоставить для моей новой политики доступакоторый предоставляет ограниченный доступ, как упомянуто выше?

Вот это в формате JSON

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "*"
        }
    ]
}

ОБНОВЛЕНИЕ

Ниже приведены мои настройки корзины s3

**Properties**
Events 0 Active notifications
Versioning Suspended
MFA delete Disabled
Logging Disabled
Static web hosting Disabled
Tags 0 Tags
Requester pays Disabled
Object lock Disabled
Transfer acceleration Disabled

**Permissions**
Owner xxxxxx
Block public access Disabled
Bucket policy No
Access control list 1 Grantees
CORS configuration No

**Management**
Lifecycle Disabled
Cross-region replication Disabled
Analytics Disabled
Inventory Disabled
Metrics Disabled

1 Ответ

1 голос
/ 22 мая 2019

Я думаю, вам нужно просто добавить s3:PutObjectAcl в дополнение к "s3:PutObject", "s3:GetObject", "s3:DeleteObject"

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "*"
        }
    ]
}
...