验证DWS访问授权
使用前面授权的IAM用户验证。本示例以xiaoyu0514为例。
在数据开发中验证访问授权
- 登录DataArts Studio管理控制台。
详情请参考访问DataArts Studio实例控制台。
- 启动细粒度认证。
仅DAYU Administrator、Tenant Administrator或者数据安全管理员有权限配置细粒度认证状态。
为了验证本示例,可以给xiaoyu0514添加DAYU Administrator、Tenant Administrator权限。但在实际生产过程中,建议数据安全管理员统一负责配置细粒度认证状态。
在未启用细粒度认证的情况下,当在DataArts Studio数据开发组件执行脚本、测试运行作业时,数据源会使用数据连接上的账号进行认证鉴权。即使已通过配置角色/权限集对用户进行权限管控,权限管控依然无法生效。
在启用细粒度认证后,在DataArts Studio数据开发执行脚本、测试运行作业或调度作业时,数据源将不再使用数据连接上的账号,而是使用当前用户身份认证鉴权,从而做到实现不同用户具有不同的数据权限,使角色/权限集中的权限管控生效。
- 在DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
- 单击数据安全左侧导航树中的,默认进入细粒度权限应用页面。
- 找到准备工作中创建的数据连接,单击“联通性测试”。
- 联通性测试成功后,在细粒度认证状态列选择“开启开发态细粒度认证”。
- 单击左上角的“提交”,提交启动细粒度认证任务。
图1 开启开发态细粒度认证
- 在DataArts Studio控制台首页,选择对应工作空间的“数据开发”模块,进入数据开发页面。
- 左侧导航中选择“脚本开发”,新建DWS SQL脚本。
“数据连接”和“数据库”选择准备工作中创建数据连接和DWS数据库。
- 执行查询用户身份的命令select current_user,查看当前用户身份。
未开启细粒度认证之前,默认使用数据连接中的身份访问数据库。启用细粒度认证之后,将以当前用户的身份访问数据库。
图2 未开启细粒度认证
图3 开启细粒度认证
- 执行创建数据表命令,等待命令执行结束后,查看语句执行成功。 本案例以创建数据表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中验证用户同步、角色同步和用户组映射
- 登录数据仓库服务管理控制台。
- 在服务左侧导航中选择“集群列表”。
- 在专属集群列表单击集群名称,进入集群详情页。本案例单击准备工作中创建的集群。
- 验证用户同步、角色同步和用户组映射。
- 验证用户同步
选择“用户管理”页签后,在“用户列表”页签,查看IAM用户是否同步到DWS。
从DataArts Studio数据安全中同步的用户,用户类型为IAM。
图5 查看用户同步
- 验证角色同步。 从DataArts Studio数据安全中同步的角色名称以“dataarts_studio_role_”为前缀。图6 查看角色同步
- 验证用户组映射。
DWS没有用户组概念,DataArts Studio同步角色权限时,会将用户所属的用户组映射为DWS中的“iam_group_{用户组ID}”角色。用户组ID通过9获取。

- 验证用户同步