API扩展
身份API使用扩展实现核心OpenStack关键键API所缺某些功能华体会联盟hth扩展允许服务提供商像Rackspace在API中引入新特征而不修改合同版本,并增加自定义功能实施OpenStack架构
服务提供商都可依据服务需求向核心API添加扩展
每一扩展有2个独有标识符:命名空间和别名标识符将每个扩展点与开发扩展点的供应商相联标识符还作为扩展内定义的数据类型、参数、动作、页眉、状态和资源标签
参考API请求和响应扩展功能时,这些标签允许您使用多个扩展实体扩展资源可用性只要提供扩展命名空间或别名,扩展由API服务支持
华体会联盟hth身份服务支持下文OpenStack和Rackspace扩展
OpenStackKSADM.支持创建、阅读、更新和删除作业为下列资源类型:用户、租户、角色和服务需要管理员权限
- Alias:OS-KSADM
- 命名空间 :
xmlns:os-ksadm="http://docs.openstack.org/identity/api/ext/OS-KSADM/v1.0"
OpenStackKstalogo管理员.CRUD操作端点模板和端点需要服务管理员特权
- Alias:OS-KSATALOG
- 命名空间 :
xmlns:OS-KSCATALOG="http://docs.openstack.org/identity/api/ext/OS-KSCATALOG/v1.0"
OpenStackKSEC2.添加能力支持EC2(Amazon弹性计算)样式认证
- OS-KSEC2
- 命名空间 :
xmlns:os-ksec2="http://docs.openstack.org/identity/api/ext/OS-KSEC2/v1.0">
华体会联盟hthRackspaceAPI密钥验证服务.添加API密钥证书元素支持API验证用户资源
- aas:RAX-KSKEY
- 命名空间 :
华体会联盟hthxmlns:rax-kskey="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
华体会联盟hthackspace键盘群管理.添加对CRUD操作提供Group资源的行政支持
- Alias:RAX-GRPADM
- 命名空间 :
华体会联盟hthxmlns ="http://docs.rackspace.com/identity/api/ext/RAX-GRPADM/v1.0"
华体会联盟hthackspace键盘群.启动用户资源分组列表
- Alias:RAX-KSGRP
- 命名空间 :
华体会联盟hthxmlns:ns4="http://docs.rackspace.com/identity/api/ext/RAX-KSGRP/v1.0"
华体会联盟hthackspace关键字扩展.华体会联盟hthackspace实现增加或扩展支持以下资源: Tokens用户多因子认证、域名化、人名化、Federation、Respective、Secription问答管理
- Alas:RAX-AUTH
- 命名空间 :
华体会联盟hthxmlns:rax-auth="http://docs.rackspace.com/identity/api/ext/RAX-AUTH/v1.0"
华体会联盟hthackspace密钥问答.CRUD操作支持用户资源秘密问答
- Alas:RAX-KSQA
- 命名空间 :
华体会联盟hthxmlns:rax-ksqa="http://docs.rackspace.com/identity/api/ext/RAX-KSQA/v1.0"
可使用扩展API运维查看并管理身份API可用扩展,如下节所示:
扩展响应和动作
扩展定义新数据类型、参数、动作、页眉、状态和资源加入核心 OpenStackAPI
重要点
应用开发期间,确保编码案例应用忽略包含扩展元素的响应数据如果应用程序不支持扩展名,则所有状态信息都作为状态处理UNKNOWN
.申请提交延期请求前还必须检查扩展值是否可用使用列表扩展操作查找应用环境中哪些扩展可用
JSON请求响应扩展
JSON使用别名引用扩展资源和属性Get用户管理员API请求中,你可以看到用别名引用RAX-AUTH扩展提供用户属性
例3.38.扩展动作:cURL请求
ser/ser_ID/raX-AUTH/admins\-H
API响应显示扩展提供的任何元素和属性别名下例中,对获取用户管理员请求响应返回下列扩展属性,这些属性得到RAX-AUTH扩展支持:默认区域
,域标识
并multiFactorEnabled
.
示例:扩展服务器HTTP和JSON响应
HTTP/1.1 200 OK Server: nginx Date: Wed, 10 Aug 2016 20:31:21 GMT Content-Type: application/json Content-Length: 225 Connection: keep-alive Vary: Accept, Accept-Encoding, X-Auth-Token X-NewRelic-App-Data: PxQCWVFVDwQTVVRTBAQAUlATGhE1AwE2QgNWEVlbQFtcC2VOYwRAFjNTVTIDEU5aUwE9TUJCUhQXbRlIFxUGEHkGRT4XanVqHiRsNXk9HAMAW14PFUMQdHUwSEAbARlWSAEYAlRUVloAWg5OFQkYEABWClAGWFFRU1RUWF8FWlISSAcDW0JSOw== x-trans-id: eyJyZXF1ZXN0SWQiOiI1N2FmZDI4Zi0zNzViLTQ5MzYtYmI5ZS0yMDUxMGJmNTA0YzYiLCJvcmlnaW4iOm51bGx9 Front-End-Https: on
{用户:{{{{{RAX-AUTH/DomeId}}:123456,RAX-AUTH/多因子[email protected]ib3b644b9a0d9643234
扩展信头总前缀X-
后加别名和破折号X-AUTH-TOKEN
)需要前缀状态和参数扩展别名后加冒号举例说,用户可插入RAX-AUTH:multiFactorEnabled
状态
XML请求和响应扩展
在 XML中,附加元素和属性定义在命名空间扩展要使用API请求中的这些元素和属性,请按此示例显示API请求中的命名空间
示例:扩展动作:cURL请求
ser/ser_ID/raX-AUTH/admins.xml-H
API响应包括核心API命名空间和API服务可用扩展资源
实例:扩展特征服务HTTP和XML响应
[email protected]用户名表示'maeker123'id='10d2c2d0f3b64b9a0d9fe80669e4'
更新 30天前