Azure DevOps公网IP变更频率及Key Vault授权访问永久方案咨询
从Azure DevOps访问已锁定Azure Key Vault的解决方案
问题背景
我有一个已锁定的Azure Key Vault,需要从Azure DevOps访问它。已知对应IP地址,但这些IP(或IP段)变更频繁,依赖监控Key Vault日志提取IP的方式不够理想——IP变更时会导致流程失败。同时合规要求禁止将Key Vault设为公开访问,需要寻求永久可行的访问方案。
官方IP资源说明
微软官方发布了Azure DevOps的公网IP地址列表,不过存在部分区域IP段重复的问题。
临时提取未授权IP的KQL语句
如果需要临时获取被Key Vault拒绝的Azure DevOps公网IP,可以使用以下KQL查询日志:
AzureDiagnostics | where ResourceProvider =="MICROSOFT.KEYVAULT" | where ResultDescription contains "Client address is not authorized." | project ResultDescription, CallerIPAddress
该语句会返回包含"Client address is not authorized."的日志条目,以及对应的客户端IP地址。
批量添加IP段到Key Vault网络规则的CLI命令
若使用官方提供的CIDR IP段,可通过Azure CLI命令批量添加到Key Vault的网络允许列表:
az keyvault network-rule add --name "my-key-vault" --resource-group 'my-resource-group' --ip-address @('20.37.194.0/24','20.42.226.0/24','191.235.226.0/24','52.228.82.0/24','20.195.68.0/24','20.41.194.0/24','20.204.197.192/26','20.37.158.0/23','52.150.138.0/24','40.80.187.0/24','40.119.10.0/24','20.42.5.0/24','20.41.6.0/23','40.82.252.0/24','20.42.134.0/23','20.125.155.0/24','40.74.28.0/23','20.166.41.0/24','51.104.26.0/24')
永久解决方案
为避免IP变更导致的访问中断,推荐两种合规且稳定的方案:
- 使用专用终结点(Private Endpoint):将Azure DevOps与Key Vault通过专用终结点连接,实现私有网络内的安全访问,彻底摆脱对公网IP的依赖,完全符合合规要求。
- 自动化同步官方IP列表:编写自动化脚本(如Azure Function或Azure DevOps Pipeline),定期拉取官方更新的Azure DevOps IP段,自动更新Key Vault的网络规则,确保允许列表始终为最新状态。
内容的提问来源于stack exchange,提问作者Jeff Patton
相关产品推荐
相关产品推荐

