MAPREDUCE服务 MRS-配置Oozie应用安全认证:场景说明
场景说明
在安全集群环境下,各个组件之间的相互通信不能够简单的互通,而需要在通信之前进行相互认证,以确保通信的安全性。
用户在开发Oozie应用程序时,某些场景下需要Oozie与Hadoop、Hive等之间进行通信。那么Oozie应用程序中需要写入安全认证代码,确保Oozie程序能够正常运行。
安全认证有两种方式:
- 命令行认证:
提交Oozie应用程序运行前,在Oozie客户端执行如下命令获得认证。
kinit 组件业务用户
- 代码认证(Kerberos安全认证):
通过获取客户端的principal和keytab文件在应用程序中进行认证,用于Kerberos安全认证的keytab文件和principal文件您可以联系管理员创建并获取,具体使用方法在样例代码中会有详细说明。
目前样例代码统一调用LoginUtil类进行安全认证,支持Oracle JAVA平台和IBM JAVA平台。
代码示例中请根据实际情况,修改“USERNAME”为实际用户名,例如“developuser”。
private static void login(String keytabFilePath, String krb5FilePath, String user) throws IOException { Configuration conf = new Configuration(); conf.set(KERBEROS_PRINCIPAL, user); conf.set(KEYTAB_FILE, keytabFilePath); conf.set(HADOOP_SECURITY_AUTHENTICATION, "kerberos"); conf.set(HADOOP_SECURITY_AUTHORIZATION, "true"); /* * if need to connect zk, please provide jaas info about zk. of course, * you can do it as below: * System.setProperty("java.security.auth.login.config", confDirPath + * "jaas.conf"); but the demo can help you more : Note: if this process * will connect more than one zk cluster, the demo may be not proper. you * can contact us for more help */ LoginUtil.setJaasConf(ZOOKEEPER_DEFAULT_ LOG IN_CONTEXT_NAME, user, keytabFilePath); LoginUtil.setZookeeperServerPrincipal(ZOOKEEPER_DEFAULT_SERVER_PRINCIPAL); LoginUtil.login(user, keytabFilePath, krb5FilePath, conf); }
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Hue_如何使用Hue
- 大数据分析是什么_使用MapReduce_创建MRS服务
- 主机安全配置_Windows主机安全配置_Linux主机安全配置
- 网站安全-Web应用防火墙-功能场景
- 应用身份管理服务用户登录二次认证配置_应用身份管理_OneAccess-华为云
- 移动应用安全检测_APP安全检测_应用安全-华为云
- 华为云 MPA 遵从性说明——应用程序 及云端分布式环境安全指南
- 数据安全-云堡垒机-多因子认证
- GaussDB认证_GaussDB考试认证_GaussDB认证指南-华为云