Media CDN verwendet kryptografische Schlüsselpaare, um Anfragen zu signieren. In Media CDN wird ein Schlüsselsatz verwendet, um Schlüsselpaare zu speichern, die aktiv zum Signieren von Anfragen verwendet werden. Sie können bis zu drei öffentliche Schlüssel und drei freigegebene Validierungsschlüssel angeben, also insgesamt sechs Schlüssel pro Schlüsselsatz.
Sie können auch nicht verwendete Schlüssel aus einem Schlüsselsatz entfernen. Das Hinzufügen und Entfernen eines Schlüssels wird in der Regel als Schlüsselrotation bezeichnet. Mit der Secret-Rotation haben Sie folgende Möglichkeiten:
- Neue Secrets zu einem Schlüsselsatz sicher hinzufügen, indem Sie sie an den Schlüsselsatz anhängen.
- Tokens mit dem entsprechenden Secret generieren.
Alte Secrets entfernen, nachdem das älteste mögliche Token abläuft.
Nehmen wir an, Sie haben Ihre Token mit kurzer Laufzeit so eingestellt, dass sie nach einer Stunde ablaufen. Anschließend entfernen Sie das älteste Secret, das für die Tokens mit kurzer Laufzeit verwendet wurde, nachdem neue Anfragen Nutzer eine oder mehrere Stunden versorgt haben.
Bevor Sie ein nicht verwendetes Secret entfernen, prüfen Sie, ob es nicht referenziert oder abgerufen wird, um Nutzeranfragen auf Ihrem Anwendungsserver zu signieren. Durch das vorzeitige Entfernen eines Secrets aus einem Schlüsselsatz wird verhindert, dass Media CDN Anfragen mit diesem Secret validiert. Betroffene Nutzer erhalten eine HTTP 403
Forbidden
-Antwort.
Um Leistung, Zuverlässigkeit und Kosten gleichzeitiger Zugriffe auf Secret Manager zu optimieren, werden Ihre freigegebenen Validierungsschlüssel bis zu eine Stunde lang im Cache gespeichert. Das Caching von Secrets kann dazu führen, dass der Tokenzugriff bis zu eine Stunde lang fortgesetzt wird, nachdem ein Secret aus Secret Manager gelöscht wurde.
Wir empfehlen, Schlüssel regelmäßig zu rotieren.
Bekannte Einschränkungen
Media CDN lehnt Anfragen, die mit den von Cloud CDN verwendeten symmetrischen Signaturen signiert sind, mit einer HTTP 403
-Antwort ab.
Media CDN unterstützt derzeit symmetrische Schlüssel mit Anfragen, die das Tokenformat und die von Media CDN referenzierten Schlüssel verwenden.
Asymmetrische Schlüssel müssen als Ed25519-Paare generiert werden, mit einem privaten Schlüssel von 512 Bit (64 Byte) und einem öffentlichen Schlüssel von 256 Bit (32 Byte). Die Tink-Bibliothek unterstützt die Schlüsselgenerierung, Signatur und Validierung von Ed25519-Signaturen mit C++, Go, Java und Objective-C.
Asymmetrische Schlüssel müssen die folgenden Eigenschaften haben:
Sie müssen base64-codiert sein und eine Länge von 44 Byte (aufgefüllt) oder 43 Byte (nicht aufgefüllt) haben. Sowohl Base64-codierte Strings mit als auch ohne Padding sind zulässig.
Der öffentliche Schlüssel muss im URL-sicheren Base64-Format codiert sein. Der private Schlüssel kann im Standard-Base64-Format codiert sein.
einen passenden privaten Schlüssel haben.