Cloud CDN bietet drei Möglichkeiten, den Zugriff auf Ihre im Cache gespeicherten Inhalte zu steuern:
- Mit signierten URLs können Sie Antworten aus den global verteilten Caches von Google Cloudbereitstellen, wenn Anfragen autorisiert werden müssen. Jeder, der über die signierte URL verfügt, kann für einen begrenzten Zeitraum auf die Ressource zugreifen.
- Mit signierten Cookies können Sie ebenfalls für einen begrenzten Zeitraum auf eine Ressource zugreifen. Sie sind hilfreich, wenn Sie Dutzende oder Hunderte von URLs für jeden Nutzer signieren müssen.
- Mit der Authentifizierung für private Ursprünge können Sie Verbindungen zu Ihren Amazon S3-Buckets (Amazon Simple Storage Service) oder anderen kompatiblen Objektspeichern einschränken und verhindern, dass Nutzer direkt darauf zugreifen.
Signierte URLs
Eine signierte URL beschränkt die Berechtigung und die Zeit zum Senden einer Anfrage.
Anwendungsfälle
In manchen Szenarien möchten Sie möglicherweise nicht, dass Ihre Nutzer für den Zugriff auf Cloud CDN-Inhalte ein Google-Konto benötigen, möchten aber dennoch mithilfe Ihrer anwendungsspezifischen Logik den Zugriff steuern.
Üblicherweise wird dem Nutzer dafür eine signierte URL zur Verfügung gestellt, über die er innerhalb eines begrenzten Zeitraums Lesezugriff auf die entsprechende Ressource erhält. Beim Erstellen der signierten URL geben Sie eine Ablaufzeit an. Jeder, der die URL kennt, kann auf die Ressource zugreifen, bis die Ablaufzeit für die URL erreicht oder der Schlüssel zum Signieren der URL rotiert wurde.
Verwenden Sie signierte URLs in folgenden Fällen:
Sie möchten den Zugriff auf einzelne Dateien einschränken, z. B. auf eine herunterladbare Installationsdatei.
Sie möchten für Nutzer Clientanwendungen zu bereitstellen, die keine Cookies unterstützen.
So funktionieren signierte URLs
Signierte URLs gewähren einem Client vorübergehend Zugriff auf eine private Ressource, ohne dass eine zusätzliche Autorisierung erforderlich ist. Dazu werden ausgewählte Elemente einer Anfrage mit einem stark zufälligen Schlüssel, den Sie generieren, gehasht und kryptografisch signiert.
Wenn bei einer Anfrage die von Ihnen angegebene signierte URL verwendet wird, gilt die Anfrage als autorisiert, den angeforderten Inhalt zu erhalten. Wenn Cloud CDN für einen aktivierten Dienst eine Anfrage mit einer fehlerhaften Signatur empfängt, wird die Anfrage abgelehnt und nicht zur Verarbeitung an Ihr Backend geleitet.
Im Allgemeinen kann eine signierte URL von jedem genutzt werden, der sie kennt. Normalerweise ist eine signierte URL aber nur für die Verwendung durch den Client gedacht, dem die URL mitgeteilt wurde. Signierte URLs laufen zu einem von Ihnen gewählten Zeitpunkt ab, um das Risiko zu verringern, dass die URL von einem anderen Client verwendet wird. Um das Risiko der Weitergabe einer signierten URL zu minimieren, sollten Sie sie so bald wie möglich ablaufen lassen.
So werden URLs signiert
Bevor Sie URLs signieren können, müssen Sie einen oder mehrere kryptografische Schlüssel in einem Backend-Dienst, einem Backend-Bucket oder beidem erstellen. Anschließend signieren Sie eine URL und hashen sie kryptografisch mit der Google Cloud CLI oder Ihrem eigenen Code.
Umgang mit signierten URLs
Wenn die Verarbeitung signierter URLs für ein Backend aktiviert ist, verarbeitet Cloud CDN Anfragen mit signierten URLs auf spezielle Weise. Insbesondere Anfragen mit einem Signature-Abfrageparameter gelten als signiert. Wenn eine solche Anfrage empfangen wird, überprüft Cloud CDN Folgendes:
- Die HTTP-Methode ist
GET,HEAD,