DLI权限问题定位思路以及常用场景案例

举报
jping 发表于 2021/06/29 20:14:57 2021/06/29
【摘要】 DLI权限管理主要分为3块,DLI服务权限控制、IAM用户权限控制、企业项目权限控制。只要存在deny的权限则鉴权结果为deny;如果没有deny,并且存在allow则鉴权结果为allow;如果没有deny,也没有allow则鉴权结果也为deny。 用户信息:用户界面的me接口会返回用户信息以及一些角色信息。角色中有op_ecp说明在企业项目授权了。op_fine_grained说明支持细粒...

DLI权限管理主要分为3块,DLI服务权限控制、IAM用户权限控制、企业项目权限控制。

只要存在deny的权限则鉴权结果为deny;如果没有deny,并且存在allow则鉴权结果为allow;如果没有deny,也没有allow则鉴权结果也为deny

 

用户信息:用户界面的me接口会返回用户信息以及一些角色信息。角色中有op_ecp说明在企业项目授权了。op_fine_grained说明支持细粒度鉴权。op_restricted余额不足op_suspended欠费。


1.问题定位

以一个案例为例:以权限较为复杂的表为例,如果一个表的select权限突然丢失了该怎么去定位。

1.先看报错信息

Permission denied due to policy xxx.  --- 说明被policy deny,需要找DLIoncall帮忙查看

Permission denied. Policy doesn't allow  ---说明被策略deny,可以先看一下me接口,看该用户是否涉及细粒度权限或者企业项目权限,需要查看IAM界面该用户所属的用户组绑定的策略是否将select操作deny。如果没有则看企业项目界面,看资源对应的企业项目下是否绑定了策略,并且确认策略中是否将select操作deny

Permission denied for resource xxx  --- 需要继续定位

2. 查看权限,进入console界面权限管理

  • 如果显示该用户有select权限,则肯定是代码问题。注意确认该表是不是跨project授权的表,如果是跨project表则要确认,跨project权限是否有select权限。
  • 如果没有权限,则查看这个表最近有没有删除重建的操作,在job表里面用`test`.`aaa`查询。
  • 如果没有删除重建,则在job表里面查询change data privileges for user $userName;如果涉及跨project查询 change data privileges for project $授权projectId

 

以下需要找dliOncall帮忙查询:

  • 如果有权限操作,需要看一下jm日志,$userId data authorization, userName: $userName, action: $action;看看是什么操作,然后根据用户当前的权限判断是否合理。
  • 如果最近没有涉及权限操作,可以看看ME接口中是否涉及细粒度权限或者企业项目权限控制。如果涉及需要查看审计日志,看看最近的变化是否涉及到了dli的权限。

相关日志:begin checkPdpPermission resource: databases.test.tables.testaction: $action

 

 

2. 常用场景案例

2.1  flink作业查看

子用户在dli中不能查看flink作业,可以看到队列,问下需要怎么设置权限可以查看flink作业

 

处理方式:

  1. DLI授权管理
  • 使用租户账号或作业owner账号或有DLI Service Administrator权限的账号登录DLIconsole页面。
  • 进入数据湖探索 作业管理 – Flink作业 找到对应的作业。在对应作业的操作栏中选择 更多 - 权限管理。


  • 点击授权 输入需要权限的用户名 勾选需要的权限。只要授权任意权限,被授权用户就可以看到该作业,并且执行相关权限操作。

            

  1. IAM授权管理
  • 进入IAM界面,权限 创建自定义权限


  • 需要查看Flink作业的话需要在项目级服务 可视化视图 云服务选‘
    数据湖探索(DLI)操作选择‘dli:jobs:list_all点击确认创建策略。


  • 在统一身份认证服务界面 用户组中,找到需要授权的用户所属的用户组,点击操作一栏中的权限配置,点击配置权限。


  • 选择区域级项目,选择对应的授权区域,在权限选择中选择第一步中创建的的自定义策略 或者 DLI Service Admin(权限较大,拥有DLI所有权限) 角色都可以实现Flink作业的查看。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。