繁体   English   中英

如何在我的 ARM (JSON) 模板中的 Azure 漏洞评估基线定义中指定多行?

[英]How do I specify multiple rows in an Azure Vulnerability Assessment baseline definition in my ARM (JSON) template?

我正在尝试将一些 Azure 漏洞评估基线定义添加到我的 ARM 模板中。 我使用 JSON 作为我的 ARM 模板。 不过,我找不到任何关于如何指定某些 VA 基线定义的文档,即那些需要在基线中包含多行的文档。

具体来说,我正在尝试为 VA2109 添加基线定义。 我可以找到有关如何在一般意义上定义基线 VA 条目的文档,在此处...

https://learn.microsoft.com/en-us/azure/templates/microsoft.sql/servers/databases/vulnerabilityassessments/rules/baselines?tabs=json

然后我可以在这里找到 VA2109 的描述......

https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-database-vulnerability-assessment-rules#authentication-and-authorization

但是这些都没有告诉我如何包含多个用户角色映射。 例如,下面是我目前拥有的,它可以工作并让我指定用户应该具有数据编写器角色。 但是,我还想指定用户应该具有数据读取器和 ddl 管理员角色。

{
  "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines",
  "apiVersion": "2021-02-01-preview",
  "name": "[concat(variables('sqlServerName'), '/', variables('databaseName'), '/default/VA2109/Default')]",
  "dependsOn": [
    "[resourceId('Microsoft.Sql/servers/databases', variables('sqlServerName'), variables('databaseName'))]"
  ],
  "properties": {
    "baselineResults": [
      {
        "result": ["wibuser", "db_datawriter"]
      }
    ]
  }
}

我能够使用 PowerShell 找到我想要的示例。在 PowerShell 中,您可以只提供 arrays 的数组。可以在此处找到 PowerShell 示例...

https://learn.microsoft.com/en-us/powershell/module/sqlserver/new-sqlvulnerabilityassessmentbaseline?view=sqlserver-ps#example-2--create-a-new-security-check-baseline-manually

所以我调整了我的 ARM 来做同样的事情,但是它抛出了一个错误,说 ARM 模板无效。 我试过的调整后的 ARM 如下所示......

{
  "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines",
  "apiVersion": "2021-02-01-preview",
  "name": "[concat(variables('sqlServerName'), '/', variables('databaseName'), '/default/VA2109/Default')]",
  "dependsOn": [
    "[resourceId('Microsoft.Sql/servers/databases', variables('sqlServerName'), variables('databaseName'))]"
  ],
  "properties": {
    "baselineResults": [
      {
        "result": [
          ["wibuser", "db_datawriter"],
          ["wibuser", "db_datareader"]
        ]
      }
    ]
  }
}

有人知道在使用 ARM JSON 时如何在 VA 基线资源中指定多行吗? 或者也许知道在哪里可以找到所有这些 VA 定义的文档?

请注意,baselineResults 是一个行数组。
您需要将每一行作为 JSON object 添加到该数组。

另请注意,每个结果行都应包括所有列,因此您还应包括“主体类型”和“身份验证类型”行。

它应该看起来像这样:

{
  "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines",
  "apiVersion": "2021-02-01-preview",
  "name": "[concat(variables('sqlServerName'), '/', variables('databaseName'), '/default/VA2109/Default')]",
  "dependsOn": [
    "[resourceId('Microsoft.Sql/servers/databases', variables('sqlServerName'), variables('databaseName'))]"
  ],
  "properties": {
    "baselineResults": [
      {
        "result":  ["wibuser", "db_datawriter", "SQL_USER", "NONE"]
      },
      {
        "result":  ["wibuser", "db_datareader", "SQL_USER", "NONE"]
      }
    ]
  }
}

我为“主体类型”和“身份验证类型”行添加了虚拟值,填写你自己的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM