【问题标题】:Azure devops allow IP's rules of Azure VMAzure devops 允许 Azure VM 的 IP 规则
【发布时间】:2020-08-16 19:53:53
【问题描述】:

我在 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 中是服务和 ips,但我不知道应该获取 IP 的服务名称。我没有找到像“devops”或“pipeline”这样的东西。

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

谢谢

【问题讨论】:

  • 嗨@rafitas。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒this

标签: azure azure-devops virtual-machine


【解决方案1】:

要确认Json文件中微软托管代理的ip地址,需要查看Organizaiton所在的区域。

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

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

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

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

另外你可能会遇到这个问题。

##[错误]没有找到属性“DisplayName”等于“远程事件监视器”的 MSFT_NetFirewallRule 对象。验证值 属性并重试。

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

您需要使用New-NetFirewallRule script 以目标名称创建新防火墙。

例如:

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

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

【讨论】:

  • 嗨,凯文,非常感谢您的回答。我会尝试这样做,但我认为这会奏效,因为现在我可以理解我需要做什么了:D
【解决方案2】:

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

从 Azure 应用中的云外壳测试 https://imgur.com/a/lau2ZDs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 2020-08-20
    • 2020-03-17
    • 2022-11-09
    • 2016-03-25
    • 1970-01-01
    相关资源
    最近更新 更多