適用於 API 管理的 Azure 安全性基準
此安全性基準會將 Microsoft 雲端安全性基準 1.0 版的指引套用至 API 管理。 Microsoft 雲端安全性基準提供如何在 Azure 上保護雲端解決方案的建議。 內容會依 Microsoft 雲端安全性效能評定所定義的安全性控件,以及適用於 API 管理 的相關指引分組。
您可以使用 Microsoft Defender for Cloud 來監視此安全性基準及其建議。 Azure 原則 定義將會列在 Cloud 入口網站 Microsoft Defender 的法規合規性一節中。
當功能有相關的 Azure 原則 定義時,這些定義會列在此基準中,以協助您測量 Microsoft 雲端安全性效能評定控件和建議的合規性。 某些建議可能需要付費 Microsoft Defender 方案,才能啟用特定安全性案例。
注意
已排除不適用於 API 管理的功能。 若要查看 API 管理 如何完全對應至 Microsoft 雲端安全性效能評定,請參閱完整的 API 管理 安全性基準對應檔案。
安全性配置檔
安全性配置檔摘要說明 API 管理 的高影響行為,這可能會導致安全性考慮增加。
服務行為屬性 | 值 |
---|---|
產品類別 | Web |
客戶可以存取 HOST / OS | 無存取權 |
服務可以部署到客戶的虛擬網路 | 對 |
儲存待用客戶內容 | False |
網路安全性
如需詳細資訊,請參閱 Microsoft 雲端安全性基準:網路安全性。
NS-1:建立網路分割界限
功能
虛擬網路整合
描述:服務支援部署到客戶的私人 虛擬網路 (VNet) 。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:在 Azure 虛擬網路 (VNET) 內部署 Azure API 管理,使其可以存取網路內的後端服務。 開發人員入口網站與 API 管理閘道,均可設定為從網際網路 (外部) 存取或只在 Vnet (內部) 中存取。
- 可透過外部負載平衡器,從公用網際網路存取「API 管理」閘道和開發人員入口網站。 閘道可以存取虛擬網路內的資源。
- 只能透過內部負載平衡器,從虛擬網路內存取「API 管理」閘道和開發人員入口網站。 閘道可以存取虛擬網路內的資源。
網路安全組支援
描述:服務網路流量會遵守其子網上的網路安全組規則指派。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:將網路安全組 (NSG) 部署至您的 API 管理 子網,以透過埠、通訊協定、來源 IP 位址或目的地 IP 位址來限制或監視流量。 建立 NSG 規則來限制服務的開放連接埠 (例如防止從不受信任的網路存取管理連接埠)。 請注意,NSG 預設會拒絕所有輸入流量,但允許來自虛擬網路和 Azure Load Balancer 的流量。
注意:在 API 管理子網路上設定 NSG 時,有一組需要開啟的通訊埠。 如果這些連接埠中有任何一個無法使用,「API 管理」可能就無法正常運作而可能變成無法存取。
NS-2:使用網路控制保護雲端服務
功能
Azure Private Link
描述:用於篩選網路流量的服務原生IP篩選功能, (不會與NSG或 Azure 防火牆) 混淆。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:在您無法將 API 管理 實例部署到虛擬網路的實例中,您應該改為部署私人端點,以建立這些資源的私人存取點。
注意:若要啟用私人端點,API 管理 實例無法設定外部或內部虛擬網路。 私人端點連線僅支援 API 管理執行個體的傳入流量。
停用公用網路存取
描述:服務支援使用服務層級IP ACL篩選規則來停用公用網路存取, (非 NSG 或 Azure 防火牆) 或使用 [停用公用網络存取] 切換開關。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:在指派給服務的子網的 NSG 上使用 IP ACL 篩選規則或切換交換器進行公用網路存取,停用公用網路存取。
注意:API 管理 支援將部署部署到虛擬網路,以及使用私人端點鎖定非網路型部署,並停用公用網路存取。
參考: 停用公用網路存取
適用於雲端的 Microsoft Defender 監視
Azure 原則 內建定義 - Microsoft.ApiManagement:
名稱 (Azure 入口網站) |
描述 | 效果 | 版本 (GitHub) |
---|---|---|---|
API 管理服務應使用虛擬網路 | Azure 虛擬網路部署提供增強的安全性、隔離,並可讓您將 API 管理服務放在可控制存取權的非網際網路可路由網路中。 這些網路接著可以使用各種 VPN 技術連線到您的內部部署網路,以存取網路和/或內部部署內的後端服務。 開發人員入口網站與 API 閘道,可設定為從網際網路存取或只從虛擬網路內存取。 | Audit, Deny, Disabled | 1.0.2 |
NS-6:部署 Web 應用程式防火牆
NS-6 的其他指引
若要保護重要的 Web/HTTP API,請在內部模式中設定 虛擬網路 (VNET) 內的 API 管理,並設定 Azure 應用程式閘道。 應用程式閘道是 PaaS 服務。 其可當作反向 Proxy,並提供 L7 負載平衡、路由、Web 應用程式防火牆 (WAF) 和其他服務。 深入瞭解。
結合使用內部 VNET 中佈建的 API 管理與應用程式閘道前端,可實現下列案例︰
- 使用單一 API 管理資源同時對內部取用者與外部取用者公開所有 API。
- 使用單一 API 管理資源對外部取用者公開 API 的子集。
- 提供一種方法來開啟和關閉從公用網際網路對 API 管理的存取權。
身分識別管理
如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:身分識別管理。
IM-1:使用集中式身分識別和驗證系統
功能
資料平面存取所需的 Azure AD 驗證
描述:服務支援使用 Azure AD 驗證進行數據平面存取。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:盡可能使用 Azure Active Directory (Azure AD) 作為 API 管理 的預設驗證方法。
- 設定 Azure API 管理 開發人員入口網站,以使用 Azure AD 驗證開發人員帳戶。
- 使用 OAuth 2.0 通訊協定搭配 Azure AD,設定 Azure API 管理 實例來保護 API。
參考:使用 OAuth 2.0 授權搭配 Azure Active Directory 保護 Azure API 管理 中的 API
資料平面存取的本機驗證方法
描述:支持數據平面存取的本機驗證方法,例如本機使用者名稱和密碼。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
功能注意事項:避免使用本機驗證方法或帳戶,請盡可能停用這些方法。 請改用 Azure AD 在可能的情況下進行驗證。
設定指引:限制對數據平面存取使用本機驗證方法、維護 API 管理 用戶帳戶的清查,並視需要協調存取。 在 API 管理中,開發人員是由 API 管理公開的 API 取用者。 根據預設,新建立的開發人員帳戶為 [使用中],且與開發人員群組相關聯。 處於作用中狀態的開發人員帳戶,可用來存取他們擁有訂用帳戶的所有 API。
此外,Azure API 管理 訂用帳戶是保護 API 存取權的其中一種方法,並隨附一對支援的輪替產生的訂用帳戶密鑰。
請盡可能使用 Azure Active Directory (Azure AD) 作為預設驗證方法來控制數據平面存取,而不是使用其他驗證方法。
參考: 使用基本驗證
IM-3:安全且自動地管理應用程式身分識別
功能
受控識別
描述:數據平面動作支援使用受控識別進行驗證。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:使用 Azure Active Directory 所產生的受控服務識別 (Azure AD) ,讓您的 API 管理 實例能夠輕鬆且安全地存取其他受 Azure AD 保護的資源,例如 Azure 金鑰保存庫,而不是使用服務主體。 受控識別認證完全受平台管理、輪替和保護,且避開原始程式碼或組態檔中的硬式編碼認證。
參考: 使用受控識別進行驗證
服務主體
描述:數據平面支援使用服務主體進行驗證。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:這項功能設定沒有目前的 Microsoft 指引。 請檢閱並判斷您的組織是否想要設定此安全性功能。
IM-5::對應用程式存取使用單一登入 (SSO)
IM-5 的其他指引
Azure API 管理 可以設定為利用 Azure Active Directory (Azure AD) 身分識別提供者,在開發人員入口網站上驗證使用者,以受益於 Azure AD 所提供的 SSO 功能。 設定之後,新的開發人員入口網站使用者即可選擇遵循現成的註冊程序,首先是透過 Azure AD 進行驗證,然後在驗證後於入口網站上完成註冊程序。
或者,您也可透過委派進一步自訂登入/註冊程序。 委派可讓您使用現有的網站來處理開發人員登入/註冊和產品訂閱,而非使用開發人員入口網站中的內建功能。 這可讓您的網站擁有使用者資料,並以自訂方式來執行這些步驟的驗證。
IM-7:根據條件限制資源存取
功能
資料平面的條件式存取
描述:您可以使用 Azure AD 條件式存取原則來控制數據平面存取。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
False | 不適用 | 不適用 |
設定指引:不支援此功能來保護此服務。
IM-8:限制認證和祕密的公開
功能
Azure Key Vault 中服務認證和秘密支援整合和儲存
描述:數據平面支援原生使用 Azure 金鑰保存庫 進行認證和秘密存放區。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:設定 API 管理 與 Azure 金鑰保存庫 的整合。 請確定 API 管理的秘密 (具名值) 會儲存在 Azure Key Vault 中,以便安全地存取和更新這些值。
參考:在 Azure API 管理 原則中搭配 金鑰保存庫 整合使用具名值
適用於雲端的 Microsoft Defender 監視
Azure 原則 內建定義 - Microsoft.ApiManagement:
名稱 (Azure 入口網站) |
描述 | 效果 | 版本 (GitHub) |
---|---|---|---|
APIM 的最低 API 版本應設定為 2019-12-01 或更新版本 | 若要防止與唯讀使用者共用服務密碼,最低 API 版本應設定為 2019-12-01 或更新版本。 | Audit, Deny, Disabled | 1.0.1 |
特殊權限存取
如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:特殊許可權存取。
PA-1:劃分和限制高度權限/系統管理使用者
功能
本機 管理員 帳戶
描述:服務具有本機系統管理帳戶的概念。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
功能注意事項:避免使用本機驗證方法或帳戶,請盡可能停用這些方法。 請改用 Azure AD 在可能的情況下進行驗證。
設定指引:如果例行管理作業不需要,請停用或限制任何本機系統管理員帳戶僅供緊急使用。
注意:API 管理 允許建立本機用戶帳戶。 不要建立這些本機帳戶,而是只啟用 Azure Active Directory (Azure AD) 驗證,並將許可權指派給這些 Azure AD 帳戶。
PA-7:受保護的系統管理員
功能
適用於數據平面的 Azure RBAC
描述:Azure Role-Based 存取控制 (Azure RBAC) 可用來管理服務數據平面動作的存取權。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:使用 Azure 角色型訪問控制 (Azure RBAC) 來控制 Azure API 管理 的存取權。 Azure API 管理需要 Azure 角色型存取控制,才能針對 API 管理服務及實體 (例如 API 和原則) 啟用更細緻的存取管理。
參考:如何在 Azure API 管理 中使用 Role-Based 存取控制
適用於雲端的 Microsoft Defender 監視
Azure 原則 內建定義 - Microsoft.ApiManagement:
名稱 (Azure 入口網站) |
描述 | 效果 | 版本 (GitHub) |
---|---|---|---|
API 管理 訂用帳戶不應限定為所有 API | API 管理 訂用帳戶的範圍應設定為產品或個別 API,而不是所有 API,這可能會導致數據過度暴露。 | 稽核、停用、拒絕 | 1.1.0 |
PA-8:判斷雲端提供者支援的存取程序
功能
客戶加密箱
描述:客戶加密箱可用於 Microsoft 支援存取。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
對 | False | 共用 |
設定指引:在 Microsoft 需要存取數據的支援案例中,使用客戶加密箱來檢閱,然後核准或拒絕每個 Microsoft 的數據存取要求。
資料保護
如需詳細資訊,請參閱 Microsoft 雲端安全性基準:數據保護。
DP-1:探索、分類及標記敏感性資料
功能
敏感數據探索和分類
描述:Azure Purview 或 Azure 資訊保護) 之類的工具 (可用於服務中的數據探索和分類。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
False | 不適用 | 不適用 |
設定指引:不支援此功能來保護此服務。
DP-2:監視以敏感性資料為目標的異常和威脅
功能
數據外洩/外洩防護
描述:服務支援 DLP 解決方案,以監視客戶內容) 中的敏感數據移動 (。 深入瞭解。
支援 | 默認為啟用 | 設定責任 |
---|---|---|
False | 不適用 | 不適用 |
設定指引:不支援此功能來保護此服務。
DP-3:加密傳輸中的敏感性資料
功能
傳輸中資料加密
描述:服務支持數據平面的數據傳輸中加密。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | 對 | Microsoft |
設定指引:預設部署上啟用此設定時不需要其他設定。
DP-3 的其他指引
透過 TLS 透過 Azure Resource Manager 進行管理平面呼叫。 需要有效的 JSON Web 權杖 (JWT)。 您可使用 TLS 和其中一種支援的驗證機制 (例如用戶端憑證或 JWT) 來保護資料平面呼叫。
適用於雲端的 Microsoft Defender 監視
Azure 原則 內建定義 - Microsoft.ApiManagement:
名稱 (Azure 入口網站) |
描述 | 效果 | 版本 (GitHub) |
---|---|---|---|
API 管理 API 應該只使用加密的通訊協定 | 為了確保傳輸中的數據安全性,API 只能透過 HTTPS 或 WSS 等加密通訊協定來使用。 避免使用不安全的通訊協定,例如 HTTP 或 WS。 | 稽核、停用、拒絕 | 2.0.2 |
DP-4:預設啟用待用資料加密
功能
使用平臺密鑰進行待用加密的數據
描述:支援使用平臺密鑰進行待用數據加密,任何待用客戶內容都會使用這些 Microsoft 管理的金鑰進行加密。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | 對 | Microsoft |
功能資訊:API 管理 實例中的客戶數據,包括 API 設定、產品、訂用帳戶、使用者、群組和自定義開發人員入口網站內容,會儲存在 SQL Azure 資料庫中,並在 Azure 記憶體中自動加密待用內容。
設定指引:預設部署上啟用此設定時不需要其他設定。
DP-6:使用安全金鑰管理程序
功能
Azure Key Vault 中的金鑰管理
描述:此服務支援任何客戶密鑰、秘密或憑證的 Azure 金鑰保存庫 整合。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:設定 API 管理 與 Azure 金鑰保存庫 的整合。 請確定 API 管理所使用的金鑰會儲存在 Azure Key Vault 中,以便安全地存取和更新這些值。
參考: 金鑰保存庫整合的必要條件
適用於雲端的 Microsoft Defender 監視
Azure 原則 內建定義 - Microsoft.ApiManagement:
名稱 (Azure 入口網站) |
描述 | 效果 | 版本 (GitHub) |
---|---|---|---|
API 管理 秘密具名值應該儲存在 Azure 金鑰保存庫 | 具名值是每個 API 管理 服務中名稱和值組的集合。 秘密值可以儲存為加密的文字,API 管理 (自定義秘密) 或參考 Azure 金鑰保存庫 中的秘密。 若要改善 API 管理 和秘密的安全性,請參考來自 Azure 金鑰保存庫 的秘密具名值。 Azure 金鑰保存庫 支援細微的存取管理和秘密輪替原則。 | 稽核、停用、拒絕 | 1.0.2 |
DP-7:使用安全的憑證管理程序
功能
Azure Key Vault 中的憑證管理
描述:此服務支援任何客戶憑證的 Azure 金鑰保存庫 整合。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:設定 API 管理 與 Azure 金鑰保存庫 的整合。 請確定 API 管理的秘密 (具名值) 會儲存在 Azure Key Vault 中,以便安全地存取和更新這些值。
使用 Azure 金鑰保存庫 建立和控制憑證生命週期,包括建立、匯入、輪替、撤銷、記憶體和清除憑證。 請確定憑證產生遵循定義的標準,而不使用任何不安全的屬性,例如:密鑰大小不足、有效期間過長、不安全的密碼編譯。 在 Azure 金鑰保存庫 和 Azure 服務中設定憑證的自動輪替,如果根據定義的排程或憑證到期時支援) ,則設定 Azure 服務 (。 如果應用程式中不支援自動輪替,請確定它們仍會使用 Azure 金鑰保存庫 和應用程式中的手動方法輪替。
參考:在 Azure API 管理 中使用用戶端憑證驗證來保護後端服務
資產管理
如需詳細資訊,請參閱 Microsoft 雲端安全性基準檢驗:資產管理。
AM-2:僅使用核准的服務
功能
Azure 原則支援
描述:服務組態可以透過 Azure 原則 監視和強制執行。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:使用內建 Azure 原則 監視及強制執行跨 API 管理 資源的安全設定。 在「Microsoft.ApiManagement」命名空間中使用 Azure 原則別名,視需要建立自訂 Azure 原則定義。
參考:Azure 原則 適用於 Azure API 管理 的內建原則定義
記錄和威脅偵測
如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:記錄和威脅偵測。
LT-1:啟用威脅偵測功能
功能
適用於服務/產品供應項目的 Microsoft Defender
描述:服務具有供應專案特定的 Microsoft Defender 解決方案,可監視和警示安全性問題。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:適用於 API 的 Defender 是雲端 Microsoft Defender 功能,可提供 Azure API 管理 中管理之 API 的完整生命週期保護、偵測和回應涵蓋範圍。
將 API 上線至適用於 API 的 Defender 是兩個步驟的程式:啟用訂用帳戶的 Defender API 方案,並在您的 API 管理 實例中上線未受保護的 API。
在 API 管理 實例的功能表中選取 [雲端 Microsoft Defender],以檢視所有已上線 API 的安全性建議和警示摘要。
參考:使用適用於雲端的 Microsoft Defender 啟用進階 API 安全性功能
LT-4:啟用安全性調查的記錄
功能
Azure 資源記錄
描述:服務會產生資源記錄,可提供增強的服務特定計量和記錄。 客戶可以設定這些資源記錄,並將其傳送至自己的數據接收,例如記憶體帳戶或記錄分析工作區。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | False | 客戶 |
設定指引:為 API 管理 啟用資源記錄,資源記錄提供有關稽核和疑難解答之重要作業和錯誤的豐富資訊。 API 管理 的資源記錄類別包括:
- GatewayLogs
- WebSocketConnectionLogs
參考: APIM 資源記錄
備份與復原
如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:備份和復原。
BR-1:確保定期自動備份
功能
Azure 備份
描述:服務可由 Azure 備份 服務備份。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
False | 不適用 | 不適用 |
設定指引:不支援此功能來保護此服務。
服務原生備份功能
描述:若未使用 Azure 備份) ,服務支援其本身的原生備份功能 (。 深入瞭解。
支援 | 默認啟用 | 設定責任 |
---|---|---|
對 | False | 共用 |
其他指引:利用 Azure API 管理 服務中的備份和還原功能。 利用備份功能時,Azure API 管理 將備份寫入客戶擁有的 Azure 記憶體帳戶。 Azure API 管理 會提供備份和還原作業,以執行完整的系統備份和還原。
參考:如何在 Azure API 管理 中使用服務備份和還原來實作災害復原
下一步
- 請參閱 Microsoft 雲端安全性基準檢驗概觀
- 深入了解 Azure 資訊安全性基準