Media CDN 會在簽署要求時使用密碼編譯金鑰組。Media CDN 會使用金鑰組來儲存目前用於簽署要求的金鑰組合。最多可以有三個公開金鑰和三個驗證共用金鑰 (每個金鑰組總計不超過六個金鑰)。
您也可以從鍵組中移除未使用的鍵。新增及移除金鑰通常稱為「密鑰輪替」。密鑰輪替可讓您執行下列操作:
- 將新密鑰附加到鍵組,即可安全地將新密鑰新增至鍵組。
- 使用對應的密鑰產生權杖。
在最久的可能權杖到期後移除舊密鑰。
舉例來說,假設您將短時間憑證設為在一小時後到期。接著,您會在新要求為使用者服務一小時後,移除用於短時間權杖的最舊密鑰。
移除未使用的密鑰前,請先確認該密鑰不會在應用程式伺服器上用於參照或擷取用來簽署使用者要求的內容。若提前從金鑰組中移除密鑰,Media CDN 就無法驗證與該密鑰相關聯的要求。受影響的使用者會收到 HTTP 403
Forbidden
回應。
為提升效能、可靠性和同時存取 Secret Manager 的成本,共用驗證金鑰機密會快取最多一小時。密鑰快取功能可能會在密鑰從 Secret Manager 刪除後,持續提供權杖存取權,最長可達一小時。
最佳做法是定期輪替金鑰。
已知限制
Media CDN 會拒絕使用 Cloud CDN 對稱式簽名所簽署的要求,並提供 HTTP 403
回應。Media CDN 目前支援使用權杖格式和 Media CDN 參照的金鑰,透過要求提供對稱金鑰。
非對稱金鑰必須以 Ed25519 組合產生,其中包含 512 位元 (64 位元組) 私密金鑰和 256 位元 (32 位元組) 公開金鑰。Tink 程式庫支援使用 C++、Go、Java 和 Objective-C 產生、簽署及驗證 Ed25519 簽章的金鑰。
非對稱金鑰必須具備下列特徵:
以 Base64 編碼,長度為 44 個位元組 (經過填補) 或 43 個位元組 (未經填補)。系統接受有填充和無填充的 Base64 編碼。
公開金鑰必須採用 網址安全 Base64 格式編碼。私密金鑰可以採用 標準 Base64 格式編碼。
擁有相符的私密金鑰。