Verwenden Sie signierte URLs - Amazon CloudFront

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie signierte URLs

Ein signiertes Dokument URL enthält zusätzliche Informationen, z. B. ein Ablaufdatum und eine Ablaufzeit, sodass Sie mehr Kontrolle über den Zugriff auf Ihre Inhalte haben. Diese zusätzlichen Informationen sind in einer Richtlinienanweisung enthalten, die entweder auf einer vordefinierten oder einer benutzerdefinierten Richtlinie basieren. Die Unterschiede zwischen vordefinierten und benutzerdefinierten Richtlinien sind in den nächsten beiden Abschnitten beschrieben.

Anmerkung

Sie können einige signierte, URLs mit vorgefertigten Richtlinien und einige URLs mit benutzerdefinierten Richtlinien signierte Richtlinien für dieselbe Distribution erstellen.

Entscheiden Sie sich dafür, vordefinierte oder benutzerdefinierte Richtlinien für signierte Richtlinien zu verwenden URLs

Wenn Sie ein signiertes Dokument erstellenURL, schreiben Sie eine Richtlinienerklärung in einem JSON Format, das die Einschränkungen für das signierte URL Dokument festlegt, z. B. wie lange das gültig URL ist. Sie können entweder eine vordefinierte Richtlinie oder eine benutzerdefinierte Richtlinie verwenden. Im Folgenden finden Sie einen Vergleich zwischen vordefinierten und benutzerdefinierten Richtlinien:

Beschreibung Vordefinierte Richtlinie Benutzerdefinierte Richtlinie

Sie können die Richtlinienanweisung für mehrere Dateien wiederverwenden. Um die Richtlinienanweisung wiederzuverwenden, müssen Sie Platzhalterzeichen im Resource-Objekt verwenden. Weitere Informationen finden Sie unter Werte, die Sie in der Richtlinienanweisung für eine signierte Richtlinie angebenURL, die eine benutzerdefinierte Richtlinie verwendet.)

Nein

Ja

Sie können das Datum und die Zeit festlegen, ab denen Benutzer auf Ihre Inhalte zugreifen können.

Nein

Ja (optional)

Sie können das Datum und die Zeit festlegen, ab denen Benutzer nicht mehr auf Ihre Inhalte zugreifen können.

Ja

Ja

Sie können die IP-Adresse oder den Bereich von IP-Adressen der Benutzer festlegen, die auf Ihre Inhalte zugreifen können.

Nein

Ja (optional)

Die signierte Version URL enthält eine Base64-codierte Version der Richtlinie, was zu einer längeren Version führt. URL

Nein

Ja

Hinweise zum Erstellen einer signierten Richtlinie URLs mithilfe einer vorgefertigten Richtlinie finden Sie unter. Erstellen Sie eine signierte, URL indem Sie eine vordefinierte Richtlinie verwenden

Informationen zum Erstellen signierter Dateien URLs mithilfe einer benutzerdefinierten Richtlinie finden Sie unterErstellen Sie mithilfe einer benutzerdefinierten Richtlinie ein signiertes URL.

Wie URLs funktionieren signierte

Hier finden Sie eine Übersicht darüber, wie Sie Amazon S3 für signiert konfigurieren CloudFront URLs und wie CloudFront reagiert wird, wenn ein Benutzer eine signierte URL Datei anfordert.

  1. Geben Sie in Ihrer CloudFront Distribution eine oder mehrere vertrauenswürdige Schlüsselgruppen an, die die öffentlichen Schlüssel enthalten, die zur Überprüfung der URL Signatur verwendet werden CloudFront können. Sie verwenden die entsprechenden privaten Schlüssel, um die zu signierenURLs.

    Weitere Informationen finden Sie unter Geben Sie Unterzeichner an, die signierte URLs und signierte Cookies erstellen können.

  2. Entwickeln Sie Ihre Anwendung, um zu ermitteln, ob ein Benutzer Zugriff auf Ihre Inhalte haben soll, und URLs um signierte Dateien oder Teile Ihrer Anwendung zu erstellen, auf die Sie den Zugriff einschränken möchten. Weitere Informationen finden Sie unter den folgenden Themen:

  3. Ein Benutzer fordert eine Datei an, für die Sie eine Signatur benötigen möchtenURLs.

  4. Ihre Anwendung stellt sicher, dass der Benutzer zum Zugriff auf die Datei berechtigt ist: Er hat sich angemeldet, für den Zugriff auf die Inhalte bezahlt oder andere Anforderungen für den Zugriff erfüllt.

  5. Ihre Anwendung erstellt eine signierte Datei und gibt URL sie an den Benutzer zurück.

  6. Die signierte URL Option ermöglicht es dem Benutzer, den Inhalt herunterzuladen oder zu streamen.

    Dieser Schritt erfolgt automatisch. Der Benutzer muss in der Regel keine zusätzlichen Schritte ausführen, um auf den Inhalt zuzugreifen. Wenn ein Benutzer beispielsweise in einem Webbrowser auf Ihre Inhalte zugreift, gibt Ihre Anwendung den signierten Inhalt URL an den Browser zurück. Der Browser verwendet sofort die SignaturURL, um auf die Datei im CloudFront Edge-Cache zuzugreifen, ohne dass der Benutzer eingreifen muss.

  7. CloudFront verwendet den öffentlichen Schlüssel, um die Signatur zu validieren und zu bestätigen, URL dass sie nicht manipuliert wurde. Wenn die Signatur ungültig ist, wird die Anfrage abgelehnt.

    Wenn die Signatur gültig ist, überprüft CloudFront die Richtlinienaussage in der URL (oder erstellt eine solche, falls Sie eine vordefinierte Richtlinie verwenden), um zu bestätigen, dass die Anfrage noch gültig ist. Wenn Sie beispielsweise ein Anfangs- und Enddatum und eine Uhrzeit für das angegeben habenURL, CloudFront bestätigt, dass der Benutzer versucht, während des Zeitraums, für den Sie den Zugriff zulassen möchten, auf Ihre Inhalte zuzugreifen.

    Wenn die Anforderung die Anforderungen der Richtlinienerklärung CloudFront erfüllt, werden die Standardoperationen ausgeführt: Ermittelt, ob sich die Datei bereits im Edge-Cache befindet, leitet die Anforderung gegebenenfalls an den Ursprung weiter und gibt die Datei an den Benutzer zurück.

