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

为AD组授权访问Azure SQL Server数据库遇阻,咨询正确配置方法

关于Azure SQL Server配置Entra组访问指定数据库的问题

核心结论

你在目标数据库执行GRANT CONNECT TO ADGroup;的操作是正确的,结合已分配的db_reader角色,该Entra组应该可以正常连接目标数据库。Azure SQL Server不存在服务器级的CONNECT权限,连接权限是数据库级的,只要目标库的用户拥有CONNECT权限和对应的数据库角色权限,即可完成连接,不需要服务器额外做“允许连接”的配置。

你当前配置的问题点

你在master库执行CREATE USER "ADGroup" FROM EXTERNAL PROVIDER;是错误的——master库中应该创建服务器级登录名,而非数据库用户。数据库用户归属具体数据库,master库的用户对目标数据库的访问没有帮助,反而可能造成混淆。

正确的配置步骤

  1. 在master库创建Entra组的外部登录名
    这一步是让Azure SQL Server识别该Entra组的身份,执行语句:

    CREATE LOGIN [ADGroup] FROM EXTERNAL PROVIDER;
    
  2. 在目标数据库创建关联登录名的用户
    将服务器级的登录名映射到目标数据库的用户,执行语句:

    CREATE USER [ADGroup] FOR LOGIN [ADGroup];
    -- 若未在master库创建登录名,也可直接从外部提供者创建用户:
    -- CREATE USER [ADGroup] FROM EXTERNAL PROVIDER;
    
  3. 分配目标数据库的只读权限
    将db_reader角色添加给该用户,赋予只读权限:

    ALTER ROLE db_reader ADD MEMBER [ADGroup];
    
  4. 确保目标库用户拥有CONNECT权限
    默认创建用户后会自动拥有CONNECT权限,但若权限被移除,可手动授予:

    GRANT CONNECT TO [ADGroup];
    

额外注意事项

  • 确保Azure SQL Server已启用Entra ID身份验证,且你的账号拥有足够权限(如dbmanager或loginmanager角色)来创建登录名和用户。
  • 测试连接时,使用Entra组内的用户账号,连接字符串中需指定身份验证方式为Active Directory Integrated或对应方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:52:37