了解儲存體帳戶金鑰

已完成

Contoso 的許多資料都是由自訂應用程式產生或取用。 應用程式則是以各種不同的語言撰寫。

Azure 儲存體帳戶可以在 Active Directory 中建立授權應用程式,來控制對 Blob 和佇列中資料的存取。 針對使用 Blob 儲存體或佇列儲存體的應用程式,此驗證方法即為最佳解決方案。

針對其它儲存體模型,用戶端可以使用「共用金鑰」或共用祕密。 此驗證選項是其中一種最易於使用的選項,支援 Blob、檔案、佇列和資料表。 用戶端會將共用金鑰內嵌在每個要求的 HTTP Authorization 標頭中,而儲存體帳戶則會驗證它。

例如,應用程式可以發出對 Blob 資源的 GET 要求:

GET http://myaccount.blob.core.windows.net/?restype=service&comp=stats

HTTP 標頭會控制 REST API 的版本、日期,以及經過編碼的共用金鑰:

x-ms-version: 2018-03-28  
Date: Wed, 23 Oct 2018 21:00:44 GMT  
Authorization: SharedKey myaccount:CY1OP3O3jGFpYFbTCBimLn0Xov0vt0khH/E5Gy0fXvg=

儲存體帳戶金鑰

在 Azure 儲存體帳戶中,共用金鑰稱為「儲存體帳戶金鑰」。 Azure 會為每個您建立的每個儲存體帳戶,建立這些金鑰的其中兩個 (主要和次要)。 這些金鑰會允許存取帳戶中「所有內容」

您會在儲存體帳戶的 Azure 入口網站檢視中找到儲存體帳戶金鑰。 在儲存體帳戶的左側功能表窗格中,選取 [安全性 + 網路]>[存取金鑰]

顯示 Azure 入口網站中存取金鑰的螢幕擷取畫面。

保護共用金鑰

儲存體帳戶只有兩個金鑰,且它們會提供帳戶的完整存取權限。 因為這些金鑰相當強大,請只針對您可以完全控制的內部作業應用程式使用它們。

若金鑰遭到洩露,請在 Azure 入口網站中變更金鑰值。 以下是幾個需要重新產生您儲存體帳戶金鑰的原因:

  • 基於安全性理由,您可能需要定期重新產生金鑰。
  • 若某人駭進應用程式並取得硬式編碼金鑰或儲存在設定檔中的金鑰,請重新產生金鑰。 遭到洩露的金鑰可讓駭客具備您儲存體帳戶的完整存取權限。
  • 若小組正在使用保存儲存體帳戶金鑰的儲存體總管應用程式,而小組的其中一名成員離開了小組,請重新產生金鑰。 否則,應用程式會繼續運作,讓先前小組成員存取您的儲存體帳戶。

如何重新整理金鑰:

  • 變更每個信任的應用程式以使用次要金鑰。
  • 在 Azure 入口網站中重新整理主要金鑰。 這會是新的次要金鑰值。

重要

在您重新整理金鑰後,任何嘗試使用舊金鑰值的用戶端都會遭到拒絕。 請確定您找出了所有使用共用金鑰的用戶端並加以更新,使其保持運作。