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

如何为Azure AD组分配Azure SQL特定表的写入权限?

解决Azure SQL数据库AD组权限调整问题

核心说明

资源组层面的只读权限属于Azure RBAC范畴,和Azure SQL数据库内部的权限是完全独立的两个层级。你在SQL实例中找不到该组,是因为这个AD组还没有被映射到SQL数据库的登录/用户对象。

具体操作步骤

  • 步骤1:在SQL数据库中创建AD组的登录与用户
    使用拥有SQL管理员权限的账号(如Azure AD管理员或SQL管理员)连接目标Azure SQL数据库,执行以下SQL语句:

    -- 在SQL实例级别创建AD组登录
    CREATE LOGIN [SQL Users] FROM EXTERNAL PROVIDER;
    -- 切换到目标数据库,创建对应的用户
    USE [你的目标数据库名];
    CREATE USER [SQL Users] FOR LOGIN [SQL Users];
    
  • 步骤2:清理资源组的冗余RBAC权限(可选)
    如果该组的资源组只读权限是误配置或不需要,可通过Azure CLI清理:

    # 查询该组在目标资源组的RBAC分配
    az role assignment list --assignee "SQL Users" --resource-group <你的资源组名称>
    # 删除Reader角色分配(如果存在)
    az role assignment delete --assignee "SQL Users" --role "Reader" --resource-group <你的资源组名称>
    
  • 步骤3:为AD组分配特定表的写入权限
    推荐通过自定义数据库角色来管理权限,方便后续维护:

    -- 创建自定义角色
    CREATE ROLE [TableWriterRole];
    -- 给角色授权目标表的写入权限(INSERT/UPDATE/DELETE)
    GRANT INSERT, UPDATE, DELETE ON [dbo].[表名1] TO [TableWriterRole];
    GRANT INSERT, UPDATE, DELETE ON [dbo].[表名2] TO [TableWriterRole];
    GRANT INSERT, UPDATE, DELETE ON [dbo].[表名3] TO [TableWriterRole];
    -- 将AD组用户添加到该角色
    ALTER ROLE [TableWriterRole] ADD MEMBER [SQL Users];
    
  • 步骤4:验证权限
    使用该AD组内的用户登录目标数据库,尝试对指定表执行插入、更新或删除操作,确认权限生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:16:01