我在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/,但我不知道如何编辑管道来做到这一点。
谢谢
答案 0 :(得分:0)
要在Json文件中确认Microsoft托管代理的ip地址,您需要检查Organizaiton的区域。
您可以导航到Organization Settings -> Overview
并检查组织的区域。
然后,您可以在Json文件中搜索AzureCloud.<region>
以获得Ipaddress前缀。
要运行Blog的脚本,可以在管道中添加Azure Powershell
任务。
顺便说一句,在使用此任务之前,您需要创建一个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