solr添加kerberos认证及授权
来源:互联网 发布:网络销售主管职责 编辑:程序博客网 时间:2024/05/20 10:55
solr添加kerberos认证及授权
@(OTHERS)[solr]
一、kerberos
(一)添加用户
在kdc中添加solr用户:
root@kdc:/# kadmin.localkadmin.local: addprinc HTTP/192.168.0.107kadmin.local: ktadd -k /tmp/107.keytab HTTP/192.168.0.107kadmin.local: quit
(二)创建security.json
server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181 -cmd put/security.json '{"authentication":{"class":"org.apache.solr.security.KerberosPlugin"}}'
或者以文件的形式上传
(三)创建jaas文件
Client { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/keytabs/107.keytab" storeKey=true useTicketCache=true debug=true principal="HTTP/192.168.0.107@EXAMPLE.COM";};
放到哪里?
(四)在solr.in.sh中添加以下内容
SOLR_AUTHENTICATION_CLIENT_CONFIGURER=org.apache.solr.client.solrj.impl.Krb5HttplientConfigurerSOLR_AUTHENTICATION_OPTS="-Djava.security.auth.login.config=/home/foo/jaas-client.conf -Dsolr.kerberos.cookie.domain=192.168.0.107 -Dsolr.kerberos.cookie.portaware=true -Dsolr.kerberos.principal=HTTP/192.168.0.107@EXAMPLE.COM -Dsolr.kerberos.keytab=/keytabs/107.keytab"
对于tomcat的启动方式也一样?
(五)启动solr
bin/solr -c -z server1:2181,server2:2181,server3:2181/solr
tomcat 不是这样子。
二、授权
(一)启用plugin
{"authentication":{"class":"solr.BasicAuthPlugin","blockUnknown": true,"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0=Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}},"authorization":{"class":"solr.RuleBasedAuthorizationPlugin","permissions":[{"name":"security-edit","role":"admin"}]"user-role":{"solr":"admin"}}}
(二)授权
curl --user solr:SolrRocks -H 'Content-type:application/json' -d '{"set-permission": {"name":"collection-mgr","collection": null,"path":"/admin/collections","params":{"action":[LIST, CREATE]},"before": "read","role": "admin"}}' http://localhost:8983/solr/admin/authorization
三、solrJ的认证
To use Kerberos authentication in a SolrJ application, you need the following two lines before you create a SolrClient:
System.setProperty("java.security.auth.login.config", "/home/foo/jaas-client.conf");HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
You need to specify a Kerberos service principal for the client and a corresponding keytab in the JAAS client configuration file above. Here’s an example:
SolrJClient { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/keytabs/foo.keytab" storeKey=true useTicketCache=true debug=true principal="foo@EXAMPLE.COM";};
阅读全文
0 0
- solr添加kerberos认证及授权
- 使用 LDAP + Kerberos 实现集中用户认证及授权系统
- hadoop 添加kerberos认证
- hadoop 添加kerberos认证
- Kerberos认证协议认证授权流程-白话解读
- hadoop集群中添加kerberos认证
- CDH添加Kerberos认证(5.3.X以上)
- Kerberos认证
- Kerberos认证
- Kerberos认证
- kerberos 认证方式-主机认证
- 企业认证机制(kerberos)
- kerberos认证过程概述
- kerberos认证过程
- kerberos认证过程
- kerberos认证协议浅析
- Kerberos认证流程详解
- 用户认证与Kerberos
- 数学建模初赛试题—护士工作时间安排
- 【剑指offer】面试题53(1):数字在排序数组中出现的次数
- Android BGABanner轮播图组件
- 时隔约一年半后重回ubuntu工作环境下的第一篇
- JS-时间实时更新
- solr添加kerberos认证及授权
- 查询oracle中所有用户信息
- 简单对战游戏Java版源程序
- 【备忘】Java菜鸟到大牛学习路线之实战篇
- CSS动画实战:创建一个太极Loading图
- MIT eecs 6.00 problemset1
- Pandas学习笔记之合并操作
- C语言实现缓冲区溢出实例
- Eclipse中输入系统变量和运行参数