儲存體帳戶和安全性

Azure 儲存體帳戶非常適用於需要快速且一致回應時間的工作負載,或每秒具有大量輸入輸出 (IOP) 作業的工作負載。 儲存體帳戶包含 Azure 儲存體的所有資料物件,其中包括:

  • Blob
  • 檔案共用
  • 佇列
  • 資料表
  • 磁碟

儲存體帳戶會為您的資料提供唯一的命名空間,可在任何地方透過 HTTPHTTPS 進行存取。

如需進一步了解支援不同功能的各種類型儲存體帳戶,請參考儲存體帳戶類型

若要了解 Azure 儲存體帳戶如何為您的應用程式工作負載提升安全性,請參閱下列文章:

下列各節包括設計考量、設定檢查清單,以及 Azure 儲存體帳戶和安全性專屬的建議設定選項。

設計考量

Azure 儲存體帳戶包含下列設計考慮:

  • 儲存體帳戶名稱必須介於 3 到 24 個字元,而且只能包含數字和小寫字母。
  • 如需最新的 SLA 規格,請參考儲存體帳戶的 SLA
  • 移至 Azure 儲存體備援以判斷最適合特定案例的備援選項。
  • Azure 中的儲存體帳戶名稱不得重複。 任兩個儲存體帳戶名稱不得相同。

檢查清單

在設定 Azure 儲存體帳戶時,您是否有考量到安全性?

  • 為所有的儲存體帳戶啟用 Azure Defender。
  • 為 Blob 資料開啟虛刪除。
  • 使用Microsoft Entra識別碼來授權 Blob 資料的存取權。
  • 當您透過 Azure RBAC 將許可權指派給Microsoft Entra安全性主體時,請考慮最低許可權的原則。
  • 使用受控識別來存取 Blob 和佇列資料。
  • 使用 Blob 版本設定或不可變的 Blob 來儲存業務關鍵資料。
  • 限制儲存體帳戶的預設網際網路存取。
  • 啟用防火牆規則。
  • 限制對特定網路的網路存取。
  • 允許信任的 Microsoft 服務存取儲存體帳戶。
  • 在所有儲存體帳戶上啟用 [需要安全傳輸] 選項。
  • 僅將共用存取簽章 (SAS) 權杖限制為 HTTPS 連線。
  • 避免和防止使用共用金鑰授權存取儲存體帳戶。
  • 定期重新產生您的帳戶金鑰。
  • 建立撤銷計畫,並附加至您發佈給用戶端的任何 SAS 中。
  • 在臨時 SAS、服務 SAS 或帳戶 SAS 上使用近期到期時間。

組態建議

設定您的 Azure 儲存體帳戶時,請考慮下列建議以最佳化安全性:

