儲存體帳戶和安全性
Azure 儲存體帳戶非常適用於需要快速且一致回應時間的工作負載,或每秒具有大量輸入輸出 (IOP) 作業的工作負載。 儲存體帳戶包含 Azure 儲存體的所有資料物件,其中包括:
- Blob
- 檔案共用
- 佇列
- 資料表
- 磁碟
儲存體帳戶會為您的資料提供唯一的命名空間,可在任何地方透過 HTTP
或 HTTPS
進行存取。
如需進一步了解支援不同功能的各種類型儲存體帳戶,請參考儲存體帳戶類型。
若要了解 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 的服務無法使用的話,還有時間可以重試。 |