ranger权限管理、rang kms 秘钥管理、kerberos认证服务整合应用(ambari 平台上安装)

本文主要是介绍ranger权限管理、rang kms 秘钥管理、kerberos认证服务整合应用(ambari 平台上安装),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、ranger权限管理安装

        ranger安装参考:https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.0/bk_security/content/ch03s01s03s01.html

 
二、rang kms 秘钥管理安装

        ranger kms安装参考:https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.0/bk_security/content/ch06s01s01s01.html

 
三、kerberos认证服务安装

kerberos 常用命令:
 

kadmin.local  //以超管身份进入kadminkadmin    //进入kadmin模式,需输入密码kdb5_util create -r JENKIN.COM -s    //创建数据库service krb5kdc start    //启动kdc服务service kadmin start    //启动kadmin服务service kprop start     //启动kprop服务kdb5_util dump /var/kerberos/krb5kdc/slave_data    //生成dump文件kprop -f /var/kerberos/krb5kdc/slave_data master2.com    //将master数据库同步是slavekadmin模式下:addprinc -randkey root/master1@JENKIN.COM   //生成随机key的principaladdprinc admin/admin    //生成指定key的principallistprincs    //查看principalchange_password -pw xxxx admin/admin  //修改admin/admin的密码delete_principal  admin/admin    //删除principalkinit admin/admin    //验证principal是否可用ktadd -k /etc/security/keytabs/hdfs.keytab hdfs/master@HQGF.COM    //kadmin模式下使用//可生成keytabkinit -k -t /var/kerberos/krb5kdc/keytab/root.keytab root/master1@JENKIN.COM     //测试keytab是否可用klist -e -k -t /var/kerberos/krb5kdc/keytab/root.keytab    //查看keytabkdestroy     //销毁当前获取的票

一,先升级再安装server,执行以下命令

yum install krb5-server krb5-libs krb5-workstation

二、修改三个配置文件

 

第一个文件 /etc/krb5.conf

[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]default_realm = HQGF.COMdns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = true[realms]HQGF.COM = {kdc = masteradmin_server = master}[domain_realm].example.com = HQGF.COMexample.com = HQGF.COM

第二个文件 /var/kerberos/krb5kdc/kdc.conf

