使用 Azure 原則稽核 Azure SignalR 服務資源的合規性
Azure 原則是 Azure 中的一個服務,您可以用來建立、指派和管理原則。 這些原則會對您的資源強制執行不同的規則和效果,讓這些資源能符合公司標準和服務等級協定的規範。
本文介紹 Azure SignalR 服務的內建原則 (預覽)。 使用這些原則來稽核新的和現有的 SignalR 資源是否合規。
使用 Azure 原則完全免費。
內建原則定義
下列內建原則定義為 Azure SignalR 服務專用:
名稱 (Azure 入口網站) |
描述 | 效果 | 版本 (GitHub) |
---|---|---|---|
Azure SignalR Service 應停用公用網路存取 | 若要改善 Azure SignalR Service 資源的安全性,請確定將其公開至公用網際網路,且只能從私人端點存取。 停用公用網路存取屬性,如 https://aka.ms/asrs/networkacls 中所述。 此選項會停用從 Azure IP 範圍外任何公用位址空間進行的存取,並拒絕所有符合 IP 或虛擬網路型防火牆規則的登入。 這會降低資料洩漏風險。 | Audit, Deny, Disabled | 1.1.0 |
Azure SignalR 服務應該啟用診斷記錄 | 稽核診斷記錄的啟用情形。 這可讓您在發生安全性事件或網路遭到損害時,重新建立活動線索以供調查之用 | AuditIfNotExists, Disabled | 1.0.0 |
Azure SignalR Service 應停用本機驗證方法 | 停用本機驗證方法可確保 Azure SignalR Service 僅需要 Azure Active Directory 身分認證進行驗證,以提升安全性。 | Audit, Deny, Disabled | 1.0.0 |
Azure SignalR Service 應使用已啟用 Private Link 的 SKU | Azure Private Link 可讓您將虛擬網路連線到 Azure 服務,而不需要來源或目的地的公用 IP 位址,以保護資源免於公用資料外洩風險。 此原則會限制您將已啟用 Private Link 的 SKU 用於 Azure SignalR Service。 深入了解私人連結:https://aka.ms/asrs/privatelink。 | Audit, Deny, Disabled | 1.0.0 |
Azure SignalR Service 應使用私人連結 | Azure Private Link 可讓您將虛擬網路連線到 Azure 服務,而不需要來源或目的地上的公用 IP 位址。 Private Link 平台會透過 Azure 骨幹網路處理取用者與服務之間的連線。 藉由將私人端點對應至您的 Azure SignalR Service 資源而非整個服務,您可以降低資料外洩風險。 深入了解私人連結:https://aka.ms/asrs/privatelink。 | Audit, Disabled | 1.0.0 |
設定 Azure SignalR Service 以停用本機驗證 | 停用本機驗證方法,讓 Azure SignalR Service 僅需要 Azure Active Directory 身分認證進行驗證。 | 修改、停用 | 1.0.0 |
設定 Azure SignalR Service 的私人端點 | 私人端點會將您的虛擬網路連線到 Azure 服務,而不需要來源或目的地上的公用 IP 位址。 您可以將私人端點對應至 Azure SignalR Service 資源,藉此降低資料洩漏風險。 請至https://aka.ms/asrs/privatelink,即可深入瞭解。 | DeployIfNotExists, Disabled | 1.0.0 |
部署 - 為連線到 Azure SignalR Service 的私人端點設定私人 DNS 區域 | 使用私人 DNS 區域來覆寫私人端點的 DNS 解析。 私人 DNS 區域會連結至您的虛擬網路,以針對 Azure SignalR Service 資源進行解析。 深入了解:https://aka.ms/asrs/privatelink。 | DeployIfNotExists, Disabled | 1.0.0 |
修改 Azure SignalR Service 資源以停用公用網路存取 | 若要改善 Azure SignalR Service 資源的安全性,請確定將其公開至公用網際網路,且只能從私人端點存取。 停用公用網路存取屬性,如 https://aka.ms/asrs/networkacls 中所述。 此選項會停用從 Azure IP 範圍外任何公用位址空間進行的存取,並拒絕所有符合 IP 或虛擬網路型防火牆規則的登入。 這會降低資料洩漏風險。 | 修改、停用 | 1.1.0 |
指派原則定義
- 使用 Azure 入口網站、Azure CLI、Resource Manager 範本或 Azure 原則 SDK,以指派原則定義。
- 將原則指派的範圍設定為資源群組、訂用帳戶或 Azure 管理群組。 SignalR 原則指派會套用至範圍內的現有和新的 SignalR 資源。
- 隨時啟用或停用原則強制執行。
注意
指派或更新原則指派之後,指派需要一些時間才會套用至所定義範圍內的資源。 請參閱原則評估觸發程序的相關資訊。
檢閱原則合規性
使用 Azure 入口網站、Azure 命令列工具或 Azure 原則 SDK,存取原則指派所產生的合規性資訊。 如需詳細資訊,請參閱取得 Azure 資源的合規性資料。
如果資源不符合規範,有許多可能的原因。 若要判斷原因,或是找出導致此情況的變更,請參閱判斷不符合規範的原因。
入口網站中的原則合規性:
Azure CLI 中的原則合規性
您也可以使用 Azure CLI 來取得合規性資料。 例如,在 CLI 中使用 az policy assignment list 命令,以取得套用的 Azure SignalR 服務原則的原則識別碼:
az policy assignment list --query "[?contains(displayName,'SignalR')].{name:displayName, ID:id}" --output table
範例輸出:
Name ID
------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------
[Preview]: Azure SignalR Service should use private links /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Authorization/policyAssignments/<assignmentId>
然後執行 az policy state list,以 JSON 格式傳回特定資源群組下所有資源的合規性狀態:
az policy state list --g <resourceGroup>
或執行 az policy state list,以 JSON 格式傳回特定 SignalR 資源的合規性狀態:
az policy state list \
--resource /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.SignalRService/SignalR/<resourceName> \
--namespace Microsoft.SignalRService \
--resource-group <resourceGroup>