HMAC 金鑰

設定方式

本頁面將說明雜湊式訊息驗證碼 (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 金鑰。

後續步驟