建議 描述
為所有的儲存體帳戶啟用 Azure Defender。 適用於 Azure 儲存體的 Azure Defender 會提供額外一層的安全性智慧層級,用於偵測儲存體帳戶中異常且可能有害的存取意圖或攻擊。 當活動發生異常狀況時,會在 Azure 資訊安全中心觸發安全性警示。 這些警示也會透過電子郵件將可疑活動的詳細資料,以及如何調查和修復威脅的建議傳送給訂閱系統管理員。 如需詳細資訊,請參閱設定適用於 Azure 儲存體的 Azure Defender
為 Blob 資料開啟虛刪除。 Azure 儲存體 Blob 的虛刪除可讓您復原已刪除的 Blob 資料。
使用Microsoft Entra識別碼來授權 Blob 資料的存取權。 Microsoft Entra識別碼提供優於共用金鑰的安全性和方便使用,以授權 Blob 儲存體的要求。 建議您盡可能使用Microsoft Entra授權搭配 Blob 和佇列應用程式,以將共用金鑰固有的潛在安全性弱點降到最低。 如需詳細資訊,請參閱使用Microsoft Entra識別碼授權存取 Azure Blob 和佇列
當您透過 Azure RBAC 將許可權指派給Microsoft Entra安全性主體時,請考慮最低許可權的原則。 將角色指派給使用者、群組或應用程式時,請僅授與該安全性主體完成工作所需的權限。 限制對資源的存取權,有助於防止您的資料遭到不慎和惡意誤用。
使用受控識別來存取 Blob 和佇列資料。 Azure Blob 和佇列儲存體支援Microsoft Entra Azure 資源的受控識別進行驗證。 適用于 Azure 資源的受控識別可以使用 Azure 虛擬機器中執行的應用程式Microsoft Entra認證來授權 Blob 和佇列資料的存取權, (VM) 、函式應用程式、虛擬機器擴展集和其他服務。 藉由使用 Azure 資源的受控識別搭配Microsoft Entra驗證,您可以避免將認證儲存在雲端中執行的應用程式,以及過期服務主體的問題。 如需詳細資訊,請參閱使用 Azure 資源的受控識別來驗證 Blob 和佇列的存取權
使用 Blob 版本設定或不可變的 Blob 來儲存業務關鍵資料。 請考慮使用 Blob 版本設定來維護舊版物件,或使用法務保存措施和限時保留原則,將 Blob 資料儲存為 WORM (寫入一次,讀取多次) 狀態。 雖然可讀取不可變的 Blob,但在保留間隔期間無法修改或刪除。 如需詳細資訊,請參閱使用不可變儲存體儲存啇務關鍵 Blob 資料
限制儲存體帳戶的預設網際網路存取。 依預設,儲存體帳戶的網路存取不受限制,而且會向網際網路的所有流量開放。 應該只在可能的情況下,才授與特定的 Azure 虛擬網路存取儲存體帳戶,或使用私人端點來允許虛擬網路 (VNet) 上的用戶端,透過 Private Link 安全地存取資料。 如需相關資訊,請參閱針對 Azure 儲存體使用私人端點。 您可以針對需要透過網際網路存取的儲存體帳戶建立例外狀況。
啟用防火牆規則。 您可以限制只有來自指定 IP 位址、IP 範圍或 Azure 虛擬網路 (VNet) 子網路清單的要求,才能存取您的儲存體帳戶。 如需設定防火牆規則的相關資訊,請參閱設定 Azure 儲存體防火牆和虛擬網路
限制對特定網路的網路存取。 使用內建的防火牆、虛擬網路功能或私人端點,將網路存取限制為需存取用戶端必要的存取權,可減少將資源暴露在網路攻擊的風險。
允許信任的 Microsoft 服務存取儲存體帳戶。 依預設,開啟儲存體帳戶的防火牆規則會封鎖傳入的資料要求,除非要求來自 Azure 虛擬網路 (VNet) 內運作的服務,或是來自允許的公用 IP位址。 封鎖的要求包括來自其他 Azure 服務、Azure 入口網站、記錄和計量服務等的要求。 您可以藉由新增例外狀況來允許受信任的 Microsoft 服務存取儲存體帳戶,以允許來自其他 Azure 服務的要求。 如需為信任的 Microsoft 服務新增例外狀況的詳細資訊,請參閱設定 Azure 儲存體防火牆和虛擬網路
在所有儲存體帳戶上啟用 [需要安全傳輸] 選項。 當您啟用 [需要安全傳輸] 選項時,對儲存體帳戶提出的所有要求都必須透過安全連線進行。 透過 HTTP 提出的任何要求都會失敗。 如需詳細資訊,請參閱在 Azure 儲存體中要求使用安全傳輸
僅將共用存取簽章 (SAS) 權杖限制為 HTTPS 連線。 當用戶端使用 SAS 權杖來存取 Blob 資料時,要求使用 HTTPS 以將竊聽的風險降至最低。 如需詳細資訊,請參閱使用共用存取簽章 (SAS) 對 Azure 儲存體資源授與有限存取權
避免和防止使用共用金鑰授權存取儲存體帳戶。 建議您使用Microsoft Entra識別碼來授權對 Azure 儲存體的要求,以及防止共用金鑰授權。 在需要共用金鑰授權的情況下,請一律優先使用 SAS 權杖,而不是散發共用金鑰。
定期重新產生帳戶金鑰。 定期輪替帳戶金鑰可減少資料暴露於惡意執行者的風險。
建立撤銷計畫,並附加至您發佈給用戶端的任何 SAS 中。 如果 SAS 遭到盜用,建議立即撤銷 SAS。 若要撤銷使用者委派 SAS,請撤銷使用者委派金鑰,以快速使與該金鑰相關聯的所有簽章失效。 若要撤銷與預存存取原則相關聯的服務 SAS,您可以刪除預存存取原則、重新命名原則,或將其到期時間變更為過去的時間。
在臨時 SAS、服務 SAS 或帳戶 SAS 上使用近期到期時間。 如果 SAS 遭到盜用,也只會在短時間內有效。 如果您無法參考預存存取原則,則此做法格外重要。 短期到期時間亦可協助限制可寫入 Blob 的資料量,方法是限制可對其上傳的可用時間。 用戶端應在到期日之前就更新 SAS,如果提供 SAS 的服務無法使用的話,還有時間可以重試。

後續步驟