使用默认角色的Admin用户执行Aerospike备份时遇错误码81求助
Aerospike备份报错AEROSPIKE_ROLE_VIOLATION的权限解决方案
你遇到的AEROSPIKE_ROLE_VIOLATION报错,核心原因是备份依赖全分区扫描操作,而全局默认角色并未自动覆盖目标命名空间的扫描/数据访问权限,需要补充以下权限:
- 添加命名空间级data-admin角色:这是最直接的方式,该角色包含目标命名空间下所有数据操作权限(含扫描、备份所需权限),执行命令:
asinfo -v "set-config:context=user;id=Admin;add-role=data-admin,namespace=<你的命名空间名称>" - 按需拆分权限:如果不需要全命名空间管理权限,可单独授予
read+scan权限:# 添加读权限 asinfo -v "set-config:context=user;id=Admin;add-role=read,namespace=<你的命名空间名称>" # 添加扫描权限 asinfo -v "set-config:context=user;id=Admin;add-role=scan,namespace=<你的命名空间名称>"
补充说明
Aerospike的全局角色(如默认admin)与命名空间级权限是分离的,即使分配了所有全局默认角色,也需要显式指定针对具体命名空间的权限,才能执行跨4096分区的全量扫描(备份操作的核心步骤)。
验证步骤
- 执行以下命令查看Admin用户的权限配置:
asinfo -v "get-user:id=Admin" - 确认输出中包含目标命名空间对应的
data-admin/read/scan角色后,重新执行备份命令即可。
内容的提问来源于stack exchange,提问作者swathi k
相关产品推荐
相关产品推荐

