• 沒有找到結果。

UserGroupInformation.setConfiguration(conf);

UserGroupInformation.loginUserFromKeytab(PRNCIPAL_NAME, PATH_TO_KEYTAB);

} /**

* initialize FileSystem, and get ST from Kerberos * @throws IOException

*/

private void initFileSystem() throws IOException { fs = FileSystem.get(conf);

private void doSth() throws IOException { Path path = new Path("/tmp");

FileStatus fStatus = fs.getFileStatus(path);

System.out.println("Status of " + path + " is " + fStatus);

//other thing }

public static void main(String[] args) throws Exception { KerberosTest test = new KerberosTest();

步骤1 登录FusionInsight Manager。

步骤2 在FusionInsight Manager界面选择“系统 > 权限 > 角色 > 添加角色”。

1. 填写角色的名称,例如developrole,单击“确定”保存角色。

2. 参考如何判断某个服务是否使用了Ranger鉴权,确认服务是否启用了Ranger鉴 权?

应用开发指南 5 安全认证

– 是,执行步骤3。

HDFS > 文件系统”,勾选“hdfs://hacluster”的“读”、

“写”和“执行”,单击“确定”保存。

Mapreduce/

Yarn 1. 在“配置资源权限”的表格中选择“待操作集群的名称

> HDFS > 文件系统 > hdfs://hacluster/”,勾选

“user”的“读”、“写”和“执行”。继续选择“待

选择“待操作集群的名称 > HBase > HBase Scope >

global > hbase”,勾选“hbase:meta”的“执行”。

选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://

hacluster/ > user”,勾选“hive”的“读”、“写”、

“执行”。

选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://

hacluster/ > user > hive”,勾选“warehouse”的

“读”、“写”、“执行”。

选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://

hacluster/ > tmp”,勾选“hive-scratch”的“读”、

“写”、“执行”,若存在“examples” ,勾选

HBase > HBase Scope ”,勾选“global”的“管理”、

“创建”、“读”、“写”和“执行”,单击“确定”保 存。

应用开发指南 5 安全认证

服务 所需添加权限

Spark2x 1. (若安装了HBase,则配置)在“配置资源权限”表格 中选择“待操作集群的名称 > HBase > HBase Scope >

global”,勾选“default”的“创建”,单击“确定”

保存。

2. (若安装了HBase,则配置)编辑角色,在“配置资源 权限”的表格中选择“待操作集群的名称 > HBase >

HBase Scope > global > hbase”,勾选

“hbase:meta”的“执行”,单击“确定”保存。

Yarn > 调度队列 > root”,勾选“default”的“提交”和

“管理”,单击“确定”保存。

说明Hive应用开发需要到的额外的操作权限需要从系统管理员处获取。

ClickHouse 在“配置资源权限”的表格中选择“待操作集群的名称 >

ClickHouse > Clickhouse Scope”,勾选对应数据库的创 建权限。单击对应的数据库名称,根据不同任务场景,勾 选对应表的“读”、“写”权限,单击“确定”保存。

Flink 1. 在“配置资源权限”的表格中选择“待操作集群的名称

> HDFS > 文件系统 > hdfs://hacluster/ > flink ”,勾 选“读”、“写”和“执行”,单击“配置资源权限”

表格中“服务”返回。

2. 在“配置资源权限”的表格中选择“待操作集群的名称

> Yarn > 调度队列 > root”,勾选default的“提交”,

单击“确定”保存。

说明若指定state backend为HDFS,例如指定state backend目录为

"hdfs://hacluster/flink-checkpoint",需同样为"hdfs://

服务 所需添加权限

步骤5 填写用户名,例如developuser,按照表5-3选择相应的用户类型和需加入的用户组,

并绑定角色developrole取得权限,单击“确定”。

服务 用

步骤7 在FusionInsight Manager界面选择“系统 > 权限 > 用户”,在用户名中选择 developuser,单击操作“更多 > 下载认证凭据”下载认证凭据文件,保存后解压得 到用户的“user.keytab”文件与“krb5.conf”文件。Keytab文件用于在样例工程中进 行安全认证,具体使用请参考各服务的开发指南指导。

说明

如果用户类型是人机,需要先修改初始密码后再下载认证凭据文件,否则在使用时会提示

“Password has expired - change password to reset”,导致安全认证失败。

----结束