HMAC 金鑰

本頁討論雜湊架構訊息驗證代碼 (HMAC) 金鑰,您可以使用這個金鑰驗證傳送到 Cloud Storage ˙的要求。如需建立和管理服務帳戶 HMAC 金鑰的指南,請參閱為服務帳戶管理 HMAC 金鑰

總覽

HMAC 金鑰是「憑證」的一種,可與服務帳戶Beta 版或 Cloud Storage 中的使用者帳戶建立關聯。您可以使用 HMAC 金鑰建立「簽名」,然後將其加入傳送至 Cloud Storage 的要求中。簽名代表特定要求已經過使用者或服務帳戶的授權。

HMAC 金鑰有兩個主要部分:「存取權 ID」和「密鑰」。存取權 ID 和密鑰都是 HMAC 金鑰的唯一識別碼,但由於密鑰會用於建立簽名,所以是更為機密的資訊。

HMAC 金鑰在以下情況下很有用:

  • 在其他雲端儲存供應商和 Cloud Storage 之間移動資料,因為 HMAC 金鑰能讓您重複使用既有代碼來存取 Cloud Storage。

儲存密鑰

為服務帳戶建立 HMAC 金鑰時,系統會為您提供該金鑰的密鑰一次。請妥善保管這個密鑰及相關的「存取權 ID」。如果您遺失密鑰,您或 Google 都無法擷取密碼,此時您必須為服務帳戶建立新的 HMAC 金鑰,才能繼續驗證要求。

在您為使用者帳戶建立 HMAC 金鑰時,可以透過 Google Cloud Platform Console 查看金鑰的密鑰。方法是,您必須先使用使用者帳戶登入 GCP Console。在 Cloud Storage 的「Settings」(設定) 選單的「Interoperability」(互通性) 分頁標籤中,可以找到與該使用者帳戶關聯的密鑰。

限制

  • HMAC 密鑰只能用於向 XML API 傳送要求,而不能將要求傳送到 JSON API。

  • 每個服務帳戶最多可有 5 個 HMAC 金鑰。不過,已刪除的金鑰不會計入這項限制配額。

遷移使用者帳戶中的 HMAC 金鑰

一般來說,將 HMAC 金鑰與服務帳戶 (而不是使用者帳戶) 建立關聯是比較好的做法,尤其是對於實際工作負載而言:

  • 服務帳戶可以進行更嚴密的系統管理,並且不會影響個別使用者帳戶的隱私權和安全性。

  • 服務帳戶可降低依賴使用者帳戶之服務中斷的風險,比方說,因使用者離開專案或公司而停用使用者帳戶。

如果您目前將 HMAC 金鑰與使用者帳戶搭配使用,但想要遷移到服務帳戶,請注意以下幾點:

  • 您的專案必須具備服務帳戶,並且具備 HMAC 金鑰

  • 必須授予服務帳戶所需權限,才能在 Cloud Storage 中執行操作。

    Storage Object Admin 角色提供使用物件的廣泛權限,不過您可能想要分別建立不同的服務帳戶來執行不同的動作。舉例來說,您可能想將一個服務帳戶用於讀取,其中包含 Storage Object Viewer 角色,並將第二個服務帳戶用於寫入,而這個帳戶具有 Storage Object Creator角色。

  • 您應該測試一下,確認服務帳戶的運作正常,然後再將更新推送至實際工作環境。

  • 將實際工作轉換到服務帳戶 HMAC 金鑰後,請務必檢查 auth_method_count Stackdriver 指標,確認系統不再使用與使用者帳戶相關聯的 HMAC 金鑰。

  • 在您驗證使用者帳戶 (HMAC 金鑰已不再使用) 之後,您應該刪除這些 HMAC 金鑰,這麼可以降低不當存取資料的風險。

  • 如果使用者帳戶已不再用於存取 Cloud Storage 資源,請撤銷其所擁有的 Cloud Storage 存取權。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Storage
需要協助嗎?請前往我們的支援網頁