Professional Documents
Culture Documents
海量数据
2021.9
架构
目录 配置
演示
PART 01
Sentry 架构
Architecture
3
Sentry 架构 Sentry Components
Sentry Data
Server Engine
Policy Sentry
metadata Plugin
• Sentry 插件在数据引擎中运行。
• 存储权限策略数据,一般是外部
提供操作存储在 Sentry 服务
存储 db 。 器中的授权元数据的接口,包
括授权策略引擎,该引擎使用
从服务器检索的授权元数据来
评估访问请求。
Sentry 架构 Sentry Architecture
Binding
• 实现了对不同的查询引擎授权,是调用工具和
Sentry 授权之间的桥梁
Policy Engine
• 判断从 binding 层获取请求权限与服务提供层已保
存的权限描述是否匹配
Policy Provider
• 用于为 Policy Engine 提供授权元数据的抽象,负
责从存储库中读取出原先设定的访问权限
File-based Provider
• 基于文件的提供者使用的是 ini 格式的文件保存元
数据信息,如本地文件或者 HDFS 文件
Sentry 架构 Sentry DB provider
Sentry 策略存储和服务将角色
保留为 RDBMS 中的特权和
分组到角色映射,提供对应
CRUD API
Sentry 生态 Sentry Eco-system
PART 02
Sentry 配置
Configuration
8
Sentry-Hive Hive and Sentry
查询授权 权
限控制
Sentry-Impala Impala and Sentry
HDFS 访问控
制列表开启
检查 HDFS 权
限开启
Sentry 服务开
启
实施— HIVE 配置 Implementation in HIVE
HIVE Sentry
开启
Impersonation
权限禁止
启用数据库中
的存储通知
实施— Impala 配置 Implementation in Impala
实施—权限分配模式 Policy Mode
用户组下所有用户统一获得权限
用户
用户组 角色对应用户组
角色 角色:权限赋予角色
权限分配模式
案例 Demo Implementation
4 Useradd bd
案例演示
Service Case
17
HIVE 案例 -1 Hive Service
创建用户组
角色定义
为 admin 角色赋予超级
1 2 创建所有权限用户组和读权限
用户组,在所有 Hive 节点创建
权限,并将 admin 角色
所有权限用户组 all_privilege 和
授权 hive 用户组
读权限用户组 reader
验证
6 HIVE 3 创建用户,匹配对应组
验证最终结果 权限 在所有 Hive 节点创建 fyl
和 zmh 用户,前者归入
all_privilege 用户组,后
者归入 reader 用户组
业务权限测试 5 4 建角色,对应用户组
使用 reader 用户组的用户 SELECT -> 文件的 Read 权限
zmh 登录 Hive 客户端,查询 INSERT -> 文件的 Write 权限
ods 库表数据,并插入数据到 ALL -> 文件的 Read 和 Write 权限
ods 库表
HIVE 案例 -2 Hive Service
创建用户组
角色定义
为 admin 角色赋予超级
1 2 创建所有权限用户组和读权限
用户组,在所有 Hive 节点创建
权限,并将 admin 角色
所有权限用户组 all_privilege 和
授权 hive 用户组
读权限用户组 reader
验证
6 HIVE 3 创建用户,匹配对应组
验证最终结果 权限 在所有 Hive 节点创建 fyl
和 zmh 用户,前者归入
all_privilege 用户组,后
者归入 reader 用户组
业务权限测试 5 4 建角色,对应用户组
使用 reader 用户组的用户 SELECT -> 文件的 Read 权限
zmh 登录 Hive 客户端,查询 INSERT -> 文件的 Write 权限
ods 库表数据,并插入数据到 ALL -> 文件的 Read 和 Write 权限
ods 库表
HIVE 案例 -3 Hive Service
创建用户组
角色定义
为 admin 角色赋予超级
1 2 创建所有权限用户组和读权限
用户组,在所有 Hive 节点创建
权限,并将 admin 角色
所有权限用户组 all_privilege 和
授权 hive 用户组
读权限用户组 reader
验证
6 HIVE 3 创建用户,匹配对应组
验证最终结果 权限 在所有 Hive 节点创建 fyl
和 zmh 用户,前者归入
all_privilege 用户组,后
者归入 reader 用户组
业务权限测试 5 4 建角色,对应用户组
使用 reader 用户组的用户 SELECT -> 文件的 Read 权限
zmh 登录 Hive 客户端,查询 INSERT -> 文件的 Write 权限
ods 库表数据,并插入数据到 ALL -> 文件的 Read 和 Write 权限
ods 库表
HIVE 案例 -4 Hive Service
创建用户组
角色定义
为 admin 角色赋予超级
1 2 创建所有权限用户组和读权限
用户组,在所有 Hive 节点创建
权限,并将 admin 角色
所有权限用户组 all_privilege 和
授权 hive 用户组
读权限用户组 reader
验证
6 HIVE 3 创建用户,匹配对应组
验证最终结果 权限 在所有 Hive 节点创建 fyl
和 zmh 用户,前者归入
all_privilege 用户组,后
者归入 reader 用户组
业务权限测试 5 4 建角色,对应用户组
使用 reader 用户组的用户 SELECT -> 文件的 Read 权限
zmh 登录 Hive 客户端,查询 INSERT -> 文件的 Write 权限
ods 库表数据,并插入数据到 ALL -> 文件的 Read 和 Write 权限
ods 库表
HIVE 案例 -5 Hive Service
创建用户组
角色定义
为 admin 角色赋予超级
1 2 创建所有权限用户组和读权限
用户组,在所有 Hive 节点创建
权限,并将 admin 角色
所有权限用户组 all_privilege 和
授权 hive 用户组
读权限用户组 reader
验证
6 HIVE 3 创建用户,匹配对应组
验证最终结果 权限 在所有 Hive 节点创建 fyl
和 zmh 用户,前者归入
all_privilege 用户组,后
者归入 reader 用户组
业务权限测试 5 4 建角色,对应用户组
使用 reader 用户组的用户 SELECT -> 文件的 Read 权限
zmh 登录 Hive 客户端,查询 INSERT -> 文件的 Write 权限
ods 库表数据,并插入数据到 ALL -> 文件的 Read 和 Write 权限
ods 库表
Sentry 命令 CML Demo
角色
创建 • create role role_name;
常用 权限
•
•
GRANT select ON DATABASE ods to role role_name;
GRANT all ON TABLE TEST to role role_name;
命令 更改 • GRANT ROLE role_name TO GROUP
user_group_name;
• SHOW ROLES ;
权限 • SHOW ROLE GRANT GROUP user_group_name;
查看 • SHOW GRANT ROLE role_name;
THE END
谢谢
24