OpenStack Keysone Note

概念

User

拥有用户名, 密码, 邮箱等帐号信息的自然人.

代表可以通过 keystone 进行访问的人或程序, 比如 nova 用户访问 glance 服务. Users 通过认证信息进行验证

$ keystone user-create --name=alice --pass=mypassword123 --mail=alice@example.com

Tenant

是一个项目, 团队或组织. 必须指定一个相应的租户(tenant)才可以申请 OpenStack

是一个容器, 用于组织和隔离资源, 或标识对象, 依赖于服务操作, 比如在 Nova 中一个 tenant 可以是一些机器.

$ keystone tenant-create --name=acme

Role

一个角色代表用户在一个给定的租户能被允许执行的操作, 可以理解租户为那些使用 你云环境的客户, 这些客户可以是一个项目组, 工作组, 公司, 这些客户中会建立不 同的帐号(用户)及其对应的权限(角色).

Service

服务, 如 Nova, Glance, Swift. 一个服务可以确认当前用户是否具有访问其 资源的权限. 服务通过可能获取资源或执行操作的用户提供给一个或多个末端

Endpoint

代表了 OpenStack 服务的 API 接口

test

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”: “hastexo”}}}’ -H “Content-type: application/json” http://0.0.0.0:5000/v2.0/tokens | python -mjson.tool

查看自己的租户 curl -H “X-Auth-Token:7cda7d62d7b84831bbb9ba1ef43efc62” 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”: “0ca7f3c6ddee4a1f97f20f4301162cc0”, “passwordCredentials”:{“username”: “admin”, “password”: “hastexo”}}}’ -H “Content-type: application/json” http://0.0.0.0:35357/v2.0/tokens | python -mjson.tool

校验 token 的有效,并返回token的信息: curl -H “X-Auth-Token: 83c9a7a01c274e7da0e97d3aac548ca3” http://0.0.0.0:35357/v2.0/tokens/83c9a7a01c274e7da0e97d3aac548ca3 |python -mjson.tool

使用 HEAD校验,如果返回码是 20X, 表示 token 有效: curl -I -H “X-Auth-Token: 83c9a7a01c274e7da0e97d3aac548ca3” http://0.0.0.0:35357/v2.0/tokens/83c9a7a01c274e7da0e97d3aac548ca3

这个api不对: curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″ http://0.0.0.0:35357/v2.0/tokens/5a10b008add4435f8473d2b11d3ba8a8/endpoints

返回租户: curl -H “X-Auth-Token:83c9a7a01c274e7da0e97d3aac548ca3” http://0.0.0.0:35357/v2.0/tenants%7Cpython -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%7Cpython -mjson.tool

返回某个用户: curl -H “X-Auth-Token:5a10b008add4435f8473d2b11d3ba8a8″ http://0.0.0.0:35357/v2.0/users/3ff8fbca9794436c996d8c6e41427530%7Cpython -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

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