Zajmuję się tworzeniem aplikacji internetowych i obecnie mam następujące ACL przypisany do konta AWS używa do dostępu do swoich danych:Amazon S3 ACL dla tylko do odczytu i zapisu jednokrotnego dostępu
{
"Statement": [
{
"Sid": "xxxxxxxxx", // don't know if this is supposed to be confidential
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::cdn.crayze.com/*"
]
}
]
}
jednak I chciałoby to uczynić to nieco bardziej restrykcyjnym, aby po naruszeniu naszych poświadczeń AWS atakujący nie mógł zniszczyć żadnych danych.
Z dokumentacji wygląda na to, że chcę zezwolić na następujące akcje: s3:GetObject
i s3:PutObject
, ale chcę, aby konto mogło tworzyć tylko obiekty, które już nie istnieją - tj. Żądanie PUT na istniejący obiekt powinien zostać odrzucony. czy to możliwe?
Nie wiedziałem o znacznikach językowych! Gdzie są wymienione? –
Myślę, że powodem, dla którego to nie obsługuje, jest to, że S3 jest w pewnym sensie spójny, więc nie ma autorytatywnej semantyki "obiekt nie istnieje". – jberryman