作者:捕鱼达人2602917825 | 来源:互联网 | 2014-05-27 20:14
参考文档:http://keystone.openstack.org/configuration.htmlhttp://keystone.openstack.org/api_curl_examples.html1、重要概念:AdminToken所有服务共享的一个密钥,如果设置不同,哪些依赖keystone的服务将无法正
参考文档:
http://keystone.openstack.org/configuration.html
http://keystone.openstack.org/api_curl_examples.html
1、重要概念:
Admin Token
所有服务共享的一个密钥,如果设置不同,哪些依赖keystone的服务将无法正常工作。
Tenants
做keystone里,Tenants 是一个高层次的组,表示一组用户。一个tenant 是一个小组,共同拥有
Nova里的虚拟机,或者Swift里的容器。一个tenant可以有一个或者多个用户,用户可以属于一个或者多个tenant,针对每个tenant,用户拥有一个角色(role)。
Tenants are the high level grouping within Keystone that represent
groups of users. A tenant is the grouping that owns virtual
machines within Nova, or containers within Swift. A tenant can have
zero or more users, Users can be associated with more than one
tenant, and each tenant ? user pairing can have a role associated
with it.
认证几个要素:tenants, users, roles
业务端口:5000
管理端口:35357
2、业务API 测试:
获取版本号:
curl http://0.0.0.0:5000/ | python -mjson.tool
curl http://0.0.0.0:5000/v2.0/ | python -mjson.tool
获取api扩展:
curl http://0.0.0.0:5000/v2.0/extensions | python -mjson.tool
用普通用户登录:
curl -X POST -d ‘{“auth”: {“passwordCredentials”:{“username”:
“admin”, “password”: “nova”}}}’ -H “Content-type: application/json”
http://0.0.0.0:5000/v2.0/tokens | python -mjson.tool
查看自己的租户:
curl -H “X-Auth-Token:614be856b02449439b116c0b28e94217″
http://0.0.0.0:5000/v2.0/tenants | python -mjson.tool
3、管理API测试:
获取版本号:
curl http://0.0.0.0:35357/ | python -mjson.tool
curl http://0.0.0.0:35357/v2.0/ | python -mjson.tool
获取api扩展:
curl http://0.0.0.0:35357/v2.0/extensions | python -mjson.tool
用角色 admin 登录:
curl -X POST -d ‘{“auth”: {“tenantId”:
“6a524dbe23dd4e4ab672cd163c85a27d”,
“passwordCredentials”:{“username”: “admin”, “password”: “nova”}}}’
-H “Content-type: application/json”
http://0.0.0.0:35357/v2.0/tokens | python -mjson.tool
校验 token 的有效,并返回token的信息:
curl -H “X-Auth-Token: 32efbc8c22af4ad6a8f03d051dc3413b”
http://0.0.0.0:35357/v2.0/tokens/82c8d77cac0a4fdba83b2191185ddb39
|python -mjson.tool
使用 HEAD校验,如果返回码是 20X, 表示 token 有效:
curl -I -H “X-Auth-Token: 5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/tokens/5a10b008add4435f8473d2b11d3ba8a8
这个api不对:
curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/tokens/5a10b008add4435f8473d2b11d3ba8a8/endpoints
返回租户:
curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/tenants|python -mjson.tool
返回某个租户:
curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/tenants/6a524dbe23dd4e4ab672cd163c85a27d
|python -mjson.tool
返回用户:
curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/users|python -mjson.tool
返回某个用户:
curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/users/3ff8fbca9794436c996d8c6e41427530|python
-mjson.tool
返回某个租户上,用户授予的角色:
curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/tenants/6a524dbe23dd4e4ab672cd163c85a27d/users/3ff8fbca9794436c996d8c6e41427530/roles
|python -mjson.tool
返回某个用户的角色:(出错,没有实现,参见
https://bugs.launchpad.net/keystone/+bug/933565)
curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″
http://0.0.0.0:35357/v2.0/users/3ff8fbca9794436c996d8c6e41427530/roles