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

Power Platform显式SQL连接的安全与权限管控技术问询

Power Platform显式连接Azure SQL的安全机制与权限控制

显式连接下用户是否都能访问Azure SQL?

答案是否。显式连接的核心是让每个Power Platform用户(或指定的安全主体)以自身身份(而非共享服务账号)与Azure SQL建立连接,权限完全由Azure SQL的身份验证体系和数据库权限规则决定——和你本地SQL Server的权限逻辑一致,只有被授权的用户才能访问数据库。

如何保障数据安全?

  • 身份验证绑定:显式连接支持Azure AD身份验证,将Power Platform用户的Azure AD账号与Azure SQL的数据库用户绑定,只有存在对应数据库用户的Azure AD账号才能发起连接,从源头拦截未授权访问。
  • 最小权限原则:给每个数据库用户分配仅满足业务需求的权限,比如只读用户仅授予SELECT权限,业务操作用户仅授予特定表的INSERT/UPDATE权限,避免过度授权。
  • 禁用高权限角色:移除数据库用户的db_owner等高权限角色,禁止其直接修改数据库架构或访问系统表。
  • 应用级双重控制:在Power Apps/Power Automate中设置应用级权限,比如仅允许特定安全组的用户打开应用、触发流,双重拦截未授权用户。

实现特定用户查看特定记录(行级权限)

这和本地SQL Server的行级安全(Row-Level Security, RLS)逻辑完全一致,具体步骤如下:

  1. 创建行级安全筛选规则:在Azure SQL中定义筛选函数和安全策略,自动过滤用户无权查看的行
    -- 创建匹配当前登录用户的筛选函数
    CREATE FUNCTION dbo.fn_UserRecordFilter(@CreatedBy NVARCHAR(128))
    RETURNS TABLE
    WITH SCHEMABINDING
    AS
    RETURN SELECT 1 AS Result
    WHERE @CreatedBy = SUSER_SNAME(); -- 匹配当前登录的Azure AD用户名
    
    -- 启用行级安全策略
    CREATE SECURITY POLICY dbo.UserAccessPolicy
    ADD FILTER PREDICATE dbo.fn_UserRecordFilter(CreatedBy)
    ON dbo.TargetTableName
    WITH (STATE = ON);
    
  2. 配置基础权限:确保数据库用户对目标表拥有SELECT权限,RLS会在SQL层面自动过滤不符合规则的记录。
  3. Power Platform端适配:Power Apps中直接读取表数据即可,无需额外过滤逻辑;Power Automate若以用户身份触发,会自动遵循RLS规则。

额外注意事项

  • 若Power Automate流需后台执行(如定时任务),可单独创建Azure AD服务主体作为数据库用户,分配对应权限,避免使用个人账号。
  • 定期审计Azure SQL登录日志和Power Platform应用访问日志,排查异常访问行为。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:01:42