是否可以通过 Powershell 访问 Azure 中安全中心建议的严重性?

Is it possible to access the severity of a Security Center recommendation in Azure via Powershell?

我想编写一个 powershell 脚本,向我显示我的 Azure 帐户中的所有安全中心建议及其严重级别(例如低、中或高) 我想我可以使用 Az.Security 模块来获取建议..(AzSecurityTasks) 但我不知道如何访问严重性,因为该模块没有为我列出它们,我只是想我可以通过访问严重性az security task list in Azure Cli,但这对我自己的 powershell 脚本没有帮助。有人有想法吗?也许通过 Azure 门户的 HTTP 请求?提前致谢。

有几个选项。

  1. 您可以尝试在 PowerShell 脚本中使用 API。

当使用 PowerShell 与 REST APIs 一起工作时,您最终会遇到两个命令:Invoke-WebRequestInvoke-RestMethod.

这两个命令发送和接收 HTTP 数据to/from 各种 HTTP 端点,可用于与 REST APIs 交互。

查看此文档以获取示例示例:Invoke Rest Method using PS

要获取安全评估,请在您的 API 方法中调用此 HTTP Get 请求。

GET https://management.azure.com/{scope}/providers/Microsoft.Security/assessments?api-version=2020-01-01

请阅读此文档以获取示例响应和参数详细信息: Assessment List

  1. 此外,您是否尝试过使用 Powershell Get-AzSecurityAssessment cmd。它很可能也应该给你严重性。 Get-AzSecurityAssessment
  2. 的文档参考

但如果没有,请注意安全 cmdlet 处于预览状态(不是 GA),这可能就是您找不到任何文档的原因。 预览模块不随 Az 提供,需要单独安装:

Install-Module -Name Az.Security

希望这些信息对您有所帮助。

严重性是评估元数据资源的一部分,可通过 API 获得。 使用它代替“任务”API.

获取https://management.azure.com/{scope}/providers/Microsoft.Security/assessments?api-version=2020-01-01

它只有 returns 1000 条记录。 然后您需要使用 nextLink 列来继续接下来的 1000 条记录,等等。

Get-AzSecurityAssessment returns 显示名, 但不 return status.code(健康、不健康、不适用)。