Anmerkung

Wenn eine Datei ohne Vorzeichen Abfragezeichenfolge-Parameter URL enthält, stellen Sie sicher, dass Sie diese in den Teil der Zeichenfolge aufnehmenURL, den Sie signieren. Wenn Sie einer signierten Zeichenfolge URL nach dem Signieren eine Abfragezeichenfolge hinzufügen, wird der Status HTTP 403 URL zurückgegeben.

Entscheiden Sie, wie lange URLs Unterschriften gültig sind

Sie können private Inhalte mit einem signierten Inhalt verteilenURL, der nur für kurze Zeit gültig ist — möglicherweise nur für ein paar Minuten. SignierteURLs, die für einen so kurzen Zeitraum gültig sind, eignen sich gut für die Verteilung von Inhalten on-the-fly an einen Benutzer zu einem bestimmten Zweck, z. B. zum Verteilen von Leihfilmen oder Musikdownloads an Kunden auf Abruf. Wenn URLs Ihre signierten Dokumente nur für einen kurzen Zeitraum gültig sind, möchten Sie sie wahrscheinlich automatisch mit einer von Ihnen entwickelten Anwendung generieren. Wenn der Benutzer beginnt, eine Datei herunterzuladen oder eine Mediendatei abzuspielen, CloudFront vergleicht er die Ablaufzeit in der URL mit der aktuellen Uhrzeit, um festzustellen, ob die Datei noch gültig URL ist.

Sie können private Inhalte auch mit einem signierten Dokument verteilenURL, das für einen längeren Zeitraum, möglicherweise für Jahre, gültig ist. Signierte InhalteURLs, die für einen längeren Zeitraum gültig sind, sind nützlich, um private Inhalte an bekannte Nutzer zu verteilen, z. B. um einen Geschäftsplan an Investoren zu verteilen oder Schulungsmaterial an Mitarbeiter zu verteilen. Sie können eine Anwendung entwickeln, mit der diese längerfristigen signierten Dateien URLs für Sie generiert werden.

Wann CloudFront überprüft das Ablaufdatum und die Uhrzeit in einer signierten URL

CloudFront überprüft das Ablaufdatum und die Uhrzeit in einem Dokument, das URL zum Zeitpunkt der HTTP Anfrage signiert wurde. Wenn ein Client unmittelbar vor der Ablaufzeit mit dem Download einer großen Datei beginnt, sollte der Download abgeschlossen werden, auch wenn die Ablaufzeit während des Downloads überschritten wird. Wenn die TCP Verbindung unterbrochen wird und der Client versucht, den Download nach Ablauf der Ablaufzeit neu zu starten, schlägt der Download fehl.

Wenn ein Client Range verwendetGETs, um eine Datei in kleineren Teilen abzurufen, schlägt jede GET Anforderung fehl, die nach Ablauf der Ablaufzeit erfolgt. Weitere Informationen zu Range GETs finden Sie unterWie CloudFront werden Teilanfragen für ein Objekt (BereichGETs) verarbeitet.

Beispiel-Code und Drittanbieter-Tools

Beispielcode, der den Hash-Teil und den signierten Teil von signed erstelltURLs, finden Sie in den folgenden Themen: