此安全基準將 Microsoft 雲端安全基準測試 1.0 版的指引套用到 Functions。 Microsoft 雲端安全性基準提供如何在 Azure 上保護雲端解決方案的建議。 內容依據 Microsoft 雲端安全基準所定義的安全控制措施及適用於 Functions 的相關指引進行分組。
您可以使用 Microsoft Defender for Cloud 來監視此安全性基準及其建議。 Azure 原則定義會列在適用於雲端的 Microsoft Defender 入口網站頁面的 [法規合規性] 區段中。
當功能具有相關的 Azure 政策定義時,這些定義會列在此基準中,以協助您評估與 Microsoft 雲端安全性基準控制和建議的合規性。 某些建議可能需要付費的 Microsoft Defender 方案,才能啟用特定的安全性案例。
備註
不適用於功能的特性 已被排除。 想了解 Functions 如何完全對應 Microsoft 雲端安全基準,請參閱 完整的 Functions 安全基準對應檔案。
安全檔案
安全概況總結了功能的高影響力行為,這可能導致安全考量的增加。
| 服務行為屬性 | 價值觀 |
|---|---|
| 產品類別 | 計算、網頁 |
| 客戶可以訪問主機/操作系統 | 無存取權 |
| 服務可以部署到客戶的虛擬網路中 | 對 |
| 儲存於靜止狀態的客戶資料 | 對 |
網路安全性
欲了解更多資訊,請參閱 Microsoft 雲端安全基準:網路安全。
NS-1:建立網路分割界限
Features
虛擬網路整合
說明:服務支援部署至客戶的私人虛擬網路(VNet)。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:將服務部署到虛擬網路中。 除非有充分理由直接指派公共 IP,否則請為該資源指派私有 IP(如適用)。
注意:網路功能由服務公開,但需依應用程式配置。 預設情況下,允許公共網路存取。
參考資料: Azure Functions 網路選項
網路安全群組支援
說明:服務網路流量在其子網路上遵守網路安全群組的規則指派。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:使用網路安全群組(NSG)依埠、協定、來源 IP 位址或目的 IP 位址限制或監控流量。 建立 NSG 規則來限制服務的開放連接埠 (例如防止從不受信任的網路存取管理連接埠)。 請注意,NSG 預設會拒絕所有輸入流量,但允許來自虛擬網路和 Azure Load Balancer 的流量。
參考資料: Azure Functions 網路選項
NS-2:使用網路控制保護雲端服務
Features
Azure Private Link
說明:服務原生 IP 過濾功能,用於過濾網路流量(不要與 NSG 或 Azure Firewall 混淆)。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:為所有支援 Private Link 功能的 Azure 資源部署私人端點,建立資源的私人接取點。
參考資料: Azure Functions 網路選項
停用公共網路存取
說明:服務支援透過使用服務層級 IP ACL 過濾規則(非 NSG 或 Azure 防火牆)或使用「停用公共網路存取」切換開關來停用公共網路存取。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:Azure Functions 可以設定為私有端點,但目前沒有單一開關可以關閉公共網路存取,除非設定私有端點。
設定指引:使用服務層級 IP ACL 過濾規則或切換開關,以停用公共網路存取。
身分識別管理
如需詳細資訊,請參閱 Microsoft 雲端安全性基準:身分識別管理。
IM-1:使用集中式身分識別和驗證系統
Features
Data Plane Access 需要 Azure AD 認證
說明:服務支援使用 Azure AD 認證來存取資料平面。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:客戶擁有的端點可能會被設定為需要 Azure AD 認證要求。 系統提供的部署端點及進階開發工具支援 Azure AD,但預設可替代使用發佈憑證。 這些出版憑證可以被停用。 應用程式中的部分資料平面端點可能由 Functions 主機中設定的管理金鑰存取,目前這些金鑰無法依照 Azure AD 需求配置。
設定指引:使用 Azure Active Directory (Azure AD) 作為預設的認證方法來控制你的資料平面存取。
參考資料: 設定部署憑證 - 停用基本認證
資料平面存取的本地認證方法
說明:支援資料平面存取的本地認證方法,例如本地使用者名稱與密碼。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 對 | Microsoft |
功能說明:部署憑證預設建立,但可停用。 應用程式執行時暴露的部分操作可使用管理金鑰執行,但目前無法停用。 此金鑰可儲存在 Azure Key Vault 中,且可隨時重新產生。 避免使用本地驗證方法或帳號,這些都應盡可能停用。 請盡可能改為使用 Azure AD 進行驗證。
組態指引:不需要其他組態,因為這是在預設部署上啟用的。
參考資料: 停用基本認證
IM-3:安全地且自動管理應用程式身分識別
Features
管理式身分識別
描述:資料平面動作支援使用受控識別進行驗證。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:盡可能使用 Azure 管理身份,取代服務主體,這樣才能驗證支援 Azure Active Directory(Azure AD)認證的 Azure 服務與資源。 受控識別認證完全受平臺管理、輪替及保護,避免原始程式碼或組態檔中的硬式編碼認證。
參考資料: 如何在 App Service 與 Azure Functions 中使用受管理身份
服務負責人
說明:資料平面支援使用服務主體進行認證。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:目前 Microsoft 沒有針對此功能配置的指引。 請檢閱並判斷您的組織是否想要設定這項安全性功能。
適用於雲端監視的 Microsoft Defender
Azure Policy 內建定義 - Microsoft.Web:
| 名稱 (Azure 入口網站) |
Description | Effect(s) | 版本 (GitHub) |
|---|---|---|---|
| App Service 應用程式應使用受控識別 | 使用受控識別來增強驗證安全性 | AuditIfNotExists,已停用 | 3.0.0 |
IM-7:根據條件限制資源存取
Features
資料平面的條件存取
說明:資料平面存取可透過 Azure AD 條件存取政策來控制。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:對於應用程式未定義的資料平面端點,條件存取需針對 Azure 服務管理進行設定。
設定指引:定義工作負載中 Azure Active Directory (Azure AD) 條件存取的適用條件與條件。 考慮常見的使用案例,例如從特定地點封鎖或授權存取、阻擋高風險的登入行為,或要求組織管理的裝置才能用於特定應用。
IM-8:限制認證和秘密的公開
Features
服務憑證與機密支援的整合和儲存於 Azure Key Vault
說明:資料平面支援原生使用 Azure Key Vault 來儲存憑證與秘密。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:確保秘密與憑證儲存在如 Azure Key Vault 等安全地點,而非嵌入程式碼或設定檔中。
參考資料: 使用 Key Vault 參考 用於 App Service 和 Azure Functions
特權存取
欲了解更多資訊,請參閱 Microsoft 雲端安全基準:特權存取。
PA-1:分隔及限制高許可權/系統管理使用者
Features
本地管理員帳號
說明:服務採用了本地管理帳戶的概念。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 否 | 不適用 | 不適用 |
設定指引:此功能不支援以保護此服務。
PA-7:遵循適量管理(最小權限)原則
Features
Azure RBAC for Data Plane
說明:Azure Role-Based 存取控制(Azure RBAC)可用於管理對服務資料平面動作的存取。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:唯一能利用 Azure RBAC 的資料平面動作是 Kudu/SCM/部署端點。 這些需要對Microsoft.Web/sites/publish/Action操作取得許可。 由客戶應用程式本身暴露的端點不受 Azure RBAC 保護。
設定指引:使用 Azure 角色基礎存取控制(Azure RBAC)透過內建的角色指派管理 Azure 資源存取。 Azure RBAC 角色可以指派給使用者、群組、服務主體及受管理身份。
參考資料: 存取 Kudu 所需的 RBAC 權限
PA-8:確定雲端提供者支援的存取流程
Features
客戶加密箱
說明:客戶鎖箱可用於 Microsoft 支援存取權限。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:在支援情境下,Microsoft 需要存取您的資料時,請使用 Customer Lockbox 審查,然後批准或拒絕 Microsoft 的每一項資料存取請求。
資料保護
如需詳細資訊,請參閱 Microsoft 雲端安全性基準:資料保護。
DP-2:監視以敏感數據為目標的異常和威脅
Features
資料外洩/遺失防範
說明:此服務支援DLP 解決方案,以監控敏感資料移動(在客戶內容中)。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 否 | 不適用 | 不適用 |
設定指引:此功能不支援以保護此服務。
DP-3:加密傳輸中的敏感數據
Features
傳輸中的資料加密
描述:服務支援對於資料平面的傳輸中資料進行加密。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:功能應用程式預設為支援 TLS 1.2 的最低版本,但應用程式可透過設定設定設定設定較低版本。 預設情況下,收到的請求不需要 HTTPS,但也可以透過設定,屆時任何 HTTP 請求都會自動被導向到 HTTPS。
設定指引:在內建原生傳輸資料加密功能的服務中啟用安全傳輸。 在任何網頁應用程式和服務上強制執行 HTTPS,並確保使用 TLS v1.2 或更新版本。 像是 SSL 3.0、TLS v1.0 這類舊版應該被停用。 若要遠端管理虛擬機,請使用 SSH(Linux 使用)或 RDP/TLS(Windows 使用)取代未加密協定。
參考資料: 在 Azure App Service 中新增及管理 TLS/SSL 憑證
適用於雲端監視的 Microsoft Defender
Azure Policy 內建定義 - Microsoft.Web:
| 名稱 (Azure 入口網站) |
Description | Effect(s) | 版本 (GitHub) |
|---|---|---|---|
| 應只能透過 HTTPS 存取 App Service 應用程式 | 使用 HTTPS 可確保伺服器/服務驗證,並保護傳輸中的資料不受網路層的竊聽攻擊。 | 稽核、停用、拒絕 | 4.0.0 |
DP-4:預設啟用靜態資料加密
Features
使用平台金鑰的靜止資料加密
描述:支援使用平台金鑰進行待用資料加密,任何待用客戶內容都會使用這些 Microsoft 受控金鑰進行加密。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 對 | Microsoft |
組態指引:不需要其他組態,因為這是在預設部署上啟用的。
DP-5:視需要在待用數據加密中使用客戶自控密鑰選項
Features
使用 CMK 進行資料靜止加密
說明:服務中儲存的客戶內容支援使用客戶管理金鑰進行靜態資料加密。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:Azure Functions 不直接支援此功能,但應用程式可設定利用此功能的服務,取代功能中可能的資料儲存。 Azure 檔案可掛載為檔案系統,所有應用程式設定(包括秘密)可儲存在 Azure Key Vault,部署選項如 run-from-package 可從 Azure Blob 儲存擷取內容。
設定指引:如為符合法規要求,請定義使用客戶管理金鑰加密的使用情境與服務範圍。 啟用並實作使用客戶管理金鑰進行資料靜態加密。
參考資料: 使用客戶管理的金鑰加密您的應用程式資料
DP-6:使用安全金鑰管理程式
Features
Azure Key Vault 的金鑰管理
說明:服務支援 Azure Key Vault 整合,以支援任何客戶金鑰、秘密或憑證。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:使用 Azure Key Vault 建立並控制加密金鑰的生命週期,包括金鑰產生、分發與儲存。 根據既定的排程,或在金鑰過期或洩露時,輪換並吊銷 Azure Key Vault 和您服務中的金鑰。 當需要在工作負載、服務或應用層級使用客戶管理金鑰(CMK)時,請確保遵循金鑰管理的最佳實務:使用金鑰階層結構,與你的金鑰加密金鑰(KEK)在金鑰庫中產生獨立的資料加密金鑰(DEK)。 確保金鑰已註冊在 Azure Key Vault 中,並透過服務或應用程式的金鑰 ID 來參考。 如果你需要自帶金鑰(BYOK)到服務(例如將本地 HSM 的 HSM 保護金鑰匯入 Azure Key Vault),請依建議指引進行初始金鑰產生與金鑰轉移。
參考資料:將 Key Vault 參考用於 App Service 和 Azure Functions
DP-7:使用安全的憑證管理程序
Features
Azure Key Vault 中的憑證管理
說明:該服務支援任何客戶憑證的 Azure Key Vault 整合。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:使用 Azure Key Vault 建立並控制憑證生命週期,包括建立、匯入、輪替、撤銷、儲存及清除憑證。 請確定憑證產生遵循已定義的標準,而不使用任何不安全的屬性,例如:金鑰大小不足、有效期間過長、不安全的密碼編譯。 根據定義的排程或憑證到期時,設定 Azure Key Vault 和 Azure 服務(若支援)自動輪換憑證。 若應用程式不支援自動輪替,請確保它們仍透過 Azure Key Vault 及應用程式中的手動方式進行輪換。
參考資料: 在 Azure App Service 中新增 TLS/SSL 憑證
資產管理
欲了解更多資訊,請參閱 Microsoft 雲端安全基準:資產管理。
AM-2:僅使用已核准的服務
Features
Azure 原則支援
說明:服務設定可透過 Azure Policy 監控與強制執行。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:使用 Microsoft Defender for Cloud 來配置 Azure 政策,以稽核並強制執行 Azure 資源的設定。 使用 Azure 監視器,在偵測到資源有設定偏差時建立警示。 使用 Azure Policy [deny] 和 [如果不存在就部署]效果,強制在 Azure 資源間執行安全的設定。
記錄和威脅偵測
欲了解更多資訊,請參閱 Microsoft 雲端安全基準:日誌與威脅偵測。
LT-1:啟用威脅偵測功能
Features
Microsoft Defender 服務/產品方案
說明:Service 提供針對特定服務的 Microsoft Defender 解決方案,用於監控並警示安全問題。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:Defender for App Service 包含 Azure Functions。 如果啟用此解決方案,啟用範圍下的函式應用程式將被納入。
設定指引:使用 Azure Active Directory (Azure AD) 作為預設的認證方式來控制你的管理平面存取權限。 當你收到 Microsoft Defender for Key Vault 的警示時,請調查並回應該警示。
參考資料: Defender for App Service
LT-4:啟用日誌以進行安全性調查
Features
Azure 資源記錄檔
說明:服務產生資源日誌,可提供強化的服務專屬指標與日誌。 客戶可以設定這些資源記錄,並將其傳送至自己的數據接收端,例如儲存帳戶或記錄分析工作區。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
設定指引:啟用服務的資源日誌。 例如,Key Vault 支援額外的資源日誌,用於從金鑰保險庫取得秘密的操作,Azure SQL 則有資源日誌追蹤資料庫請求。 資源記錄的內容會因 Azure 服務和資源類型而有所不同。
參考資料: 用 Azure Monitor Logs 來監控 Azure Functions 的狀態
備份及復原
欲了解更多資訊,請參閱 Microsoft 雲端安全基準:備份與復原。
BR-1:確保定期自動備份
Features
Azure 備份
說明:該服務可由 Azure 備份服務備份。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 否 | 不適用 | 不適用 |
功能說明:若託管於標準、高級或獨立應用程式服務方案,應用程式可提供備份功能。 此功能不利用 Azure Backup,也不包含事件來源或外部連結的儲存裝置。 更多細節請參見 /azure/app-service/manage-backup。
設定指引:此功能不支援以保護此服務。
服務原生備份能力
說明:服務支援自身的原生備份功能(若不使用 Azure Backup)。 深入瞭解。
| 支持 | 預設啟用 | 配置責任 |
|---|---|---|
| 對 | 否 | 客戶 |
功能說明:支援標準、高級及獨立 App Service 方案的應用程式可使用備份功能。 這不包括備份事件來源或外部提供的儲存空間。
設定指引:目前 Microsoft 沒有針對此功能配置的指引。 請檢閱並判斷您的組織是否想要設定這項安全性功能。
參考資料: 在 Azure App Service 中備份並還原你的應用程式
後續步驟
- 請參閱 Microsoft 雲端安全性基準概觀
- 深入瞭解 Azure 安全性基準