启用细粒度认证
在DataArts Studio数据开发组件执行脚本、测试运行作业时,数据源会使用数据连接上的账号进行认证鉴权。因此,即使已通过配置角色/权限集对用户进行权限管控,当用户在数据开发时,权限管控依然无法生效。
而在配置细粒度认证后,在DataArts Studio数据开发执行脚本、测试运行作业或调度作业时,数据源将不再使用数据连接上的账号,而是使用当前用户身份认证鉴权,从而做到实现不同用户具有不同的数据权限,使角色/权限集中的权限管控生效。
- 当关闭细粒度认证时,数据开发中的脚本执行、作业测试运行、执行调度使用数据连接上的账号进行认证鉴权。
- 当启用开发态细粒度认证后,数据开发中的脚本执行、作业测试运行使用当前用户身份认证鉴权,执行调度使用数据连接上的账号进行认证鉴权。
- 当启用调度态细粒度认证后,数据开发中的脚本执行、作业测试运行和作业调度使用当前用户身份认证鉴权。
前提条件
- 开启细粒度认证前,请确保已经为使用数据源的用户配置了业务所需的数据权限,避免开启后因用户无数据权限导致业务中断。配置权限详见配置权限集或配置角色。
- DWS联通性测试前,已完成用户同步,然后将当前登录账号切换为IAM子用户账号,且至少具有DWS Database Access权限。
- 已经为MRS Hive连接和MRS SPARK连接中的用户配置了代理权限,请参考参考:为MRS数据连接用户配置代理权限进行配置。
- MRS SPARK数据连接对应的SPARK2x组件为多主实例模式,否则请参考配置多主实例与多租户模式切换章节进行切换。
约束与限制
- 当前开发态细粒度认证仅支持DWS、代理模式的MRS Hive和MRS SPARK类型数据源,调度态细粒度认证仅支持代理模式的MRS Hive类型数据源。
- 仅DAYU Administrator、Tenant Administrator或者数据安全管理员有权限配置细粒度认证状态。
- 仅当数据连接中的Agent选择的CDM集群为2.10.0.300及以上版本时,才支持细粒度认证。
- 角色/权限集中配置的用户权限,需要在角色/权限集同步成功并启用细粒度认证后才能生效。
- DWS连接联通性测试约束如下:
- 联通性测试时,系统会使用当前用户账号访问数据源,以确保正常访问。但由于DWS数据源不支持以华为账号直接访问,如果登录账号为华为账号,联通性测试会失败。因此,在DWS联通性测试前,需要先完成用户同步,再将当前登录账号切换为IAM子用户账号,且至少具有DWS Database Access权限。
- 仅当DWS集群guest_agent版本为8.2.1,或在8.2.1以上、9.0.0以下时,才支持细粒度认证。DWS集群guest_agent版本查看方法请参考查看DWS集群guest agent版本。
- MRS Hive连接联通性测试约束如下:
- MRS SPARK连接联通性测试约束如下:
- 仅当MRS SPARK数据连接中的用户配置了代理权限后,才支持细粒度认证。
- 仅当MRS SPARK数据连接对应的SPARK2x组件为多主实例模式时才支持细粒度认证,为多租户模式时不支持。多租户模式切换多主实例模式请参考配置多主实例与多租户模式切换章节。
启用细粒度认证
- 在DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
- 单击左侧导航树中的 ,进入权限应用页面。
- 在
页面,为希望启用细粒度认证的数据连接,进行联通性测试。联通性测试时,系统会使用当前用户账号访问数据源,以确保当前用户访问正常。
由于DWS数据源不支持以华为账号直接访问,因此如果当前以华为账号登录,则会导致联通性测试失败。因此在DWS联通性测试前,需要先完成用户同步,再将当前登录账号切换为IAM子用户账号,且至少具有DWS Database Access权限。
图1 联通性测试
如果联通性测试失败,可从以下方面进行排查:
- 确保数据连接上的数据源可用。
- 数据连接中的Agent选择的CDM集群应为2.10.0.300及以上版本。
- 已完成用户同步,用户同步操作请参考同步IAM用户到数据源。
- DWS连接:
- DWS连接中DWS集群guest_agent版本为8.2.1,或在8.2.1以上、9.0.0以下。DWS集群guest_agent版本查看方法请参考查看DWS集群guest agent版本。
- 已将当前登录账号切换为IAM子用户账号,且具有至少DWS Database Access权限。
- MRS Hive连接:
MRS Hive连接中的用户是否配置了代理权限,若没配置代理,可参考参考:为MRS数据连接用户配置代理权限。
- MRS SPARK连接:
- MRS SPARK连接中的用户是否配置了代理权限,若没配置代理,可参考参考:为MRS数据连接用户配置代理权限。
- MRS SPARK数据连接对应的SPARK2x组件是否为多主实例模式。多主实例模式时才支持细粒度认证,为多租户模式时不支持。多租户模式切换多主实例模式请参考配置多主实例与多租户模式切换章节。
- 联通性测试成功后,在细粒度认证状态列,根据所需选择启用开发态或调度态的细粒度认证,然后单击下方的“提交”,即可开启细粒度认证。
图2 开启细粒度认证
参考:为MRS数据连接用户配置代理权限
用户在DataArts Studio上通过MRS Hive或Spark数据连接访问数据源时,默认使用数据连接中配置的账号信息访问。而在为MRS Hive或Spark数据连接中的账号信息配置Hive或Spark代理权限后,用户在发起操作时,MRS支持切换为以用户自身身份执行,从而支持细粒度认证。具体配置方法详见配置Hive代理权限和配置Spark代理权限。
配置Hive代理权限
- 登录MRS FusionInsight Manager。
- 选择“集群 > 服务 > Hive > 配置 > 基础配置”,在搜索框中输入参数名“core.site.customized.configs”,配置相应参数,如图3所示。
表1 配置参数 参数名
名称
值
core.site.customized.configs
hadoop.proxyuser.数据连接上配置的用户名.users
*
hadoop.proxyuser.数据连接上配置的用户名.groups
*
hadoop.proxyuser.数据连接上配置的用户名.hosts
*
- 参数均配置完成后,单击左上角的“保存”,在弹窗中单击“确定”保存配置。
图4 保存配置
- 保存成功后,切换到实例页签,选择配置已过期的实例后,单击“更多 > 滚动重启实例”,使配置生效。
图5 滚动重启实例
配置Spark代理权限
- 登录MRS FusionInsight Manager。
- 选择“集群 > 服务 > Spark> 配置 > 基础配置”或“集群 > 服务 > Spark2x> 配置 > 基础配置”,在搜索框中输入参数名“spark.core-site.customized.configs”,配置相应参数。后文以Spark组件为例进行说明,如图6所示。
表2 配置参数 参数名
名称
值
Spark->JDBCServer
或
Spark2x->JDBCServer2x
core.site.customized.configs
hadoop.proxyuser.数据连接上配置的用户名.groups
*
hadoop.proxyuser.数据连接上配置的用户名.hosts
*
hadoop.proxyuser.数据连接上配置的用户名.groups
*
hadoop.proxyuser.数据连接上配置的用户名.hosts
*
- 参数均配置完成后,单击左上角的“保存”,在弹窗中单击“确定”保存配置。
图7 保存配置
- 保存成功后,切换到实例页签,选择配置已过期的实例后,单击“更多 > 滚动重启实例”,使配置生效。
图8 滚动重启实例