http://blog.youkuaiyun.com/weiyuanke/article/details/7774375
keystone用户管理可以通过rest api进行,也可以通过相关的命令行进行。
python-keystone是keystone认证组件的一个客户端,提供了两种使用方式,(1)python编程接口 (2)命令行接口
- # Using token auth env variables
- export SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0/
- export SERVICE_TOKEN=secrete_token
- keystone user-list
- keystone tenant-create --name=demo
- # Using token auth flags
- keystone --token=secrete --endpoint=http://127.0.0.1:35357/v2.0/ user-list
- keystone --token=secrete --endpoint=http://127.0.0.1:35357/v2.0/ tenant-create --name=demo
- # Using user + password + tenant_name env variables
- export OS_USERNAME=admin
- export OS_PASSWORD=secrete
- export OS_TENANT_NAME=admin
- keystone user-list
- keystone tenant-create --name=demo
- # Using user + password + tenant_name flags
- keystone --os_username=admin --os_password=secrete --os_tenant_name=admin user-list
- keystone --os_username=admin --os_password=secrete --os_tenant_name=admin tenant-create --name=demo
1. 添加工程(tenant)
- curl -X POST -d '{"tenant":{"name":"cmdtest", "description":"cmdtest", "enabled":true}}' -H "Content-type:application/json" -H "X-Auth-Token:admin's pass" ipaddr:35357/v2.0/tenants
输出:
- {"tenant": {"enabled": true, "description": "cmdtest", "name": "cmdtest", "id": "c942ad8c5fb74d40aadd2f644f4039c7"}}
2. 添加用户(user)
- curl -X POST -d '{"user":{"name":"cmdtest","email":"cmdtest@163.com", "enabled":true, "password":"cmdtest", "tenantId":"c942ad8c5fb74d40aadd2f644f4039c7"}}' -H "Content-type:application/json" -H "X-Auth-Token:admin's pass" ipaddr:35357/v2.0/users|python -mjson.tool
输出:
- "user": {
- "email": "cmdtest@163.com",
- "enabled": true,
- "id": "fbd484c650af4e3e90215144406fd44f",
- "name": "cmdtest",
- "password": "$6$rounds=40000$f05wTNwwnwQbWW3/$swn2ZE3.FQfajIdlKfuFXTFUacyoJBlb7eIkG6UwP68c/bl/ULT2ORq7iKCvM/DEvUTmvlDPJdM8i1LFxULqN/",
- "tenantId": "c942ad8c5fb74d40aadd2f644f4039c7"
- }