Integration von Symfony3 und AWS S3 mit Benutzerrechten - amazon-web-services, amazon-s3, symfony

Ich weiß, dass es wahrscheinlich eine Dokumentation geben wird dort draußen Irgendwo, aber ich ertrinke in Google-Suchen, die versuchen, meinen Kopf um dieses zu bekommen!

Ich arbeite an meinem ersten Symfony-Projekt und habe die Anforderung, Dateien auf AWS S3 zu speichern. Es gibt drei Kategorien von Dateien, die ich speichere:

  • Typ 1 - Dies sollte für jeden zugänglich sein (obwohl nur auf Anfrage von meiner Website).
  • Typ 2 - Dies sollte für bestimmte Benutzer zugänglich sein. Die Liste der Benutzer ändert sich von Zeit zu Zeit (Freundesliste).
  • Geben Sie 3 ein - Dies sollte für den erstellenden Benutzer und manchmal für andere Benutzer zugänglich sein, wenn von einer bestimmten Seite aus zugegriffen wird.

Ich benutze den FOSUserBundle, um meine Benutzerauthentifizierung in meinem Projekt zu handhaben.

Zu dieser Zeit bin ich in einem Meer von "IAM" Nutzern verloren,"ACL" -Richtlinien und ich weiß wirklich nicht, wie man so etwas aufstellt - oder ob es überhaupt möglich ist. Ich habe auch die Pakete Gaufrette und liip / imagine-bundle in Symfony installiert (damit ich Wasserzeichen hinzufügen und Größe ändern kann)

Jegliche Hilfe oder Ressourcen, die mich in die richtige Richtung lenken würden, wären dankbar.

t2t

OK, basierend auf meiner weiteren Lektüre und dem folgenden Kommentar glaube ich, dass ich vereinfachen kann, was ich tun muss:

Ich möchte einen Bucket auf AWS S3 haben, der so eingeschränkt ist, dass:

  • Dateien können nur durch eine Anfrage von meiner Domain gelesen werden, die ein Sicherheitstoken irgendeiner Art bereitstellt.

Das bedeutet, dass selbst wenn das angesprochene HTTP gefälscht wird, eine Anfrage an die S3-Datei abgelehnt wird, da das Token nicht gesendet wurde ...

Die Frage ist also - ist das möglich? Wenn ja, wie soll ich vorgehen?

Vielen Dank,

t2t

Antworten:

0 für die Antwort № 1

Bitte mischen Sie Ihre Projektnutzer nicht mit IAMBenutzer. Diese Dinge sind komplett getrennt. Sie benötigen nur einen IAM-Benutzer, der Dateien aller Benutzer Ihrer PHP-App hochlädt. Jede Logik sollte in Symfony geschrieben werden.


Verwandte Fragen
Speisekarte