为AAS创建策略(Azure Analysis Services)

时间:2019-09-06 14:06:25

标签: azure-analysis-services

有人在编写用于Analysis Services的Azure策略方面有经验吗?我坚持要完成一个。我正在尝试创建一个策略,以强制实施可以将哪些IP添加到公共IP端的策略。到目前为止,我已经有了,它确实可以工作:

let arr = [[1,2,3],[4,5,6],[7,8,9]];

for(let i=0; i < arr.length; i++) {
  console.log(arr[i][arr.length]);
}

}

我是否需要进一步走别名路径,例如:

{
"parameters": {
  "allowedAddressRanges": {
    "type": "Array",
    "metadata": {
      "displayName": "Address Range",
      "description": "The list of allowed external IP address ranges"
    }
  }
},
"policyRule": {
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.AnalysisServices/servers"
      },
      {
        "not": {
          "field": "Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*]",
          "in": "[parameters('allowedAddressRanges')]"
        }
      }
    ]
  },
  "then": {
    "effect": "audit"
  }
}

1 个答案:

答案 0 :(得分:0)

这是一个旧线程,但由于尚未得到解答,也许有人可以从我的发现中受益。查看可用于 Azure 分析服务的别名,我们可以注意到以下几点:

Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules
Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*]
Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*].firewallRuleName
Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*].rangeStart
Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*].rangeEnd

根据上面的符号,我不得不向下直到“rangeStart”和“rangeEnd”。这对我有用:

{
    "mode": "All",
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.AnalysisServices/servers"
          },
          {
            "not": {
                "anyOf": [
                    {
                        "field": "Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*].rangeStart",
                        "in": "[parameters('allowedAddressRanges')]"
                    },
                    {
                        "field": "Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*].rangeEnd",
                        "in": "[parameters('allowedAddressRanges')]"
                    }
                ]
            }
          }
        ]
      },
      "then": {
        "effect": "[parameters('effect')]"
      }
    },
    "parameters": {
        "effect": {
            "type": "String",
            "metadata": {
                "displayName": "Effect",
                "description": "The effect determines what happens when the policy rule is evaluated to match"
            },
            "allowedValues": [
                "Audit",
                "Deny",
                "Disabled"
            ],
            "defaultValue": "Deny"
        },      
        "allowedAddressRanges": {
            "type": "Array",
            "metadata": {
                "displayName": "Address Range",
                "description": "The list of allowed IP address ranges"
            },
            "allowedValues": [
                "0.0.0.0",
                "0.0.0.0",
                "0.0.0.0",
                "0.0.0.0",
                "0.0.0.0"
            ],
            "defaultValue": [
                "0.0.0.0",
                "0.0.0.0",
                "0.0.0.0",
                "0.0.0.0",
                "0.0.0.0"    
            ]
        }
    }
}

参考:https://docs.microsoft.com/en-us/azure/templates/microsoft.analysisservices/servers#IPv4FirewallRule