权限策略迁移方案
更新时间:2026-08-25
概述
本文为您介绍ranger权限策略迁移方案,分为3个部分:
- 用户组、用户的迁移
- role 迁移
- 用户组、用户的权限策略迁移
前提条件
- 已获取集群 Master 节点的登录方式(内网 IP、绑定 EIP 或 VNC 控制台登录),SSH 登录方式请参考SSH连接到集群
- 已获取ranger-admin服务部署的节点信息,可以通过集群详情 -> 服务管理 -> RANGER -> 部署拓扑 查看
- 要添加的用户已经是百度云iam用户
1.用户组、用户迁移
使用附件中的工具,可以批量添加用户、用户组
迁移工具见附件
Bash
1使用样例
2./add_user_group.sh \
3 -f /user_group.txt \
4 -b https://bmr.bj.baidubce.com \
5 -c cluster-id \
6 -p 'password' \
7 -k '<AK>' \
8 -s '<SK>'
参数
| 参数 | 必填 | 说明 |
|---|---|---|
-f, --file |
✅ | 关系文件,每行 用户名 用户组(空白分隔,# 为注释) |
-b, --base-url |
✅ | 服务域名,如 https://bmr.bj.baidubce.com |
-c, --cluster-id |
✅ | 集群 ID |
-p, --password |
✅ | 明文密码 |
-k, --access-key |
✅ | AK |
-s, --secret-key |
✅ | SK |
--dry-run |
否 | 只打印请求不执行 |
-h, --help |
否 | 帮助 |
关系文件格式
Plain Text
1# 每行:用户名 用户组(空白分隔,# 为注释,空行忽略)
2alice developers
3bob developers
4carol ops
依赖
| 命令 | 用途 |
|---|---|
curl |
发请求 |
jq |
构造/解析 JSON |
openssl |
密码 AES 加密 |
xxd |
hex 编解码 |
python3 |
生成签名 |
2.role迁移
使用附件中的脚本,role迁移包含两个脚本,分为导入、导出
| 参数 | 含义 | 默认值 |
|---|---|---|
--url <url> |
目标 Ranger Admin 地址 | http://localhost:6080 |
--auth <u:p> |
目标管理员 user:password |
admin:admin |
--in <file> |
输入 JSONL 文件 | roles_full.jsonl |
导出role
Bash
1#从源集群导出role信息
2sh ranger-role-export.sh \
3 --url http://localhost:6080 \
4 --auth admin:admin \
5 --out roles_full.jsonl
导入role
1.SSH 登录bmr集群Master 节点,参考SSH连接到集群
2.把上一步的导出结果上传到节点上,执行导入脚本
Bash
1 #role信息导入目标集群
2 sh ranger-role-import.sh \
3 --url http://localhost:6080 \
4 --auth admin:admin \
5 --in roles_full.jsonl
导入后即可在ranger页面查看role信息
3.权限策略迁移
导出策略
从原集群ranger中导出要迁移的服务策略(以hive为例)

导出的文件格式为json,格式类似 Ranger_Policies_20260821_062940.json
改写文件
如果迁移对象存储的权限策略,需要改写以下两项:
- 导出的json文件中serviceType的值改为bos
Bash
1"rowFilterPolicyItems": [],
2"serviceType": "cos", 改为 bos
3"options": {}
- 导出的json文件中的path参数需要改为带有 / 前缀
Bash
1"path": {
2 "values": [
3 "tmp" 改为"/tmp"
4 ],
导入策略
把上一步导出的结果导入到目标集群ranger

选取上一步导出的文件


附件
迁移工具:
https://bmr-bj-public-read.bj.bcebos.com/bce-bmr/doc/ranger%E8%BF%81%E7%A7%BB%E5%B7%A5%E5%85%B7.zip
评价此篇文章
