Próbuję dokładnie zrozumieć, jak skonfigurować wiadro, które jest na ogół prywatne, ale umożliwia anonimowe przesyłanie z ograniczeniami. Konkretne kryteria to:S3 - Przesyłanie anonimowe - Kluczowy prefiks
- Wiadro jest w większości prywatne i wymaga mojego klucza/hasła do dodania/usunięcia/aktualizacji/listy plików.
- Istnieje "katalog" (tj. Prefiks klucza) nazywany "przychodzącym", który umożliwi anonimowym użytkownikom przesyłanie treści do, ale nie do listy.
- Wiadro ma jeden dzień ważności dla wszystkich treści. Jako bonus chciałbym, aby katalog "przychodzący" miał 30-minutowe wygaśnięcie, chociaż jeśli nie jest to możliwe, to wygaśnie jeden dzień dla całego wiadra.
- Pliki z prefiksem "przychodzącym" będą miały ograniczony rozmiar na obiekt.
- Mogę również chcieć ograniczyć obiekty z prefiksem "przychodzącym" tylko do niektórych typów zawartości.
pytania mam to:
- byłoby lepiej po prostu utworzyć dwa wiadra. Jeden dla moich plików przychodzących i jeden dla mojego osobistego przetwarzania i przechowywania?
- Jak wyglądałby ten kod, aby plik mógł zostać załadowany do katalogu przychodzącego. Idealnie chciałbym uniknąć zależności od biblioteki S3 i po prostu używać wywołań HTTP. Dodatkowe punkty, jeśli możesz wskazać mi właściwy kierunek w Ruby. :)
Wydłużenie wydaje się możliwe do ustawienia za pośrednictwem konsoli zarządzania S3, ale jest ograniczone do 1 dnia jako najmniejsza data wygaśnięcia. Czy mogę umieścić w tym polu kropkę dziesiętną? Uprawnienia wydają się odnosić do całego zasobnika zamiast tylko przedrostka. To sprawia, że myślę, że potrzebuję tylko dwóch wiader. Jeśli trzymam z jednym kubełkiem, to myślę, że muszę stworzyć zasadę IAM i zastosować ją do tego zasobu, ale jest to poza moją ograniczoną znajomością S3 i chcę się upewnić, że nie zostawiam dziury w uprawnieniach, które pozwalają ludziom robić bardziej niż tego chcę.
Znalazłem wiele dokumentacji na temat anonimowego przesyłania do S3 za pośrednictwem formularza formularza HTTP. Mogę to zaadaptować do kodu, ale zastanawiam się, skoro jestem w kodzie aplikacji (a nie w formularzu HTTP) jest łatwiejszy sposób?
dla 2, czy rozważałeś konfigurację s3 z spinaczem z przewoźnika? – rb512
Dzięki za sugestię. Tak, użyłem ich wcześniej, chociaż myślę, że generalnie wszystkie działają na podstawie uwierzytelnionej (nie anonimowej). Może być kilka dodatków do anonimizacji, ale mam nadzieję, że od kiedy S3 jest interfejsem REST i zezwalam na anonimowe przesyłanie, że proste żądanie HTTP bez biblioteki trzeciej strony może załatwić sprawę. Ale próba parsowania dokumentacji Amazona była bardziej uciążliwa, niż miałam nadzieję, że tak będzie, jeśli ktoś mógłby wskazać mi właściwy kierunek. –
Nie całkiem to rozumiem. Czy oznacza to, że chcesz anonimowo przesyłać pliki bez podawania swoich danych uwierzytelniających s3? Nie sądzę, że to możliwe. – rb512