Azure Policy 评估触发器 - 按需评估扫描的问题

Azure Policy Evaluation triggers - Issues with On-demand evaluation scan

由于我正在实施政策(尤其是应用服务计划和 WebApp),我需要快速测试我的政策的新规则。我尝试使用以下 URI 结构使用 REST API POST 命令对我的资源启动按需扫描:

POST <a href="https://management.azure.com/subscriptions/" rel="nofollow noreferrer">https://management.azure.com/subscriptions/</a>{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2018-07-01-preview

比照。 https://docs.microsoft.com/fr-fr/azure/governance/policy/how-to/get-compliance-data

调用 returns 202 接受状态(=似乎不错 :)):

问题:但是当我检查 Azure 门户中的合规板时,没有进行任何扫描。

  1. 我想知道按需扫描是否仅适用于某些 azure 服务(例如示例中的存储帐户,请参阅上面的共享 link)而不适用于其他服务,例如WebApp、服务计划等)

  2. 我也想知道按需扫描是否会同时触发策略评估(即使效果不同:例如拒绝效果 VS deployIfNotExists 效果)?

有没有人遇到过这种按需策略评估扫描的问题? :)

谢谢!

在合规性扫描完成之前,合规性结果不会在门户上更新,因此在启动扫描和在门户中查看结果之间会有一些时间。

正如 Kemley 指出的那样,在合规性扫描完成之前,门户不会反映出来。根据我的经验,门户可能需要几分钟才能反映更新。

此 Microsoft 博客在此处对策略评估扫描所花费的时间进行了很好的总结:https://msftplayground.com/2019/06/on-demand-azure-policy-scan/

下面是该文章的一个片段。

The evaluation of the policies take place on the following events:

* New policy assignment. ( ~30 minutes).
* Updated assignment of a existing policy. (~ 30 minutes)
* Deployment of a resources. (~15 minutes)
* Every 24 hours
* Update of the resource provider
* On-demand (~3 minutes)

您还可以在此处找到官方 Microsoft Azure 文档中埋藏的扫描时间估计值(但 bullet-pointed 不如上面 link 好):https://docs.microsoft.com/en-us/azure/governance/policy/how-to/get-compliance-data#evaluation-triggers

对于调用 REST API 的 on-demand 评估扫描,202 Accepted 状态表示扫描已触发,但并不意味着它已经完成。

扫描完成后,您将收到 HTTP 200 状态代码。当您触发扫描时,响应消息将在响应 header 消息的 Location 字段中包含一个 URI。您可以查询此 URI 以检查扫描状态(您可以将 HTTP 202 解释为扫描仍在 运行,而 HTTP 200 已完成扫描)。

我的经验是,当状态扫描显示完成时,所有政策效果都已评估并返回,但我没有看到这方面的官方文档。此外,我的经验是,反映在 Portal 中的合规性结果有时会额外花费 3 到 5 分钟(我推测这取决于 environment/scope 扫描的大小),但 Microsoft 确实如此目前也不提供具体的 SLA。

Microsoft 最近提供了 Azure CLI 和 Azure PowerShell 命令来触发 on-demand 策略评估扫描。这些命令记录在此处:https://docs.microsoft.com/en-us/azure/governance/policy/how-to/get-compliance-data#on-demand-evaluation-scan

您可以触发订阅的实际状态 az policy state trigger-scan.