簡體   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