Beschränke cloudfront-signierte URL (GET-Anfrage), auf die meine mobile Anwendung zugreifen soll

9

Ich versuche, Videodateien mit Amazon Cloudfront an meine App-Nutzer zu senden, die signierte URLs verwenden. Ich habe die signierten URLs mithilfe der Dokumentation erstellt und es funktioniert einwandfrei. Die generierte URL hat die Signatur, expires und keypair_id.

Probleme

Was ich versuche, ist, die Videodateien nur dann an den Benutzer zu senden, wenn die Anfrage von meiner bestimmten mobilen Anwendung kommt. Ich suche nach einer Lösung, um die Anfrage (auf einer signierten URL) auf der Cloudfront Seite zu autorisieren.

Wenn also ein Benutzer versucht, mit unserer mobilen App auf die signierte URL zuzugreifen, möchten wir den Inhalt bereitstellen, aber wenn die URL von einem Web oder einem anderen mobilen Client aus aufgerufen wird, möchten wir einen Autorisierungsfehler oder 404 auslösen.

Ich habe die Dokumentation und ein paar Blogs durchgesehen, um das oben genannte zu erreichen, und jeder hat mich in die Richtung geleitet, signierte URLs zu verwenden, die ich bereits bin. Aber die URLs sind immer noch direkt über den Browser zugänglich.

Ich würde auch gerne wissen, warum eine signierte URL eine Signatur als GET-Parameter hat, so als ob die Signatur entfernt würde. Der Inhalt ist weiterhin über die URL ohne die get-Abfrageparameter zugänglich.

%Vor%

Was ist der Unterschied in den obigen URLs?

Weitere Ausgabe

Die signierte URL, die ich generiert habe, liefert immer noch den Inhalt, also was ist der Punkt des Parameters expires GET, oder das Problem ist, dass ich die URL richtig gemacht habe oder nicht.

Ich habe die folgende Methode verwendet, um meine signierte URL zu generieren:

%Vor%     
Arpit Goyal 01.03.2016, 11:36
quelle

1 Antwort

2
  

Ich habe die Dokumentation und ein paar Blogs durchgesehen, um das oben genannte zu erreichen, und jeder hat mich in die Richtung geleitet, signierte URLs zu verwenden, die ich bereits bin. Aber die URLs sind immer noch direkt über den Browser zugänglich.

Vielleicht haben Sie ein falsches Verständnis der Funktion für signierte URLs. Jeder Client, der die URL besitzt, kann auf den Inhalt zugreifen - es gibt keine Beschränkung auf einen bestimmten mobilen Browser oder Desktop-Browser oder irgendetwas anderes. Solange die URL gültig ist (z. B. innerhalb der Gültigkeitsdauer / nicht abgelaufen ist und sich innerhalb des von Ihnen angegebenen IP-Bereichs befindet), wird jedem Client Zugriff gewährt.

Ihre Anwendung sollte die signierte URL in Echtzeit generieren, wenn der Benutzer sie anfordert, und sie sollte innerhalb eines für Sie akzeptablen Zeitrahmens ablaufen. Dies wird in den Dokumenten unter Wie signierte URLs funktionieren .

  

Ich würde auch gerne wissen, warum eine signierte URL eine Signatur als GET-Parameter hat, so als ob die Signatur entfernt würde. Der Inhalt ist weiterhin über die URL ohne die get-Abfrageparameter zugänglich.

Sie können ein Cache-Verhalten einrichten, das den Zugriff auf Anforderer mit gültigen signierten URLs einschränkt. Zusammenfassend können Sie beim Einrichten der Verteilung verschiedene Cache-Verhalten auf der Basis des vom Benutzer angeforderten Pfads konfigurieren.

Dieses Thema ist in der Dokumentation ein wenig vergraben. Weitere Informationen finden Sie in der Dokumentation zu Cache-Verhalten und in insbesondere das Pfadmuster und Zugriff auf den Viewer einschränken Unterabschnitte.

    
Ben Whaley 12.03.2016 01:34
quelle