1. 添加角色并授权
可以通过如下命令来查看etcd所拥有的角色:
$ ./etcdctl --endpoints http://127.0.0.1:4001 role list
root
我们可以看到,etcd默认有root
这个角色,我们可以通过以下命令查看角色所对应的权限信息:
$ ./etcdctl --endpoints http://127.0.0.1:4001 role get root
Role: root
KV Read:
/*
KV Write:
/*
其实还有个默认的角色guest
,稍后我们再了解关于他的知识。
我们创建个server角色,这个角色的权限是只能对 /server/
下的目录有读写权限:
$ ./etcdctl --endpoints http://127.0.0.1:4001 mkdir /server # 创建目录
$ ./etcdctl --endpoints http://127.0.0.1:4001 role add server # 添加server角色
$ ./etcdctl --endpoints http://127.0.0.1:4001 role get server # 查看角色默认权限
Role: server
KV Read:
KV Write:
$ ./etcdctl --endpoints http://127.0.0.1:4001 role grant --path '/server/*' --readwrite server # 授权,授予server /server/* 的 rw权限
Role server updated
$ ./etcdctl --endpoints http://127.0.0.1:4001 role get server # 角色信息以授权成功
Role: server
KV Read:
/server/*
KV Write:
/serv