You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python驱动创建Astra实例Keyspace时遇权限缺失Unauthorized错误

解决Astra实例创建Keyspace时的Unauthorized权限错误

问题现象

执行CQL创建Keyspace语句时,无论是通过Python驱动还是Astra自带的CQL控制台,都返回如下权限错误:

Unauthorized: Error from server: code=2100 [Unauthorized] message="Missing correct permission on dblp."

原因分析

Astra作为托管Cassandra服务,权限管控严格:

  • 当前使用的客户端ID/Secret对应的角色无创建Keyspace的权限
  • 托管服务通常不允许通过CQL自定义复制策略,需遵循平台配置规则

解决方案

方案1:在Astra控制台手动创建Keyspace(推荐)

  1. 登录Astra Dashboard,进入目标实例
  2. 切换到「Keyspaces」标签页,点击「Create Keyspace」
  3. 输入Keyspace名称dblp,按平台提示完成创建(无需手动设置复制策略,Astra会自动配置)
  4. 修改Python代码,去掉CREATE语句,直接切换到已创建的Keyspace:
    # 移除原CREATE KEYSPACE语句,直接切换到目标Keyspace
    session.set_keyspace("dblp")
    

方案2:为角色赋予创建Keyspace的权限

  1. 登录Astra Dashboard,进入目标实例
  2. 切换到「Access Control」→「Roles」页面
  3. 找到当前客户端ID关联的角色(可在「Connect」标签页查看对应角色)
  4. 编辑角色,添加CREATE KEYSPACE全局权限,或临时赋予superuser权限(仅测试环境使用,生产环境遵循最小权限原则)
  5. 执行CQL语句时适配Astra复制策略要求:
    CREATE KEYSPACE IF NOT EXISTS dblp
    WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': 3};
    

方案3:检查凭证权限范围

确认使用的客户端ID/Secret是具备实例管理权限的凭证,而非仅数据读写权限的受限凭证。可在Astra「Connect」标签页重新生成管理员级别的凭证。

内容的提问来源于stack exchange,提问作者m2h9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:21:42