本頁面將說明雜湊式訊息驗證碼 (HMAC) 金鑰,這類金鑰可用於驗證對 Cloud Storage XML API 發出的要求。如要在其他雲端儲存空間供應商和 Cloud Storage 之間移動資料,HMAC 金鑰相當實用,因為 HMAC 金鑰可讓您重複使用現有程式碼來存取 Cloud Storage。
總覽
HMAC 金鑰是一種與帳戶 (通常是服務帳戶) 相關聯的憑證。您可以使用 HMAC 金鑰,透過 HMAC-SHA256 簽署演算法建立簽章。您建立的簽章會包含在傳送至 Cloud Storage XML API 的要求中。簽名會顯示特定要求是否已獲得與 HMAC 金鑰相關聯的帳戶授權。
HMAC 金鑰主要包含兩個部分:存取 ID 和密鑰。
存取 ID:與特定帳戶連結的英數字串。
連結至服務帳戶時,字串長度為 61 個字元。
以下是存取 ID 的範例:
GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA密鑰:與特定存取 ID 連結的 40 個字元 Base64 編碼字串。密鑰是預先共用的金鑰,只有您和 Cloud Storage 知道。您會在驗證程序中使用密鑰建立簽章。以下是密鑰範例:
bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ
存取 ID 和密鑰都會用來識別 HMAC 金鑰,但密鑰是更敏感的資訊,因為密鑰是用來建立簽章。
您可以視需要對資源啟用 restrictAuthTypes 限制,限制由 HMAC 金鑰簽署的要求存取權。
儲存密鑰
為服務帳戶建立 HMAC 金鑰時,您會取得金鑰的密鑰一次。您必須妥善保管密鑰和相關聯的存取 ID。如果遺失密鑰,您或 Cloud de Confiance by S3NS都無法取回,必須為服務帳戶建立新的 HMAC 金鑰,才能繼續驗證要求。
儲存 Secret 的最佳做法
請勿分享 HMAC 金鑰密鑰。請妥善保管 HMAC 金鑰密鑰,就像保管任何存取憑證一樣。
為了確保最佳安全性,建議您定期變更金鑰以完成金鑰輪替。
如果您認為有人盜用您的 HMAC 金鑰,請立即刪除受影響的 HMAC 金鑰,並建立新的金鑰。
變更 HMAC 密鑰時,應在刪除舊金鑰之前使用新的 HMAC 金鑰更新代碼。刪除 HMAC 金鑰後,金鑰會立即失效,且無法復原。
限制
HMAC 密鑰只能用於向 XML API 傳送要求,而不能將要求傳送到 JSON API。
每個服務帳戶最多可有 10 個 HMAC 金鑰。不過,已刪除的金鑰不會計入這項限制配額。
建立服務帳戶 HMAC 金鑰後,最多可能需要 60 秒才能使用。刪除服務帳戶後,其 HMAC 金鑰可能仍會繼續運作,最長可達 5 分鐘。相反地,取消刪除擁有 HMAC 金鑰的服務帳戶後,最多可能需要 5 分鐘,金鑰才會再次可用。
如果對資源啟用
restrictAuthTypes限制,就無法再為該資源中指定的帳戶類型建立或啟用 HMAC 金鑰。