2015-02-25 6 views
3

Я изо всех сил, чтобы получить политику пользователя AWS S3 IAM для работы, это политика моего текущего IAM пользователя:пользовательская политика IAM возвращения 403 Forbidden на Amazon S3 ведро

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
     "Sid": "Stmt1424859689000", 
     "Effect": "Allow", 
     "Action": [ 
      "s3:DeleteObject", 
      "s3:GetObject", 
      "s3:PutObject" 
     ], 
     "Resource": [ 
      "arn:aws:s3:::vault-us/*" 
     ] 
     } 
    ] 
    } 

Когда я делаю пост, чтобы создать новый объект в моем блоке S3. Я получаю 403 Forbidden ошибку, но когда я использую управляемую политику под названием «AmazonS3FullAccess», все работает отлично.

То, что я пытаюсь сделать, - ограничить некоторых пользователей IAM загрузкой/загрузкой прав, но я изо всех сил стараюсь получить эту работу.

Любые предложения будут оценены!

ответ

8

мне удалось выяснить, что для того, чтобы загрузки на работу мне нужно, чтобы включить действие «s3: PutObjectAcl» вот пример моей IAM политики ниже:

{ 
     "Version": "2012-10-17", 
     "Statement": [ 
      { 
       "Effect": "Allow", 
       "Action": [ 
        "s3:GetBucketLocation", 
        "s3:ListAllMyBuckets" 
       ], 
       "Resource": "arn:aws:s3:::*" 
      }, 
      { 
       "Effect": "Allow", 
       "Action": [ 
        "s3:ListBucket" 
       ], 
       "Resource": [ 
        "arn:aws:s3:::vault-us" 
       ] 
      }, 
      { 
       "Effect": "Allow", 
       "Action": [ 
        "s3:PutObject", 
        "s3:PutObjectAcl" 
       ], 
       "Resource": [ 
        "arn:aws:s3:::vault-us/*" 
       ] 
      } 
     ] 
    } 
1

Первое, что вы можете сделать, это выяснить, если его действия, что это неправильно или объем ресурсов, вы можете эти две политики один на один раз:

"Action": [ 
     "s3:*" 
    ], 
    "Resource": [ 
     "arn:aws:s3:::vault-us/*" 
    ] 

и

"Action": [ 
     "s3:DeleteObject", 
     "s3:GetObject", 
     "s3:PutObject" 
    ], 
    "Resource": [ 
     "*" 
    ] 

Если первый работает, а второй терпит неудачу, у вас недостаточно прав для выполнения вашей операции, например попробуйте добавить listBucket или подобное (я, как правило, добавляю все вероятные и постепенно удаляю их, пока не сломается).

если первые брейки и второй один работает, то ваше объявление ресурса является неправильным, наиболее распространенными затруднительным я нашел, чтобы попробовать добавить:

"Action": [ 
     "s3:DeleteObject", 
     "s3:GetObject", 
     "s3:PutObject" 
    ], 
    "Resource": [ 
     "arn:aws:s3:::vault-us/*", 
     "arn:aws:s3:::vault-us" 
    ] 

Если оба не в состоянии, то есть вероятность, как ваш действие и ваш ресурс ошибочны.

Good Luck

Смежные вопросы