Azure 原則 適用於 Azure API 管理 的內建原則定義
適用於:所有 APIM 層
此頁面是 Azure API 管理 內建原則定義的 Azure 原則 索引。 如需其他服務的其他內建 Azure 原則,請參閱 Azure 原則內建定義。 如果您要尋找可用來修改 API 管理 API 行為的原則,請參閱 API 管理 原則參考。
連結至 Azure 入口網站中原則定義的每個內建原則定義名稱。 使用 [版本] 資料行中的連結來查看 Azure 原則 GitHub 存放庫上的來源。
Azure API 管理
名稱 (Azure 入口網站) |
描述 | 效果 | 版本 (GitHub) |
---|---|---|---|
[預覽]:APIM 服務應該是「區域備援」 | APIM 服務可以設定為「區域備援」。 如果 APIM 服務的 SKU 名稱為「進階」,且其區域陣列中至少有兩個項目,則 APIM 服務為「區域備援」。 此原則可識別缺少承受區域中斷所需備援的 APIM 服務。 | Audit, Deny, Disabled | 1.0.1-preview |
Azure APIM 中的 API 端點應經過驗證 | 在 Azure APIM 內發佈的 API 端點應強制執行驗證,以協助將安全性風險降到最低。 驗證機制的實作有時會不正確或遺失。 這會讓攻擊者能夠利用實作缺陷以及存取資料。 請在此深入了解損毀的使用者驗證的 OWASP API 威脅:https://learn.microsoft.com/azure/api-management/mitigate-owasp-api-threats#broken-user-authentication | AuditIfNotExists, Disabled | 1.0.1 |
應停用或從 Azure APIM 服務中移除未使用的 API 端點 | 安全性最佳做法是,將已有 30 天未收到流量的 API 端點視為未使用,並應將其從 Azure APIM 服務中移除。 保留未使用的 API 端點可能會對組織造成安全性風險。 這些 API 可能是應該已從 Azure APIM 服務中淘汰,卻可能不小心還保持作用中狀態的 API。 這類 API 通常不會收到最新的安全性涵蓋範圍。 | AuditIfNotExists, Disabled | 1.0.1 |
APIM API 應一律只使用加密通訊協定 | 為了確保傳輸中資料的安全性,API 應該只能透過 HTTPS 或 WSS 等加密通訊協定來使用。 請避免使用不安全的通訊協定,例如 HTTP 或 WS。 | 稽核、停用、拒絕 | 2.0.2 |
應驗證 APIM 對 API 後端的呼叫 | 從 API 管理到後端的呼叫應該使用某種驗證形式,無論是透過憑證或認證。 不適用於 Service Fabric 後端。 | 稽核、停用、拒絕 | 1.0.1 |
APIM 呼叫 API 後端時,不應略過憑證指紋或名稱驗證 | 為了改善 API 安全性,APIM 應該驗證所有 API 呼叫的後端伺服器憑證。 啟用 SSL 憑證指紋和名稱驗證。 | 稽核、停用、拒絕 | 1.0.2 |
不應啟用 APIM 直接管理端點 | Azure APIM 中的直接管理 REST API 會略過 Azure Resource Manager 角色型存取控制、授權和節流機制,進而增加服務的弱點。 | 稽核、停用、拒絕 | 1.0.2 |
APIM 的最低 API 版本應設定為 2019-12-01 或更新版本 | 若要防止與唯讀使用者共用服務密碼,最低 API 版本應設定為 2019-12-01 或更新版本。 | Audit, Deny, Disabled | 1.0.1 |
APIM 祕密的具名值應儲存在 Azure Key Vault 中 | 具名值是每個 APIM 服務中的「名稱-值」組集合。 祕密值可以儲存為 APIM 中的加密文字 (自訂祕密),或藉由參考 Azure Key Vault 中的祕密來儲存。 若要改善 APIM 和祕密的安全性,請從 Azure Key Vault 參考祕密的具名值。 Azure Key Vault 支援細微的存取管理和祕密輪替原則。 | 稽核、停用、拒絕 | 1.0.2 |
API 管理服務應該使用支援虛擬網路的 SKU | 透過 API 管理支援的 SKU,將服務部署至虛擬網路可釋出 API 管理的進階網路及安全性功能,讓您有更大能力控制網路安全性設定。 深入了解:https://aka.ms/apimvnet。 | Audit, Deny, Disabled | 1.0.0 |
API 管理服務應使用虛擬網路 | Azure 虛擬網路部署提供增強的安全性、隔離,並可讓您將 API 管理服務放在可控制存取權的非網際網路可路由網路中。 這些網路接著可以使用各種 VPN 技術連線到您的內部部署網路,以存取網路和/或內部部署內的後端服務。 開發人員入口網站與 API 閘道,可設定為從網際網路存取或只從虛擬網路內存取。 | Audit, Deny, Disabled | 1.0.2 |
APIM 應停用服務組態端點的公用網路存取 | 若要改善 APIM 服務的安全性,請限制服務組態端點 (例如直接存取管理 API)、Git 組態管理端點或自我裝載閘道組態端點的連線能力。 | AuditIfNotExists, Disabled | 1.0.1 |
APIM 應停用使用者名稱和密碼驗證 | 若要更佳地保護開發人員入口網站,應停用 APIM 中的使用者名稱和密碼驗證。 透過 Azure AD 或 Azure AD B2C 識別提供者設定使用者驗證,並停用預設的使用者名稱和密碼驗證。 | Audit, Disabled | 1.0.1 |
APIM 訂用帳戶不應將範圍設定為所有 API | APIM 訂用帳戶的範圍應設定為產品或個別 API,而不是所有 API,否則可能會導致資料過度暴露。 | 稽核、停用、拒絕 | 1.1.0 |
Azure APIM 平台版本應該是 stv2 | Azure APIM stv1 計算平台版本將於 2024 年 8 月 31 日淘汰,而且這些執行個體應移轉至 stv2 計算平台,以繼續獲得支援。 深入了解:https://learn.microsoft.com/azure/api-management/breaking-changes/stv1-platform-retirement-august-2024 | Audit, Deny, Disabled | 1.0.0 |
設定 APIM 服務以停用對 APIM 公用服務設定端點的存取 | 若要改善 APIM 服務的安全性,請限制服務組態端點 (例如直接存取管理 API)、Git 組態管理端點或自我裝載閘道組態端點的連線能力。 | DeployIfNotExists, Disabled | 1.1.0 |
針對 APIM 服務 (microsoft.apimanagement/service) 啟用依類別群組記錄至事件中樞 | 應啟用資源記錄以追蹤在資源上發生的活動與事件,並讓您查看和深入解析已發生的任何變更。 此原則會使用類別群組部署診斷設定,針對 APIM 服務 (microsoft.apimanagement/service) 將記錄路由傳送至事件中樞。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.2.0 |
針對 APIM 服務 (microsoft.apimanagement/service) 啟用依類別群組記錄至 Log Analytics | 應啟用資源記錄以追蹤在資源上發生的活動與事件,並讓您查看和深入解析已發生的任何變更。 此原則會使用類別群組部署診斷設定,針對 APIM 服務 (microsoft.apimanagement/service) 將記錄路由傳送至 Log Analytics 工作區。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.1.0 |
針對 APIM 服務 (microsoft.apimanagement/service) 啟用依類別群組記錄至儲存體 | 應啟用資源記錄以追蹤在資源上發生的活動與事件,並讓您查看和深入解析已發生的任何變更。 此原則會使用類別群組部署診斷設定,針對 APIM 服務 (microsoft.apimanagement/service) 將記錄路由傳送至儲存體帳戶。 | DeployIfNotExists、AuditIfNotExists、Disabled | 1.1.0 |
修改 APIM 以停用使用者名稱和密碼驗證 | 若要更佳地保護開發人員入口網站使用者帳戶及其認證,請透過 Azure AD 或 Azure AD B2C 識別提供者設定使用者驗證,並停用預設的使用者名稱和密碼驗證。 | Modify | 1.1.0 |
下一步
- 請參閱 Azure 原則 GitHub 存放庫上的內建項目。
- 檢閱 Azure 原則定義結構。
- 檢閱了解原則效果。