这里写自定义目录标题
跨项目组合作 使用同一个CDH集群,由于数仓命名 ,权限管理,安全认证等问题
需要管控yarn 的队列使用资源,库表DDL、DML、磁盘监控。
CDH在数据安全上的处理通常采用 Kerberos+Sentry 的结构。
(1)kerberos 主要负责平台用户的认证(用户级别)
(2)sentry 则负责平台数据的权限管理(表、字段级别)
YARN的资源池配置
1.创建 Linux 用户 hdfs/hive/spark/flink
2.创建资源池---资源池名称 要和用户在Linux 上的用户组 匹配(Linux默认情况下用户=用户组)
3.编辑权重
4.yarn队列设置
CDH中添加Sentry服务
object: 受保护的对象
privilege: 对 object 的访问权限
role: privilege 的集合
user: 用户
group: user 的集合

CDH节点认证Kerberos登录hive
beeline -u "jdbc:hive2://IP:10000/default;principal=hive/hostname@PRD.HADOOP.COM;auth=Kerberos"
!quit
Sentry语法&授权
(1)显示当前用户&角色
select current_user();
show current roles;
show roles;
show grant role admin;
(1)给hive组分配角色
grant role spark to group hive;
(2)给角色授权DDL的权限(查询、插入)
grant select on table test.table to role spark ;
grant insert on table test.table to role spark ;
grant ALL ON TABLE test.table to role spark ;
grant CREATE ON DATABASE test to role spark ;
grant SELECT (age) ON TABLE test.table TO ROLE spark;
(3)撤销权限
REVOKE select ON DATABASE test FROM ROLE spark;
REVOKE select ON TABLE test.table FROM ROLE spark ;
REVOKE CREATE ON DATABASE test to role spark ;
REVOKE SELECT (age) ON TABLE test.table FROM ROLE spark;
(4)创建视图
CREATE VIEW test.view_test AS SELECT age FROM test.table_test WHERE year = 2026;
DROP VIEW [IF EXISTS] test.view_test;
(5)分区级别(不可以授权分区)
GRANT SELECT ON TABLE test.table_test PARTITION (year=2026) TO ROLE spark;
REVOKE SELECT ON TABLE test.table_test PARTITION (year=2026) TO ROLE spark;
(6)创建库权限(权限比较大)
GRANT CREATE ON SERVER server1 TO ROLE spark;
REVOKE CREATE ON SERVER server1 FROM ROLE spark;
(7)查看spark用户有那些授权
show GRANT role spark;
(8)ods_table_test表授权给spark用户
show databases;
GRANT SELECT ON TABLE ods.ods_table_test TO ROLE spark;