Ich baue eine PHP-Website, die ihre Inhaltsdateien auf Amazon S3 speichert. Die Website-Dateien (mit PHP-Code) werden auf einem traditionellen Server gehostet. Benutzer registrieren sich auf der Website und nach der Registrierung und Anmeldung haben sie Zugriff auf die Dateien auf S3.
Die Frage ist, wie nur eingeloggte Benutzer die Dateien herunterladen und verhindern können, dass andere sie herunterladen? Muss AWS IAM irgendwie beteiligt sein?
Ich möchte keine URLs ablaufen lassen. Ich möchte nur bestimmten Benutzern Zugriff auf Dateien gewähren und möchte nicht, dass sie den Link für einen bestimmten Zeitraum mit anderen teilen.
Zukünftig möchte ich auch den Zugriff auf Dateien für registrierte Benutzer einschränken - je nach Art des Benutzerkontos hat der Benutzer Zugriff auf verschiedene Dateien.
Thx im Voraus für die Antworten!
Dies kann getan werden ... Ich benutze ROR anstelle von PHP, wo meine Anwendung den Zugriff auf Daten in einem S3-Bucket steuert. Ich habe Buckets, auf die meine App zugreifen kann, und der Dateizugriff ist durch ihre Anmeldeinformationen in meiner App eingeschränkt. Sinn ergeben?
Ich habe einen öffentlichen Bucket zum Speichern meiner Assets (öffentlich verfügbare Images) und einen Bucket, auf den nur meine Anwendung zugreifen kann. Benutzer in meiner Anwendung können basierend auf ihren Anmeldeinformationen nur auf bestimmte Bucket-Abschnitte zugreifen.
Die Datenbank speichert einen Verweis auf die genaue s3-Datei / Speicherort, wie man darauf zugreift (verschlüsselte Anmeldeinformationen und Schlüssel, die während der Transaktion übergeben wurden) und wer darauf zugreifen kann.
Lesen Sie, wie Sie Web-Assets aus einem S3-Bucket bereitstellen und ein Upload-Formular in einem S3-Bucket erstellen. Das gibt Ihnen eine Vorstellung davon, wie man mit S3-Buckets interagieren kann. Sobald Sie mit dem Bucket-Inhalt interagieren können, können Sie den Zugriff mit Ihrer Webanwendung steuern.
Viel Glück!
Tags und Links php amazon-s3 amazon-web-services