azure - Azure 策略评估触发器 - 按需评估扫描问题
问题描述
在我致力于实施策略(尤其是应用服务计划和 WebApp)时,我需要快速测试我的策略的新规则。我尝试使用以下 URI 结构使用 REST API POST 命令对我的资源启动按需扫描:
POST https://management.azure.com/subscriptions/{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
该调用返回 202 Accepted 状态(=似乎很好:)):
问题:但是当我在 Azure 门户中检查合规委员会时,没有进行任何扫描。
我想知道按需扫描是否仅适用于某些天蓝色服务(例如示例中的存储帐户,请参阅上面的共享链接),而不适用于其他服务,例如 WebApp、服务计划等)
我还想知道按需扫描是否会同时触发策略评估(即使效果不同:例如拒绝效果 VS deployIfNotExists 效果)?
有没有人遇到过这种按需策略评估扫描的问题?:)
谢谢 !
解决方案
正如 Kemley 所指出的,在合规性扫描完成之前,门户不会反映。根据我的经验,门户网站可能需要几分钟才能反映更新。
此处的此 Microsoft 博客很好地总结了策略评估扫描所需的时间:https ://msftplayground.com/2019/06/on-demand-azure-policy-scan/
下面是那篇文章的一个片段。
政策评估发生在以下事件中:
* 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 Docs 中的扫描时间估计(但它不像上面的链接那样明确):https ://docs.microsoft.com/en-us/azure/governance/policy /how-to/get-compliance-data#evaluation-triggers
对于调用 REST API 的按需评估扫描,202 Accepted 状态表示扫描已触发,但并不意味着它尚未完成。
扫描完成后,您将收到 HTTP 200 状态代码。当您触发扫描时,响应消息将在响应标头消息的 Location 字段中包含一个 URI。您可以查询此 URI 以检查扫描状态(您可以将 HTTP 202 解释为扫描仍在运行,并且 HTTP 200 已完成扫描)。
我的经验是,在状态扫描显示完成时,所有政策效果都已评估并返回,但我没有看到有关这方面的官方文档。此外,我的经验是,反映在门户中的合规性结果有时会需要另外 3 到 5 分钟的门户(我推测这取决于环境的大小/扫描范围),但 Microsoft 不提供此时也有特定的 SLA。
Microsoft 最近提供了 Azure CLI 和 Azure PowerShell 命令来触发按需策略评估扫描。这些命令记录在这里:https ://docs.microsoft.com/en-us/azure/governance/policy/how-to/get-compliance-data#on-demand-evaluation-scan
推荐阅读
- javascript - 转化跟踪:有哪些选项?
- sql-server - 即使系统管理员也无法记录历史记录/错误消息?
- javascript - 尝试注册命令:DiscordAPIError[50001]: Missing Access
- python - PermissionError:[Errno 13] 权限被拒绝:(Pyinstaller)
- javascript - 如何将文本元素居中
元素? - c++ - 如何使用 AutoDesk FBX SDK 构建新的 FBX 模型
- python - 如何找到两个不同大小的分布之间的相似性?
- python-3.x - 在同一函数中引用局部变量
- python - 带有while循环和共享资源的Python多处理
- python - libwebp 显然已成功安装,但“无法识别位于 0x0000018986F14B80> 的图像文件 <_io.BytesIO 对象”