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

Azure SQL Server不公开暴露,远程开发者与Azure App Service访问方案咨询

实现步骤(Azure SQL 限定访问配置)

一、先关公共访问,避免数据库暴露

  • 登录Azure门户,找到你的Azure SQL Server
  • 进入「网络」设置页,把「公共网络访问」改成「禁用」
  • 保存后,数据库就不会对外公开了

二、开发者远程访问配置(两种可选方案)

方案1:Azure Bastion跳板访问(推荐,不用管开发者本地IP)

  • 在SQL Server所在的虚拟网络里部署Azure Bastion服务
  • 给每个开发者创建Azure AD账号,分配「Bastion使用者」或「虚拟网络参与者」权限(尽量最小化,别给太高权限)
  • 开发者通过Azure门户的Bastion连接到虚拟网络内的跳板VM,或者直接用Bastion的SQL代理功能访问数据库
  • 在SQL Server的「网络」设置里,把虚拟网络的地址范围加到「专用网络访问」的允许列表

方案2:专用终结点 + 点到站点VPN(适合本地工具直连)

  • 给Azure SQL Server创建专用终结点,关联到你的虚拟网络
  • 配置点到站点(P2S)VPN,生成VPN配置文件发给每个开发者,让他们在本地设备上安装并连接到Azure虚拟网络
  • SQL Server的网络设置里只允许专用终结点所在的虚拟网络访问

三、Azure App Service 访问配置

方案1:虚拟网络集成(简单直接)

  • 打开你的App Service的「网络」设置,开启「虚拟网络集成」,关联到SQL Server专用终结点所在的虚拟网络
  • 确保App Service的出站流量能访问这个虚拟网络里的SQL Server
  • 在SQL Server的「网络」设置里,把App Service所在子网的地址范围加到允许列表

方案2:托管标识认证(更安全,不用存密码)

  • 给App Service启用系统分配的托管标识(或者用户分配的,按需选)
  • 登录SQL Server,执行SQL语句给这个托管标识加权限:
    CREATE LOGIN [你的App Service托管标识名称] FROM EXTERNAL PROVIDER;
    USE [你的数据库名称];
    CREATE USER [你的App Service托管标识名称] FOR LOGIN [你的App Service托管标识名称];
    -- 按需添加权限,比如只读+读写
    ALTER ROLE db_datareader ADD MEMBER [你的App Service托管标识名称];
    ALTER ROLE db_datawriter ADD MEMBER [你的App Service托管标识名称];
    
  • 在App Service的配置里,修改数据库连接字符串,用托管标识认证:
    Server=tcp:<你的SQL Server名称>.database.windows.net,1433;Database=<你的数据库名称>;Authentication=Active Directory Managed Identity;
    

四、收尾:权限最小化检查

  • 定期核对SQL Server的访问列表,确保只有指定的开发者(通过VPN/Bastion的虚拟网络范围)和App Service的子网/托管标识能访问
  • 给开发者分配SQL数据库的最小必要权限,别给管理员权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 10:50:09