Доступ к политикам корзины s3 запрещен

Я пытаюсь загрузить объект на S3 из aws-sdk-js, но не могу понять политику для моего случая. Я хочу разрешить только одному пользователю иметь доступ к загрузке и общедоступный доступ для чтения.

Вот мои правила S3 Bucket

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadForGetBucketObjects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::some-bucket/*"
        },
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::1111111111111:user/some-bucket-user"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::some-bucket/*"
        }
    ]
}

И мои политики IAM:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Action":"s3:*",
      "Resource":["arn:aws:s3:::some-bucket/*"]
    }
  ]
}

Может кто-нибудь указать, что я здесь делаю неправильно?

2 ответа

Решение

Мой плохой, я не инициализировал AWS.S3 правильно, и он использовал пользователей / роли экземпляра ec2, а не тот, который я назначал.

Для этого вам не нужно иметь дело с политиками ведра вообще. Политики Bucket используются для предоставления доступа к базе данных S3 службам, а не пользователям.

Чтобы разрешить пользователю доступ к вашей базе данных S3, добавьте его в список "Разрешения / контроль доступа" (это рядом с "политикой сегмента") с требуемыми разрешениями.

Если это абсолютно необходимо сделать с помощью политики сегментов, эта ссылка охватывает все: http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-bucket-user-policy-specifying-principal-intro.html

Другие вопросы по тегам