在部署期间,Azure DevOps 在部署到 Azure Analysis Services (AAS) 时创建防火墙规则,如下所示:
“Azure 分析服务部署”任务中有一个选项,可以在部署后不删除防火墙:
我取消选中此选项,因为它允许我在部署任务之后针对 AAS 数据库运行 Powershell(例如,修改每个环境的角色内的 AD 组)。 DevOps 有大量动态 IP,每周都会更改,并且似乎与它们在每周文件中发送的 IP 列表也不匹配(我已经看到,加上每周修改防火墙范围确实过于麻烦),所以我让当我完成后续的 Powershell 脚本时,规则就坐在那里。
有一个 Powershell cmdlet 可在 AAS 防火墙中创建名为“New-AzAnalysisServicesFirewallRule”的规则。
然而,按照它们非常一致的形式,只为我们提供真正需要的工具,似乎没有“删除”等效项,显然我想在最后运行它来清理它。我在 Azure REST API 中也看不到任何内容。因此,我在部署后手动删除管理门户中的规则。
必须有一些功能才能做到这一点,因此如果我选择的话,我可以重新启用一个复选框。我想知道是否有人发现了他们可以分享的以编程方式删除 AAS 防火墙规则(特别是 vsts-release-aas-rule 品种)的 secret ?
最佳答案
查看code in the task 。使用的策略是:
- 检索 Analysis Services 服务器对象,然后检索 firewall config property使用Get-AzureRmAnalysisServicesServer cmdlet。
- 从检索到的防火墙配置中获取防火墙规则
- 从防火墙规则中删除名为
vsts-release-aas-rule
的防火墙规则 - 使用新的 New-AzureRmAnalysisServicesFirewallConfig 创建新的防火墙配置使用新更新的防火墙规则(减去
vsts-release-aas-rule
防火墙规则) - 使用 Set-AzureRmAnalysisServicesServer 更新分析服务器使用新的防火墙配置
关于azure - 在 DevOps 中删除 Azure Analysis Services 防火墙规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60120036/