Azure开发人员允许使用IP的Azure VM规则

时间:2020-08-16 19:53:53

标签: azure azure-devops virtual-machine

我在Azure上有一个运行SQL Server的VM,并且我想在Azure devops的构建管道中更新数据库。但是SQL Server的端口只允许使用某些IP,我不想公开给所有人...是否可以在构建中更新允许的IP?

我发现此链接可以帮助获取托管IP:https://docs.microsoft.com/pt-br/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#agent-ip-range

Microsoft每周都会使用管道主机IP更新json,但在json中是服务和ip,但是我不知道应该获取IP的服务名称。我找不到“ devops”或“ pipeline”之类的东西。

除此之外,是否可以在构建管道中自动更新允许的ip?我发现了这篇文章:https://blog.simontimms.com/2020/01/10/2020-01-10-Allow-hosted-agents-through-firewall/,但我不知道如何编辑管道来做到这一点。

谢谢

2 个答案:

答案 0 :(得分:0)

要在Json文件中确认Microsoft托管代理的ip地址,您需要检查Organizaiton的区域。

您可以导航到Organization Settings -> Overview并检查组织的区域。

然后,您可以在Json文件中搜索AzureCloud.<region>以获得Ipaddress前缀。

enter image description here

要运行Blog的脚本,可以在管道中添加Azure Powershell任务。

enter image description here

顺便说一句,在使用此任务之前,您需要创建一个Azure服务连接。

此外,您可能会遇到此问题。

## [错误]未找到属性“ DisplayName”等于“远程事件监视器”的MSFT_NetFirewallRule对象。验证值 财产,然后重试。

此问题的原因是此名称的防火墙规则不存在。

您需要使用New-NetFirewallRule script创建一个具有目标名称的新防火墙。

例如:

New-NetFirewallRule -DisplayName "Test" -Direction Inbound -LocalPort 80 -Protocol TCP -Action Allow

然后,您可以使用Set-NetFirewallRule脚本设置防火墙规则。

答案 1 :(得分:0)

我正在使用手机,因此无法对其进行测试,但是您可能可以使用nslookup myip.opendns.com之类的命令找到正在执行任务的托管代理的公用IP。 resolver1.opendns.com”,然后将其添加到您的NSG中,然后在完成后将其删除。

通过Azure应用程序中的云外壳进行测试 https://imgur.com/a/lau2ZDs