Stargate查询DataStax Enterprise数据报authentication_schemes错误如何解决
问题根因
该报错并非账号权限不足导致,是Stargate新版本的权限校验逻辑与DataStax Cassandra (DSE) 6.8的权限体系不兼容引发的:Stargate默认适配开源Cassandra 4.x+的权限资源定义,其中包含authentication_schemes/INTERNAL资源类型,而DSE 6.8的权限体系没有该资源定义,发起查询时权限校验触发异常。
解决方案
按优先级尝试以下操作即可:
- 方案1:修改Stargate启动配置,关闭多余权限校验
给Stargate添加以下启动环境变量后重启服务:
容器部署可直接在docker run命令或docker-compose.yaml中添加环境变量;二进制部署可修改启动脚本的# 关闭Stargate层的权限校验,直接使用Cassandra原生权限控制 STARGATE_AUTHORIZATION_ENABLED=false # 配置Cassandra侧授权器为允许所有,由DSE自身做权限校验 STARGATE_CASSANDRA_AUTHORIZER=org.apache.cassandra.auth.AllowAllAuthorizerJAVA_OPTS参数追加对应配置。 - 方案2:降级Stargate版本
最新版Stargate已停止对DSE 6.8的官方支持,若方案1无效可将Stargate降级到1.0.x系列版本,该版本为官方明确兼容DSE 6.8的版本。 - 额外校验:重启Stargate后重新获取
auth_token,请求头中X-Cassandra-Token直接填写token值即可,不要额外添加Bearer等前缀。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

