更新时间:2026-07-29 GMT+08:00
分享

验证DWS访问授权

使用前面授权的IAM用户验证。本示例以xiaoyu0514为例。

在数据开发中验证访问授权

  1. 登录DataArts Studio管理控制台

    详情请参考访问DataArts Studio实例控制台

  2. 启动细粒度认证。

    DAYU Administrator、Tenant Administrator或者数据安全管理员有权限配置细粒度认证状态。

    为了验证本示例,可以给xiaoyu0514添加DAYU Administrator、Tenant Administrator权限。但在实际生产过程中,建议数据安全管理员统一负责配置细粒度认证状态。

    在未启用细粒度认证的情况下,当在DataArts Studio数据开发组件执行脚本、测试运行作业时,数据源会使用数据连接上的账号进行认证鉴权。即使已通过配置角色/权限集对用户进行权限管控,权限管控依然无法生效。

    在启用细粒度认证后,在DataArts Studio数据开发执行脚本、测试运行作业或调度作业时,数据源将不再使用数据连接上的账号,而是使用当前用户身份认证鉴权,从而做到实现不同用户具有不同的数据权限,使角色/权限集中的权限管控生效。

    1. DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
    2. 单击数据安全左侧导航树中的访问权限管理 > 权限应用,默认进入细粒度权限应用页面。
    3. 找到准备工作中创建的数据连接,单击“联通性测试”。
    4. 联通性测试成功后,在细粒度认证状态列选择“开启开发态细粒度认证”。
    5. 单击左上角的“提交”,提交启动细粒度认证任务。
    图1 开启开发态细粒度认证

  3. DataArts Studio控制台首页,选择对应工作空间的“数据开发”模块,进入数据开发页面。
  4. 左侧导航中选择“脚本开发”,新建DWS SQL脚本。

    “数据连接”和“数据库”选择准备工作中创建数据连接和DWS数据库。

  5. 执行查询用户身份的命令select current_user,查看当前用户身份。

    未开启细粒度认证之前,默认使用数据连接中的身份访问数据库。启用细粒度认证之后,将以当前用户的身份访问数据库。

    图2 未开启细粒度认证

    图3 开启细粒度认证

  6. 执行创建数据表命令,等待命令执行结束后,查看语句执行成功。

    本案例以创建数据表dws_test_juese为例。
    CREATE TABLE public.dws_test_juese(
    Id int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    );
    图4 创建数据表

(可选)在DWS中验证用户同步、角色同步和用户组映射

  1. 登录数据仓库服务管理控制台
  2. 在服务左侧导航中选择“集群列表”。
  3. 在专属集群列表单击集群名称,进入集群详情页。本案例单击准备工作中创建的集群。
  4. 验证用户同步、角色同步和用户组映射。

    • 验证用户同步

      选择“用户管理”页签后,在“用户列表”页签,查看IAM用户是否同步到DWS。

      DataArts Studio数据安全中同步的用户,用户类型为IAM。

      图5 查看用户同步

    • 验证角色同步。

      在选择“角色列表”页签,查看角色是否同步到DWS。

      DataArts Studio数据安全中同步的角色名称以“dataarts_studio_role_”为前缀。
      图6 查看角色同步

    • 验证用户组映射。

      在选择“角色列表”页签,查看用户组映射结果。

      DWS没有用户组概念,DataArts Studio同步角色权限时,会将用户所属的用户组映射为DWS中的“iam_group_{用户组ID}”角色。用户组ID通过9获取。

相关文档