2017-05-28 12 views
21

Obserwuję z instrukcjami this answer wygenerować politykę obserwacji S3 wieloczynnościowy:S3 Wiadro nie stosuje się do wszelkich zasobów

{ 
    "Id": "Policy1495981680273", 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "Stmt1495981517155", 
     "Action": [ 
     "s3:GetObject" 
     ], 
     "Effect": "Allow", 
     "Resource": "arn:aws:s3:::surplace-audio", 
     "Principal": "*" 
    } 
    ] 
} 

wrócę następujący błąd:

Action does not apply to any resource(s) in statement

Czego mi brakuje w mojej polityce?

Odpowiedz

39

Od IAM docs, http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Action

Niektóre usługi nie pozwalają określić działania dla poszczególnych zasobów; zamiast tego wszelkie działania wymienione w elemencie Działanie lub NotAction mają zastosowanie do wszystkich zasobów w tej usłudze. W takich przypadkach można użyć symbolu wieloznacznego * w elemencie Zasób.

Dzięki tym informacjom zasób powinien mieć wartość jak poniżej:

"Resource": "arn:aws:s3:::surplace-audio/*" 
+2

Jestem teraz nieco oszołomiony. Dzięki! – eljefedelrodeodeljefe

15

błąd Akcja nie ma zastosowania do dowolnego zasobu (ów) w rachunku

#

po prostu oznacza to, że działania (pisałeś w polisie) nie dotyczy zasobu. Próbowałem upublicznić moje wiadro, aby każdy mógł pobrać moje wiadro. Otrzymałem komunikat o błędzie do czasu usunięcia ("s3: ListBucket") z mojego wyciągu.

{ "Id": "Policyxxxx961", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmtxxxxx4365", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::bucket-name/*", "Principal": "*" } ] }

Ponieważ lista wiadro nie ma zastosowania wewnątrz wiadra, tym samym usuwając tę ​​zasadę działania działało.

Powiązane problemy