You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Bastion:外部用户无法登录无公网IP的Azure VM求助

故障分析与解决方案:Azure Bastion连接无字段显示问题

可能的故障原因

  1. Bastion权限不足:仅分配Reader角色无法发起Bastion连接,该角色仅具备只读访问权限,缺少连接所需的核心动作权限。
  2. VM未启用Azure AD登录:Virtual Machine User Login角色依赖VM的Azure AD登录功能,若未启用该功能,权限无法生效,直接导致连接页面无输入字段。
  3. 权限分配范围错误:权限分配的范围(如仅资源组/订阅级)未精准覆盖目标VM、NIC或Bastion资源,或存在权限继承冲突。
  4. Bastion资源状态异常:Bastion主机处于未运行、故障或配置错误状态,无法正常提供连接服务。

必备权限清单

确保外部用户拥有以下最小权限:

  • 目标VM:Virtual Machine User Login角色(直接分配至VM资源)
  • VM关联NIC:Virtual Machine User Login角色(直接分配至NIC资源)
  • Azure Bastion主机:Bastion User角色(或自定义角色包含Microsoft.Network/bastionHosts/connect/action权限)

分步排查方法

  1. 修正Bastion权限配置

    • 替换原Reader角色为Bastion User角色,该角色包含发起Bastion连接的必要动作权限。
    • 用Azure CLI确认权限是否生效:
      az role assignment list --assignee <外部用户邮箱> --resource-group <资源组名称> --resource-type Microsoft.Network/bastionHosts
      
      检查输出中是否包含Microsoft.Network/bastionHosts/connect/action权限条目。
  2. 确认VM已启用Azure AD登录

    • Windows VM:在Azure门户VM的安全性 > Azure AD登录页面,确认已启用"使用Azure Active Directory登录虚拟机"选项。
    • Linux VM:检查是否已安装Azure AD登录扩展,验证命令:
      az vm extension show --resource-group <资源组名称> --vm-name <VM名称> --name AADLoginForLinux
      
      若未安装,执行扩展安装命令:
      az vm extension set --resource-group <资源组名称> --vm-name <VM名称> --name AADLoginForLinux --publisher Microsoft.Azure.ActiveDirectory
      
  3. 检查权限分配范围

    • 确保所有权限均直接分配至对应资源(VM、NIC、Bastion),而非仅分配至父资源组或订阅(避免继承失效)。
    • 在Azure门户的IAM页面,分别查看VM、NIC、Bastion的权限分配列表,确认外部用户的角色已正确添加且无权限拒绝规则。
  4. 验证Bastion资源状态

    • 进入Bastion主机的Azure门户页面,查看概述中的状态是否为"运行中"。
    • 检查Bastion是否关联至VM所在VNet,且子网为专用的AzureBastionSubnet(子网大小需满足/27或更大)。
  5. 排除客户端干扰

    • 让用户使用隐私/无痕浏览器重新尝试连接,排除浏览器缓存或插件干扰。
    • 确认用户使用的浏览器为Chrome、Edge、Firefox等Bastion支持的主流浏览器。

内容的提问来源于stack exchange,提问作者cherry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 00:45:40