solr添加kerberos认证及授权

@(OTHERS)[solr]

一、kerberos

(一)添加用户

在kdc中添加solr用户:

root@kdc:/# kadmin.local

kadmin.local: addprinc HTTP/192.168.0.107

kadmin.local: ktadd -k /tmp/107.keytab HTTP/192.168.0.107

kadmin.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.Krb5HttplientConfigurer

SOLR_AUTHENTICATION_OPTS="-Djava.security.auth.login.config=/home/foo/jaas-client.co

nf -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";

};

solr kerberos java_solr添加kerberos认证及授权相关推荐

  1. EMR集群安全认证和授权管理

    简介:介绍EMR高安全集群如何使用Kerberos和Apache Ranger进行鉴权和访问授权管理 直达最佳实践:[EMR集群安全认证和授权管理] 最佳实践频道:[点击查看更多上云最佳实践] 这里有 ...

  2. solr添加kerberos认证及授权

    solr添加kerberos认证及授权 @(OTHERS)[solr] 一.kerberos (一)添加用户 在kdc中添加solr用户: root@kdc:/# kadmin.local kadmi ...

  3. impala添加kerberos认证

    impala添加kerberos认证 impala添加kerberos认证 背景 环境 配置 kerberos操作 集群配置 问题 impalad启动报错 catalog启动报错 注意 参考 impa ...

  4. Kafka 认证三:添加 Kerberos 认证详细流程

    背景 上一章节介绍了 Kerberos 服务端和客户端的部署过程,本章节继续介绍 Kafka 添加 Kerberos 认证的部署流程,及 Java API 操作的注意事项. sasl.kerberos ...

  5. 信息系统安全实验(七):使用Kerberos实现网络身份认证

    这是信息系统安全实验系列的第七篇~ 1. 背景知识 (1)概述 Kerberos又指麻省理工学院为这个协议开发的一套计算机网络安全系统.系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相 ...

  6. 为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 4. 为CDH 5集群添加Kerberos身份验证 4.1 安装sentry 1.点击"操作",&qu ...

  7. linux认证授权系统,linux系统用户认证与授权管理.pptx

    Linux系统用户认证与授权管理;什么是用户认证/权限PAM认证机制Kerberos认证协议LDAP目录访问协议;出于系统安全考虑,Linux提供的安全机制主要有:身份标识与鉴别.文件访问控制.特权管 ...

  8. 在现网中使用AAA 认证、授权、计费的详细教程

    文章目录 认证. 授权. 计费 前言 一.配置命令 1.启用 AAA 功能 2.指定一台或多台 AAA 服务器 3.使用 AAA 认证( authentication) 4.使用 AAA 授权( au ...

  9. 《Spring Boot 实战派》--10.集成安全框架,实现安全 认证和授权

    第10章 集成安全框架,实现安全 认证和授权 本章首先介绍如何使用Spring Security创建独立验证的管理员权限系统.会员系统,讲解如 何进行分表.分权限' 分登录入口.分认证接口.多注册接口 ...

最新文章

  1. 关于python的一些好的书籍推荐-推荐几本关于的Python好书
  2. 【Android 安装包优化】Android 中使用 7zr 可执行程序 压缩文件
  3. java表单提交包含文件_如何同时提交表单中的文件和文本
  4. ios注销所有通知_您一直想了解的有关iOS中通知的所有信息
  5. scm中mysql作用_scm项目问题
  6. STM32硬件复位时间
  7. UE4 Pak 相关知识总结
  8. 开氏温度与摄氏度换算_温度是怎么来的,有没有物质没有温度?
  9. 让Vim打造成强大的IDE,附_vimrc的配置和使用
  10. [国家集训队2011]跳跳棋
  11. iOS 各种手势用法
  12. 2019计算机考研各科目时间安排,2019考研时间安排
  13. Cannot read property bindings of null 解决方法
  14. springdatajpa之初识hibernate(一)
  15. 人头识别与计数_基于人头检测的人数统计算法研究
  16. 通过CND方式引入elementui,vue,vuex,vue-router
  17. 如何给电脑安装Windows双系统
  18. 32.768kHz晶振
  19. GPU大百科全书 最终章:33毫秒的咏叹调
  20. 2021-12-20 WPF上位机 120-三菱PLC协议之读写方法流程解析

热门文章

  1. OSPF HELLO数据包
  2. android 虚拟机快捷键中英列表
  3. xmlHttpRequest避免缓存的办法
  4. BCH测试网上出现第一个UTXO证明
  5. 关于使用sudo命令后找不到JAVA_HOME的问题
  6. ACM ICPC 2011-2012 Northeastern European Regional Contest(NEERC)A ASCII Area
  7. 2021年SDN和NFV的支出将超1580亿美元!
  8. Amazon Aurora 升级, 兼容 PostgreSQL
  9. 实体框架高级应用之动态过滤 EntityFramework DynamicFilters
  10. iptables 定义规则