[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]HQGF.COM = {#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabsupported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}
!

第三个文件 /var/kerberos/krb5kdc/kadm5.acl (注意后面的 “*” 号不可以跟前面的字符连接在一起必须空格)

*/admin@HQGF.COM     *

三、创建kerberos 应用

/usr/sbin/kdb5_util create -s -r HQGF.COM

四、启动服务

 
  • service krb5kdc start

  •  
  • service kadmin start

六、添加principal

[root@ws1es ~]# kadmin.local 
Authenticating as principal root/admin@HQGF.COM with password.
kadmin.local:  addprinc admin/admin@HQGF.COM
WARNING: no policy specified for admin/admin@HQGF.COM; defaulting to no policy
Enter password for principal "admin/admin@HQGF.COM": 
Re-enter password for principal "admin/admin@HQGF.COM": 
Principal "admin/admin@HQGF.COM" created.
kadmin.local:  listprincs 
K/M@HQGF.COM
admin/admin@HQGF.COM
kadmin/admin@HQGF.COM
kadmin/changepw@HQGF.COM
kadmin/ws1es.wondersoft.cn@HQGF.COM
krbtgt/HQGF.COM@HQGF.COM

七、重启服务

service kadmin restart
11.下载JCE
补充1:
JCE(Java Cryptography Extension)是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。
它提供对对称、不对称、块和流密码的加密支持,它还支持安全流和密封的对象。它不对外出口,用它开发完成封装后将无法调用。
补充2:
If you are using Oracle JDK, you must distribute and install the JCE on all hosts in the cluster, including the Ambari Server. 
Be sure to restart Ambari Server after installng the JCE. If you are using OpenJDK, some distributions of the OpenJDKcome with unlimited strength JCE automatically and therefore, installation of JCE is not required.For Oracle JDK 1.8:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.htmlFor Oracle JDK 1.7:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html将下载的JCE解压并覆盖$JAVA_HOME/jre/lib/security/目录下的文件(所有节点)

 

 

 

 

 

 

 

十七、安装成功后,查看它自动创建的principal和keytab

[root@master krb5kdc]# kadmin.local
Authenticating as principal root/admin@HQGF.COM with password.
kadmin.local:  listprincs
HTTP/master.hqgf.com@HQGF.COM
HTTP/master@HQGF.COM
HTTP/slave222.hqgf.com@HQGF.COM
HTTP/slave223.hqgf.com@HQGF.COM
HTTP/slave227.hqgf.com@HQGF.COM
HTTP/slave228.hqgf.com@HQGF.COM
K/M@HQGF.COM
activity_explorer/master.hqgf.com@HQGF.COM
activity_explorer/slave222.hqgf.com@HQGF.COM
admin/admin@HQGF.COM
ambari-qa-hqgf@HQGF.COM
ambari-server-hqgf@HQGF.COM
amshbase/slave222.hqgf.com@HQGF.COM
amszk/slave222.hqgf.com@HQGF.COM
dn/slave223.hqgf.com@HQGF.COM
dn/slave227.hqgf.com@HQGF.COM
dn/slave228.hqgf.com@HQGF.COM
hbase-hqgf@HQGF.COM
hbase/master.hqgf.com@HQGF.COM
hbase/slave222.hqgf.com@HQGF.COM
hdfs-hqgf@HQGF.COM
hive/master.hqgf.com@HQGF.COM
hive/slave222.hqgf.com@HQGF.COM
hive/slave223.hqgf.com@HQGF.COM
hive/slave227.hqgf.com@HQGF.COM
hive/slave228.hqgf.com@HQGF.COM
jhs/master.hqgf.com@HQGF.COM
jn/slave223.hqgf.com@HQGF.COM
jn/slave227.hqgf.com@HQGF.COM
jn/slave228.hqgf.com@HQGF.COM
kadmin/admin@HQGF.COM
kadmin/changepw@HQGF.COM
kadmin/master@HQGF.COM
kafka/slave223.hqgf.com@HQGF.COM
kafka/slave227.hqgf.com@HQGF.COM
kafka/slave228.hqgf.com@HQGF.COM
kiprop/master@HQGF.COM
krbtgt/HQGF.COM@HQGF.COM
livy/master.hqgf.com@HQGF.COM
livy/slave222.hqgf.com@HQGF.COM
nfs/master.hqgf.com@HQGF.COM
nfs/slave222.hqgf.com@HQGF.COM
nm/slave223.hqgf.com@HQGF.COM
nm/slave227.hqgf.com@HQGF.COM
nm/slave228.hqgf.com@HQGF.COM
nn/master.hqgf.com@HQGF.COM
nn/slave222.hqgf.com@HQGF.COM
oozie/master.hqgf.com@HQGF.COM
rangeradmin/master.hqgf.com@HQGF.COM
rangerkms/master.hqgf.com@HQGF.COM
rangerlookup/master.hqgf.com@HQGF.COM
rangertagsync/master.hqgf.com@HQGF.COM
rangerusersync/master.hqgf.com@HQGF.COM
rm/master.hqgf.com@HQGF.COM
rm/slave222.hqgf.com@HQGF.COM
spark-hqgf@HQGF.COM
yarn/master.hqgf.com@HQGF.COM
zookeeper/slave222.hqgf.com@HQGF.COM
zookeeper/slave223.hqgf.com@HQGF.COM
zookeeper/slave227.hqgf.com@HQGF.COM
zookeeper/slave228.hqgf.com@HQGF.COM

四、ranger +kerberos+ranger kms 透明加密 实例
 

      1.添加系统用户hadooptest

       

    添加用户名:useradd hadooptest
    设置用户密码为hadooptest:passwd hadooptest

 

 

       2.把hadooptest用户添加到kerberos认证中

 
 

先进入admin/admin princ输入密码,执行:
kinit admin/admin
查看是否进入:
klist -e
进入后可以看到如下结果:
Ticket cache: FILE:/tmp/krb5cc_1040
Default principal: admin/admin@HQGF.COMValid starting       Expires              Service principal
2018-05-17T09:51:47  2018-05-18T09:51:47  krbtgt/HQGF.COM@HQGF.COMEtype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96
退出hadooptest用户使用root用户进入kadmin.local配置,执行:
su root
kadmin.local
进入后执行并输入密码hadooptest:addprinc hadooptest
测试是否成功
kinit hadooptest
使用kadmin模式生成keytab执行
kdestroy     
kadmin
ktadd -k /etc/security/keytabs/hadooptest.keytab hadooptest@HQGF.COM测试kerberos 认证是否成功:
kinit hadooptest
hdfs dfs -ls /        是否可以查看hdfs文件目录,如果认证不成功会一直报错的
到此hadooptest 认证已完成

     3.使用ranger 管理权限

 

 

权限分配完成后使用hadooptest上传文件到hdfs(具体读写操作用户自行测试):

 hdfs dfs -put /usr/hqgf/hive_user.txt /tmp/input/

 

 

 4.hdfs 使用ranger kms 创建加密区

 

1.添加系统用户hq
adduser hq
password hq2.使用ranger 添加hq@HQGF.COM
kinit kadmin
kadmin.local
addprinc hq@HQGF.COM3.kadmin模式下生成对应的keytab文件
kinit kadmin
kadmin
ktadd -k /etc/security/keytabs/hq.keytab hq@HQGF.COM4.修改hq@HQGF.COM初始密码
kinit kadmin
kadmin
change_password -pw ambari hq5.使用admin用户登录ranger 后台添加hq操作hdfs文件的权限,注意ranger+kerberos整合下hq用户不管在何种情况下都无法删除添加的文件和文件夹

 
  • 6.使用keyadmin用户登录ranger后台添加key管理(注意用户设置,用户必须拥有对加密区写的操作)

 
  • 7.选择服务添加key

  •  
  • 8.添加key

  • 9.使用keyadmin用户查看hdfs上是否已经生成了key
  • 10.使用key创建加密区hadoop key list -metadata   //查看已添加的keyhdfs dfs -mkdir /zone_encrhdfs crypto -createZone -keyName key -path /zone_encrhdfs crypto -listZones11.测试(效果怎么样自己去试)使用hq 用户在加密区上传下载文件再使用其他用户上传下载文件
    

     

这篇关于ranger权限管理、rang kms 秘钥管理、kerberos认证服务整合应用(ambari 平台上安装)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/298872

相关文章

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

springboot整合TDengine全过程

《springboot整合TDengine全过程》:本文主要介绍springboot整合TDengine全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境准备JDBC-JNI方式准备依赖实体类Mapper配置类测试类RESTful方式实体类配置类测试类总结