Am două găleți fiecare cu propriile obiective. Până acum nu pot înțelege configurația complicată a setărilor găleții. Se pare că sunt trei lucruri de configurat
- Blocați accesul publicului
- Politica găleții
- ACL
Știu că, dacă opresc (1), tot ceea ce vreau să realizez funcționează. Chiar dacă acestea sunt cele mai lipsite de sens patru setări pe care le-am văzut vreodată (de ce mi-ar păsa să restricționez accesul la o găleată în funcție de momentul în care a fost modificată o politică?)
Se pare că ceea ce adaug la (2) nu prea contează. De exemplu, am o politică care permite numai GetObject, dar pot DeleteObject și PutObject din SDK. Am o altă politică care permite DeleteObject, GetObject și PutObject, dar numai ștergerea funcționează și put aruncă un acces refuzat (de la un cont IAM care are acces administrativ la tot ce este sub soare).
Nici măcar nu știu rostul lui (3). De ce aș vrea vreodată să permit permisiuni orice Utilizator AWS? Oricum..
Am două găleți cu două goluri și nu-mi dau seama combinația de lucruri de făcut.
R: Buchetă publică pentru site-ul web static
Pentru aceasta, am acces public Bock la OFF și o politică de genul acesta (care cred că nu face nimic). Oricine poate vizualiza conținutul compartimentului (bine!), dar această politică nu ar trebui să permită niciun PutObject, dar o face.
{
„Versiune”: „2012-10-17”,
„Id”: „Policy1632669906301”,
"Afirmație": [
{
„Sid”: „Stmt1632669869776”,
„Efect”: „Permite”,
„Principal”: „*”,
„Acțiune”: „s3:GetObject”,
„Resurse”: „arn:aws:s3:::publicwebsite/*”
}
]
}
De ce pot încărca și șterge când este definit doar GetObject?
B: găleată securizată pentru copii de rezervă
Această găleată este pentru aplicația mea pentru a trimite copii de siguranță ale datelor. Deci singurul lucru care ar trebui să poată citi/scrie este aplicația mea. Dar dacă activez Blocarea accesului public, nu pot încărca, dar pot șterge. Din nou, nu are deloc sens. Dacă dezactivez Blocarea accesului public, pot face totul. Aici este politica
{
„Versiune”: „2012-10-17”,
„Id”: „Policy1635858319261”,
"Afirmație": [
{
„Sid”: „Stmt1635858317672”,
„Efect”: „Permite”,
„Principal”: {
„AWS”: „arn:aws:iam::XXXXXXXXX:utilizator/utilizator de rezervă”
},
"Acțiune": [
"s3:DeleteObject",
„s3:GetObject”,
„s3:PutObject”
],
„Resurse”: „arn:aws:s3:::backups/*”
}
]
}
De ce pot să șterg, dar să nu pun?
În plus, Amazon este ADAMANT despre păstrarea permanentă a blocării accesului public, dar nici măcar nu puteți modifica o politică Bucket dacă aceasta este activată! Aceasta este o nebunie!!!!!!
Iată constatările mele după câteva teste.
Conturile mele sunt ca atare
- cont root, proprietar al găleții
- Cont IAM (administrator) cu totul administrativ
- Cont IAM (Utilizator) fără nicio autoritate de a face nimic
Pentru politicile de grup, consultați-o pe cea de-a doua postată mai sus.
Explorez ce face combinația dintre setările de politică și Blocare acces public. Ei continuă să aibă nici un sens.
Cazul 1
- Blocați tot accesul public: OFF
- Politica compartimentului: EMPTY
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate încărca și șterge, utilizatorul nu poate face nimic
Cazul 2
- Blocați tot accesul public:
- [x] liste noi de control al accesului
- Politica compartimentului: EMPTY
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, dar nu poate încărca, utilizatorul nu poate face nimic
Cazul 3
- Blocați tot accesul public:
- [x] liste noi de control al accesului
- [x] orice liste de control al accesului
- Politica compartimentului: EMPTY
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, dar nu poate încărca, utilizatorul nu poate face nimic
Cazul 4
- Blocați tot accesul public:
- [x] liste noi de control al accesului
- [x] orice liste de control al accesului
- [x] noi politici privind punctele de acces
- Politica compartimentului: EMPTY
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, dar nu poate încărca, utilizatorul nu poate face nimic
Cazul 5
- Blocați tot accesul public: ACTIVAT
- Politica compartimentului: EMPTY
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, dar nu poate încărca, utilizatorul nu poate face nimic
Concluzie: Blocarea accesului public atunci când este setată la ON permite totul. Orice altă configurație permite ștergerea (și poate mai mult, cum ar fi get), dar nu pune.
Cazul 6
- Blocați tot accesul public: OFF
- Politica compartimentului: Administrator (Obținere/Pune/Ștergere obiect) Utilizator (nimic)
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate încărca și șterge, utilizatorul nu poate face nimic
Cazul 7
- Blocați tot accesul public:
- [x] liste noi de control al accesului
- Politica compartimentului: Administrator (Obținere/Pune/Ștergere obiect) Utilizator (nimic)
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, utilizatorul nu poate face nimic
Cazul 8
- Blocați tot accesul public:
- [x] liste noi de control al accesului
- [x] orice liste de control al accesului
- Politica compartimentului: Administrator (Obținere/Pune/Ștergere obiect) Utilizator (nimic)
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, utilizatorul nu poate face nimic
Cazul 9
- Blocați tot accesul public:
- [x] liste noi de control al accesului
- [x] orice liste de control al accesului
- [x] noi politici privind punctele de acces
- Politica compartimentului: Administrator (Obținere/Pune/Ștergere obiect) Utilizator (nimic)
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, utilizatorul nu poate face nimic
Cazul 10
- Blocați tot accesul public: ACTIVAT
- Politica compartimentului: Administrator (Obținere/Pune/Ștergere obiect) Utilizator (nimic)
- ACL: proprietarul găleții (lista, scrie | citește, scrie)
Rezultat: administratorul poate șterge, utilizatorul nu poate face nimic
Concluzie: Politica găleții nu are literalmente niciun efect asupra nimicului
TLDR: Se pare că politica Bucket nu face nimic.Numai Blocarea accesului public are un efect măsurabil, singura opțiune utilizabilă fiind dezactivarea acestuia. De asemenea, mi-am eliminat politica privind compartimentele din categoria mea publică și, de asemenea, nu s-a schimbat nimic.
Concluzia mea este că fie politica Bucket este încălcată, că documentația nu este suficientă, fie că setările în sine sunt contra-intuitive și nu fac de fapt ceea ce spun. Sau orice combinație de orice.
Prefer să-mi găzduiesc conținutul pe un server FTP în subsolul meu în acest moment.