druid Kerberos化配置

本文介绍Druid的Kerberos认证配置及访问方法。先修改 /etc/krb5.conf 文件,接着在Kerberos server所在服务器生成principle和keytab文件并拷贝到对应目录,然后配置Kerberos认证,最后启动Druid,可通过curl命令和浏览器访问,若报错可开启Kerberos debug查看信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇: druid基础安装部署.
上一篇: Kerberos安装配置.

一,修改 /etc/krb5.conf 文件

去掉这一行,会导致奇怪的问题。

 renew_lifetime = 7d

二,生成principle ,keytab文件

在Kerberos server所在服务器登陆kdc创建principle,生成keytab文件

kadmin.local

创建sponge 使用的principle

add_principal HTTP/hdp001.edu.org@EDU.ORG
add_principal HTTP/hdp002.edu.org@EDU.ORG
add_principal HTTP/hdp003.edu.org@EDU.ORG
ktadd -k /etc/security/keytabs/sponge.hdp001.keytab -norandkey HTTP/hdp001.edu.org@EDU.ORG
ktadd -k /etc/security/keytabs/sponge.hdp002.keytab -norandkey HTTP/hdp002.edu.org@EDU.ORG
ktadd -k /etc/security/keytabs/sponge.hdp003.keytab -norandkey HTTP/hdp003.edu.org@EDU.ORG

创建druid组件内部通讯使用的principe

add_principal druid
ktadd -k /etc/security/keytabs/druid.keytab -norandkey druid@EDU.ORG

将sponge keytab文件拷贝到对应的服务器目录下,将druid.keytab文件拷贝到所有服务器对应目录下。

三,配置kerberos 认证

druid.extensions.loadList=["druid-hdfs-storage", "druid-kafka-indexing-service","mysql-metadata-storage","druid-datasketches","druid-kerberos"]

# Authenticator 认证器 使用kerberos认证用户
druid.auth.authenticatorChain=["kerberos"]
druid.auth.authenticator.kerberos.type=kerberos
druid.auth.authenticator.kerberos.serverPrincipal=HTTP/_HOST@EDU.ORG
druid.auth.authenticator.kerberos.serverKeytab=/etc/security/keytabs/spnego.hdp001.keytab
druid.auth.authenticator.kerberos.authorizerName=allowAll
druid.auth.authenticator.kerberos.cookieSignatureSecret=cookie-signature-secret

# escalator 内部组件间通讯,认证方式需要和authenticator 保持一致
druid.escalator.type=kerberos
druid.escalator.internalClientPrincipal=druid@EDU.ORG
druid.escalator.internalClientKeytab=/etc/security/keytabs/druid.keytab
druid.escalator.authorizerName=allowAll

# authorizer 授权器 
druid.auth.authorizers=["allowAll"]
druid.auth.authorizer.allowAll.type=allowAll

Kerberos认证基础上目前没有可用的授权器可用,使用allowAll 所有用户有所有访问权限。(druid 支持ranger,但是ranger貌似不支持druid)

四,启动druid,通过curl 命令,浏览器访问druid。

如果启动报认证错误,可以打开Kerberos debug 查看详细信息。

Kerberos debug.

访问Kerberos化接口.

<think>好的,我现在需要帮助用户解决在Druid中修改密码的问题。首先,我需要回顾一下用户提供的引用内容,看看有没有相关的配置信息。用户提到了引用1、4、3、5等,其中引用4特别提到了为Druid监控配置访问权限,设置用户和密码,这可能和修改密码相关。 接下来,我需要确定Druid的认证机制。根据引用1,Druid使用了基本安全扩展,比如druid-basic-security,这可能涉及到用户凭证的存储和修改。引用3提到了Kerberos配置,但用户的问题是关于修改密码,可能更直接相关的还是基本安全配置。 用户想修改密码,可能需要找到存储用户信息的配置文件。根据引用4,用户认证信息可能存储在common.runtime.properties中,或者单独的配置文件里。引用1中提到需要修改common.runtime.properties来配置Authenticator、Escalator和Authorizer,可能用户信息存储在这里或者其他地方,比如元数据存储中。 另外,引用1还提到了mysql-metadata-storage,可能用户信息存储在MySQL中。如果是这样,修改密码可能需要直接操作数据库,或者通过Druid提供的API。不过用户可能更倾向于通过配置文件来修改,所以需要确认Druid的基本安全模块如何管理用户凭证。 步骤可能包括:找到用户配置文件,比如user.json或者通过数据库表,然后更新密码字段。密码可能需要加密存储,所以用户可能需要使用加密工具生成加密后的密码,再替换原有值。同时,需要重启Druid服务使配置生效。 还需要注意,不同的扩展可能有不同的配置方式。例如,如果使用了druid-basic-security,用户信息可能存储在元数据存储中,或者本地文件中。引用4提到的配置用户和密码可能是在初始时设置的,修改可能需要更新这些存储位置的数据。 可能的问题包括:如何确定当前认证机制,如何生成加密密码,修改后是否需要重启服务,以及如何验证新密码是否生效。需要确保用户按照正确的步骤操作,避免配置错误导致服务不可用。 总结步骤应该是:1. 确认认证方式;2. 找到用户存储位置;3. 生成加密密码;4. 更新用户信息;5. 重启服务;6. 验证修改。同时,需要引用相关的参考资料,比如引用1和4,来支持步骤的正确性。</think>在Druid中修改密码需要结合其安全认证模块进行配置。具体步骤如下: ### 一、确认安全认证模式 Druid支持两种安全认证模式: 1. **基础认证**(druid-basic-security)[^1] 2. **Kerberos认证**[^3] 若已启用基础认证,需通过以下步骤修改密码: ### 二、修改基础认证密码 1. **定位配置文件** 在`apache-druid-XX.X.X/conf/druid/auto/_common/common.runtime.properties`中确认安全扩展已加载: ```properties druid.extensions.loadList=[..., "druid-basic-security", "mysql-metadata-storage"] ``` 2. **更新用户密码** - *数据库存储模式*(推荐): 若使用MySQL存储元数据,执行SQL更新`druid_users`表: ```sql UPDATE druid_users SET password = '加密后的密码' WHERE username = '目标用户'; ``` 密码需通过Druid的`Password加密工具`生成: ```bash java -cp druid-services.jar org.apache.druid.security.basic.authentication.BCryptPasswordEncoderExample <明文密码> ``` - *本地文件模式*: ```json // 修改conf/druid/basic-security.json { "users": [{ "name": "admin", "password": "$2a$10$加密字符串" }] } ``` ### 三、配置生效 修改后需重启Druid服务,验证命令: ```bash curl -u 用户名:新密码 http://druid-router:8888/status ``` ### 四、补充说明 1. 监控界面密码需在`druid-admin`的`jetty.xml`中单独配置[^4] 2. Kerberos模式下需通过`kadmin`修改Keytab文件[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值