Создание политики для AAS (службы Azure Analysis Services)

Есть ли у кого-нибудь опыт написания политики Azure для служб Analysis Services? Я застрял на завершении одного. Я пытаюсь создать политику, которая предписывает, какие IP-адреса могут быть добавлены к общедоступной IP-стороне. Пока у меня есть это, и он работает:

{
"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"
  }
}

}

Нужно ли мне идти дальше по пути псевдонима к чему-то вроде:

"Microsoft.AnalysisServices/servers/ipV4FirewallSettings.firewallRules[*].rangeStart"

person heelhook    schedule 06.09.2019    source источник


Ответы (1)


Это старая ветка, но, поскольку на нее еще не ответили, возможно, кому-то пригодятся мои выводы. Глядя на псевдонимы, доступные для служб Azure Analysis Services, мы можем заметить следующее:

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

person Everton Barciela    schedule 01.02.2021