恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

ScyllaDB LDAP 认证配置指南:基于 SaslauthdAuthenticator 接入 LDAP 服务器

  • 首页
  • 资讯中心
  • /
  • ScyllaDB LDAP 认证配置指南:基于 SaslauthdAuthenticator 接入 LDAP 服务器

相关资讯

锐捷-GZ073 网络系统管理赛项赛题第3套A模块-S3配置 2026/9/15 10:50:33
锐捷-GZ073 网络系统管理赛项赛题第3套A模块-S5配置 2026/9/15 10:50:33
DINOv3 实战:零样本语义分割与预训练特征加载完整教程 2026/9/15 10:50:33

最新资讯

gpui-kit Avatar 头像组件实战指南:图片回退、OkLCH 自动配色与 AvatarGroup 分组
​地球物理大地测量学计算系列之十八多源异质数据SRBF重力场全要素建模
oauth2-proxy TLS 配置实战:代理自身终止 SSL 与反向代理终止 SSL 两种架构详解
渗透视角下的TCP-IP四层模型:从协议栈到攻击路径的实战解读
npm深入解析:从安装机制到发布排查的完整指南
CocoIndex 目标连接器输入安全实战:标识符校验、参数化查询与值转义

今日推荐

GDPR下大数据架构重构与隐私保护实践
多组学数据平台架构设计与优化实践
企业主数据管理系统架构设计与实施全解析

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

ScyllaDB LDAP 认证配置指南:基于 SaslauthdAuthenticator 接入 LDAP 服务器

