通过API操作Rancher 用户权限

1、查看用户列表

API接口:https:///v3/users

例如:

1
2
3
4
5
6
7
8
9
10
## 环境变量,可从Rancher UI右上角 "API & Keys" 中获取
API=https://<RANCHER_SERVER_URL>/v3
CATTLE_ACCESS_KEY=token-fmtvn
CATTLE_SECRET_KEY=2kd2tlkzm5hnlnj76x26nswn7jpxrjwbd56t9nlxnt5qzd479wkb5l

curl -k -s -u "${CATTLE_ACCESS_KEY}:${CATTLE_SECRET_KEY}" -X GET \
-H 'Content-Type: application/json' -H 'Accept: application/json' \
$API/users/ | jq .data[].id > /tmp/user_id

cat /tmp/user_id

2、为所有用户添加user权限

API接口:https:///v3/globalrolebindings

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## 环境变量
API=https://<RANCHER_SERVER_URL>/v3
CATTLE_ACCESS_KEY=token-fmtvn
CATTLE_SECRET_KEY=2kd2tlkzm5hnlnj76x26nswn7jpxrjwbd56t9nlxnt5qzd479wkb5l


for i in `cat /tmp/user_id`
do
curl -k -s -u "${CATTLE_ACCESS_KEY}:${CATTLE_SECRET_KEY}" \
-X POST \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"globalRoleId":"user" , "name":"", "userId":'$i'}' \
${API}/globalrolebindings
done

3、查看拥有user权限的用户

API接口:https:///v3/globalRoleBindings

例如:

1
2
3
4
5
6
7
8
9
10
## 环境变量
API=https://<RANCHER_SERVER_URL>/v3
CATTLE_ACCESS_KEY=token-fmtvn
CATTLE_SECRET_KEY=2kd2tlkzm5hnlnj76x26nswn7jpxrjwbd56t9nlxnt5qzd479wkb5l


data=`curl -k -s -u "${CATTLE_ACCESS_KEY}:${CATTLE_SECRET_KEY}" -X GET -H 'Accept: application/json' $API/globalRoleBindings/ `
echo $data | jq '[foreach .data[] as $item([[],[]]; if $item.globalRoleId == "user" then $item.name else empty end ) ]' | jq .[] > /tmp/user_tmp

cat /tmp/user_tmp

4、删除拥有user权限的用户

API接口:https:///v3/globalRoleBindings

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 环境变量
API=https://<RANCHER_SERVER_URL>/v3CATTLE_ACCESS_KEY=token-fmtvn
CATTLE_SECRET_KEY=2kd2tlkzm5hnlnj76x26nswn7jpxrjwbd56t9nlxnt5qzd479wkb5l



for i in `cat /tmp/user_tmp`
do
name=`echo $i|awk -F '"' '{print $2}'`
curl -k -s -u "${CATTLE_ACCESS_KEY}:${CATTLE_SECRET_KEY}" \
-X DELETE \
-H 'Accept: application/json' \
"${API}/globalRoleBindings/${name}"
done