发布时间:2026/9/15 10:55:33
ScyllaDB LDAP 认证配置指南:基于 SaslauthdAuthenticator 接入 LDAP 服务器 ScyllaDB LDAP 认证配置指南基于 SaslauthdAuthenticator 接入 LDAP 服务器【免费下载链接】scylladbNoSQL data store using the Seastar framework, compatible with Apache Cassandra and Amazon DynamoDB项目地址: https://gitcode.com/GitHub_Trending/sc/scylladb本指南讲解如何在 ScyllaDB 中启用基于 LDAP 服务器的用户认证通过配置系统级saslauthd守护进程对接 LDAP并切换 ScyllaDB 的内置SaslauthdAuthenticator认证器使所有客户端登录凭据交由 LDAP 校验。读完本文你将掌握 saslauthd 的 LDAP 机制配置、mux 套接字定位、scylla.yaml 认证项调整、连通性自测与排错方法并理解该认证链路在 ScyllaDB 源码中的实现细节。一、认证架构ScyllaDB 如何把登录交给 LDAPScyllaDB 默认使用PasswordAuthenticator在数据库内部完成认证用户名与密码以角色形式保存在system_auth中详见 authentication.rst。而当企业希望复用已有的 LDAP 目录服务时ScyllaDB 提供了第二种路径认证外包给第三方工具 saslauthd再由 saslauthd 对接 LDAP。整个链路如下CQL 客户端 │ 用户名 密码 ▼ ScyllaDBSaslauthdAuthenticator │ 通过 Unix domain socketmux ▼ saslauthd认证代理守护进程 │ MECHldap ▼ LDAP 服务器校验凭据ScyllaDB 通过自定义认证器SaslauthdAuthenticator完成这件事。从源码 auth/saslauthd_authenticator.hh 可以看到它的职责描述当被要求认证时把凭据交给 saslauthd根据其响应决定允许或拒绝登录。该认证器内部只保存一个_socket_path即 saslauthd 监听的 Unix 域套接字路径。配置完成后任何对 ScyllaDB 的登录都会由SaslauthdAuthenticator处理其 Java 限定名为com.scylladb.auth.SaslauthdAuthenticator见 auth/saslauthd_authenticator.cc。二、前置准备安装并启用 saslauthd在配置 LDAP 之前必须先安装 saslauthd。完整的通用安装流程见 saslauthd.rst核心步骤如下安装 saslauthd 软件包按发行版选择rpm 系发行版使用cyrus-sasl包deb 系发行版使用sasl2-bin包启用服务systemctl enable saslauthd.service选择认证机制并设置机制相关的参数例如 LDAP 或 PAM具体可参考 saslauthd 的官方文档。每次修改配置后重启服务systemctl restart saslauthd.service三、把 LDAP 设置为 saslauthd 的认证机制saslauthd 本身支持多种认证机制为了让 ScyllaDB 的登录请求通过它流向 LDAP必须把 LDAP 列为 saslauthd 的认证机制。按发行版不同配置位置有别rpm 系发行版编辑/etc/sysconfig/saslauthd添加MECHldapdeb 系发行版编辑/etc/default/saslauthd添加MECHANISMSldap四、配置 /etc/saslauthd.conf 连接 LDAP仅声明机制还不够还需要编辑/etc/saslauthd.conf为你的 LDAP 服务器提供充分的参数值。典型的配置项包括参数作用示例值ldap_serversLDAP 服务器地址URI 格式多个用空格分隔ldap://ldap.example.com:389ldap_search_base搜索用户的基准 DNouPeople,dcexample,dccomldap_filter定位用户的 LDAP 过滤器模板%u会被替换为登录用户名(uid%u)ldap_bind_dnsaslauthd 执行 bind 操作使用的 DNcnadmin,dcexample,dccomldap_passwordbind 密码secretldap_starttls是否启用 STARTTLSyesldap_timeout操作超时秒10说明不同发行版/版本的 cyrus-sasl 包对/etc/saslauthd.conf参数名可能略有差异请以本机安装版本为准。配置完成后必须重启 saslauthd 服务使其生效。五、验证 saslauthd 到 LDAP 的连通性在把 ScyllaDB 接进来之前先用testsaslauthd命令独立验证 saslauthd 的 LDAP 认证是否工作正常testsaslauthd -u ldap用户名 -p 密码如果看到成功消息说明 saslauthd 已经能正确通过 LDAP 校验凭据如果失败请先确认用户名和密码正确然后查看 saslauthd 日志定位问题——可以执行dmesg -H查找LOG_AUTH相关的输出。六、定位 mux 套接字Unix domain socketSaslauthdAuthenticator通过 saslauthd 的 mux 文件即 saslauthd 对外提供服务的 Unix 域套接字与 saslauthd 通信因此必须找到它的完整路径rpm 系发行版通常是/run/saslauthd/muxdeb 系发行版通常是/var/run/sasl2/mux七、配置 ScyllaDB 使用 SaslauthdAuthenticator确认 saslauthd 已正确配置并运行后修改 ScyllaDB 的配置文件/etc/scylla/scylla.yaml仓库内的默认模板见 conf/scylla.yaml修改以下两个条目authenticator: com.scylladb.auth.SaslauthdAuthenticator saslauthd_socket_path: /run/saslauthd/mux其中authenticator必须设置为com.scylladb.auth.SaslauthdAuthenticator这是源码 auth/saslauthd_authenticator.cc 中qualified_java_name()返回的限定名saslauthd_socket_path填上一步定位到的 mux 文件路径它对应认证器构造时从配置读取的_socket_path见 auth/saslauthd_authenticator.cc。注意仓库模板中注释给出的示例默认值是/var/state/saslauthd/mux实际请以你发行版上 mux 的真实路径为准路径错误会导致认证全部失败。修改完成后重启 ScyllaDB 服务器。从此以后ScyllaDB 的所有登录尝试都会通过 saslauthd 进行认证。八、在 ScyllaDB 中创建与 LDAP 对应的角色认证成功后用户还需要具备可用的 ScyllaDB 角色。请创建与 LDAP 服务器中同名的 ScyllaDB 角色角色创建语法参考 CQL 参考文档中的安全部分完整的基于角色的访问控制RBAC示例见 rbac-usecase.rst。由于SaslauthdAuthenticator只负责验证凭据角色本身仍由 ScyllaDB 的 role manager 管理。值得一提的是从源码 auth/saslauthd_authenticator.cc 可以看出该认证器的create/alter操作会直接抛出Cannot create passwords with SaslauthdAuthenticator异常——密码不在 ScyllaDB 中保存而由 LDAP 全权负责。九、认证过程源码解析从实现层面看auth/saslauthd_authenticator.cc 的authenticate()方法做了以下几件事从凭据字典中强制提取USERNAME_KEY与PASSWORD_KEY缺失即抛出认证异常可选地提取SERVICE_KEY与REALM_KEY缺省为空字符串调用authenticate_with_saslauthd()将username、password、service、realm四元组即 auth/saslauthd_authenticator.hh 中的saslauthd_credentials打包后写入 Unix 域套接字读取 saslauthd 的应答若应答前两个字节为OK则认证通过否则抛出Incorrect credentials。协议细节方面每个字段前都有 2 字节的网络序长度前缀pack函数使用produce_be写入大端长度应答也采用“2 字节长度 负载”的格式源码注释引用了 cyrus-sasl 的saslauthd-main.c协议说明。另外认证器在start()时会检查套接字文件是否存在不存在则记录警告日志saslauthd socket file ... doesnt exist见 auth/saslauthd_authenticator.cc这是排查“全部登录失败”时很有用的第一个线索。十、进阶LDAP 角色管理LDAP Authorization如果不仅要认证还要让 LDAP 目录直接管理用户在 ScyllaDB 中的角色可以进一步参考 ldap-authorization.rst将role_manager设置为com.scylladb.auth.LDAPRoleManager并通过ldap_url_template、ldap_attr_role、ldap_bind_dn、ldap_bind_passwd等参数定义查询模板。这两项能力配置项同属 auth/config.hh 中的认证配置结构认证与授权可以配合使用形成“LDAP 校验身份 LDAP 下发角色”的完整方案。排错建议启用 LDAP 角色管理器的调试日志给 ScyllaDB 可执行文件传参--logger-log-level ldap_role_managerdebug可看到 ScyllaDB 收到的 LDAP 响应详情先用ldapsearch手工验证查询模板能对一个用户返回正确的角色条目再用ldapurl把参数转换成 URL 作为ldap_url_template的基线注意ldapsearch与ldapurl的-s默认值不同建议显式指定若ldapsearch正常而 ScyllaDB 查不到结果先核对 URL 模板中的主机与端口是否指向同一台 LDAP 服务器再对比两边 LDAP 日志中的查询差异。十一、总结通过 saslauthd 对接 LDAP 是 ScyllaDB 在企业目录服务场景下的标准认证方案配置链路清晰安装并启用 saslauthd → 声明MECHldap→ 编写/etc/saslauthd.conf→ 用testsaslauthd自测 → 在 scylla.yaml 中启用com.scylladb.auth.SaslauthdAuthenticator并指向 mux 套接字 → 重启 ScyllaDB → 创建同名角色。配合 LDAP 角色管理器还可以进一步把角色的授予也统一收归 LDAP 目录管理。仓库中对应的测试如 test/ldap/ldap_connection_test.cc 与 test/pylib/ldap_server.py可帮助你进一步验证该链路的正确性。【免费下载链接】scylladbNoSQL data store using the Seastar framework, compatible with Apache Cassandra and Amazon DynamoDB项目地址: https://gitcode.com/GitHub_Trending/sc/scylladb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号