/op_keystone

a keystone for distributed architecture

Primary LanguagePython

keystone

API 说明

基础访问

登录

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/login/
    参数名 类型 是否必须 说明
    type str 登录类型:username、phone、email
    password str 密码
    domain str 域名,当 type 为 username 时必须
    username str 用户名,当 type 为 username 时必须
    phone str 手机,当 type 为 phone 时必须
    email str 邮箱,当 type 为 email 时必须
  • 响应

    参数名 类型 说明
    uuid str 用户 uuid
    token str 用户 token,需要存入 HEADER 作为凭证
    name str 用户昵称
    expire_date int token 过期时间戳
    {
        "code": 200,
        "data": {
            "access_token": "f7ba9afdabd83e1fbd23bc582f5276a4",
            "access_expire_date": 1550047811,
            "refresh_token": "f736ec5b6cfc3461b3827747285dc561",
            "refresh_expire_date": 1550055011,
            "uuid": "9c7e8ae8157b11e99fb9fa163ef8d597",
            "domain": "0bfd60f8154d11e981cdfa163ef8d597",
            "name": "xiao帅哥"
        },
        "message": null
    }

返回目录

登出

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/logout/
  • 响应

    {
        "code": 200,
        "data": "user 全局管理员 succeed to logout",
        "message": null
    }

返回目录

刷新 Token

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/refresh/
    参数名 类型 是否必须 说明
    refresh_token str 刷新token
  • 响应

    {
        "code": 200,
        "data": {
            "access_expire_date": 1550048272,
            "refresh_expire_date": 1550055472
        },
        "message": null
    }

返回目录

域管理

查询域

  • 请求

    方法 路由 必须参数 必须凭证
    GET /partition/domains/
    参数名 类型 是否必须 说明
    uuid str 域 uuid
    page int 目标页
    pagesize int 页大小
  • 响应

    {
        "code": 200,
        "data":{
            "total": 2,
            "data":[
                {
                    "name": "junhaiyouxi",
                    "company": "君海游戏",
                    "is_main": false,
                    "enable": true,
                    "comment": "用于管理君海游戏的资源",
                    "uuid": "0bfd60f8154d11e981cdfa163ef8d597",
                    "created_by": "0de251e00fc511e99f9cfa163ef8d597",
                    "created_time": "2019-01-11 11:00:26",
                    "updated_by": "0de251e00fc511e99f9cfa163ef8d597",
                    "updated_time": "2019-01-11 11:07:59",
                    "project_count": 2,
                    "user_count": 2,
                    "group_count": 2,
                    "custom_role_count": 3,
                    "custom_policy_count": 0
                }
            ]
        },
        "message": null
    }

查询单个域响应 json { "code": 200, "data":{ "name": "junhaiyouxi", "company": "君海游戏", "is_main": false, "enable": true, "comment": "用于管理君海游戏的资源", "uuid": "0bfd60f8154d11e981cdfa163ef8d597", "created_by": "0de251e00fc511e99f9cfa163ef8d597", "created_time": "2019-01-11 11:00:26", "updated_by": "0de251e00fc511e99f9cfa163ef8d597", "updated_time": "2019-01-11 11:07:59", "project_count": 2, "user_count": 2, "group_count": 2, "custom_role_count": 3, "custom_policy_count": 0 }, "message": null }

返回目录

添加域

  • 请求

    方法 路由 必须参数 必须凭证
    POST /partition/domains/
    参数名 类型 是否必须 说明
    name str 域名
    company str 公司信息
    enable bool 是否启用
    comment bool 备注
  • 响应

    和查询单个域响应一致

返回目录

修改域

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /partition/domains/
    参数名 类型 是否必须 说明
    uuid str 域 uuid
    name str 域名
    company str 公司信息
    enable bool 是否启用
    comment bool 备注
  • 响应

    和查询单个域响应一致

返回目录

删除域

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /partition/domains/
    参数名 类型 是否必须 说明
    uuid str 域 uuid
  • 响应

     {
            "code": 200,
            "data": "success to delete domain junhaiyouxi"
            "message": null
    }

返回目录

项目管理

查询项目

  • 请求

    方法 路由 必须参数 必须凭证
    GET /partition/projects/
    参数名 类型 是否必须 说明
    uuid str 用户 uuid
    page int 目标页
    pagesize int 页大小
  • 响应

    {
        "code": 200,
        "data":{
            "total": 2,
            "data":[
                {
                    "name": "运维中心",
                    "domain": "0bfd60f8154d11e981cdfa163ef8d597",
                    "description": "啥事都得干",
                    "enable": true,
                    "comment": null,
                    "uuid": "ce9acf96156c11e9bf4cfa163ef8d597",
                    "created_by": "0de251e00fc511e99f9cfa163ef8d597",
                    "created_time": "2019-01-11 14:47:47",
                    "updated_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                    "updated_time": "2019-01-28 14:21:51"
                }
            ]
        },
        "message": null
    }

返回目录

添加项目

  • 请求

    方法 路由 必须参数 必须凭证
    POST /partition/projects/
    参数名 类型 是否必须 说明
    name str 项目名
    description str 描述
    domain str 只有云管理用户有此参数权限
    comment str 备注
    enable bool 是否启用

返回目录

修改项目

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /partition/projects/
    参数名 类型 是否必须 说明
    uuid str 项目 uuid
    name str 项目名
    description str 描述
    domain str 只有云管理用户有此参数权限
    comment str 备注
    enable bool 是否启用

返回目录

删除项目

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /partition/projects/
    参数名 类型 是否必须 说明
    uuid str 项目 uuid

返回目录

用户管理

查询用户

  • 请求

    方法 路由 必须参数 必须凭证
    GET /identity/users/
    参数名 类型 是否必须 说明
    uuid str 用户 uuid
    page int 目标页
    pagesize int 页大小
  • 响应

    {
        "code": 200,
        "data":{
            "total": 2,
            "data":[
                {
                    "email": "zhanghuaming@ijunhai.com",
                    "phone": "15622330312",
                    "username": "zhanghuaming",
                    "domain": "0bfd60f8154d11e981cdfa163ef8d597",
                    "name": "xiao帅哥",
                    "is_main": true,
                    "enable": true,
                    "qq": null,
                    "comment": null,
                    "uuid": "9c7e8ae8157b11e99fb9fa163ef8d597",
                    "created_by": "0de251e00fc511e99f9cfa163ef8d597",
                    "created_time": "2019-01-11 16:33:46",
                    "updated_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                    "updated_time": "2019-01-22 18:36:14",
                    "deleted_by": null,
                    "deleted_time": null,
                    "behavior":{
                        "last_time": "2019-02-12 12:02:16",
                        "last_ip": "125.88.171.112",
                        "last_location": "亚洲 ** 广东 东莞市"
                    }, 
                    "groups_count": 0,
                    "roles_count": 1
                }
            ]
        },
        "message": null
    }

    查询单个用户响应

    {
        "code": 200,
        "data":{
            "email": "zhanghuaming@ijunhai.com",
            "phone": "15622330312",
            ...
        },
        "message": null
    }

返回目录

添加用户

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/users/
    参数名 类型 是否必须 说明
    username str 用户名
    password str 密码
    name str 昵称
    email str 邮箱
    phone str 手机
    domain str 只有云管理用户有此参数权限
    is_main bool 只有云管理用户有此参数权限
    qq str QQ
    comment str 备注
    enable bool 是否启用
  • 响应

    和查询单个用户响应一致

返回目录

修改用户

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /identity/users/
    参数名 类型 是否必须 说明
    uuid str 用户 uuid
    username str 用户名
    name str 昵称
    email str 邮箱
    phone str 手机
    domain str 只有云管理用户有此参数权限
    is_main bool 只有云管理用户有此参数权限
    qq str QQ
    comment str 备注
    enable bool 是否启用
  • 响应

    和查询单个用户响应一致

返回目录

删除用户

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /identity/users/
    参数名 类型 是否必须 说明
    uuid str 用户 uuid
  • 响应

     {
            "code": 200,
            "data": "success to delete user xiao帅哥"
            "message": null
    }

返回目录

查询用户的所属组关联

  • 请求

    方法 路由 必须参数 必须凭证
    GET /identity/users/user_uuid/groups/
  • 响应

    {
        "code": 200,
        "data":{
            "total": 1,
            "data": [
                {
                    "name": "运维开发",
                    "domain": "0bfd60f8154d11e981cdfa163ef8d597",
                    "enable": true,
                    "comment": "吹牛2小时,编程5分钟",
                    "uuid": "8957e5a0158911e9b68ffa163ef8d597",
                    "created_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                    "created_time": "2019-01-11 18:13:27",
                    "updated_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                    "updated_time": "2019-01-11 18:22:19",
                    "users_count": 1,
                    "roles_count": 0
                }
            ]
        },
        "message": null
    }

返回目录

新增用户的所属组关联

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/users/user_uuid/groups/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户组 uuid 的列表
  • 响应

    和查询用户的所属组响应一致

返回目录

设置用户的所属组关联

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /identity/users/user_uuid/groups/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户组 uuid 的列表
  • 响应

    和查询用户的所属组响应一致

返回目录

删除用户的所属组关联

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /identity/users/user_uuid/groups/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户组 uuid 的列表
  • 响应

    和查询用户的所属组响应一致

返回目录

查询用户的引用角色关联

  • 请求

    方法 路由 必须参数 必须凭证
    GET /identity/users/user_uuid/roles/
  • 响应

    {
        "code": 200,
        "data":[
            {
                "name": "DoaminAdminstrator",
                "domain": "0bfd60f8154d11e981cdfa163ef8d597",
                "builtin": false,
                "enable": true,
                "comment": null,
                "uuid": "fa11c96c22c911e9b881fa163ef8d597",
                "created_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                "created_time": "2019-01-28 14:57:29",
                "updated_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                "updated_time": "2019-01-28 14:58:54"
            }
        ],
        "message": null
    }

返回目录

添加用户的引用角色关联

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/users/user_uuid/roles/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户组 uuid 的列表
  • 响应

    和查询用户的所属组响应一致

返回目录

设置用户的引用角色关联

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /identity/users/user_uuid/roles/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户组 uuid 的列表
  • 响应

    和查询用户的所属组响应一致

返回目录

删除用户的引用角色关联

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /identity/users/user_uuid/roles/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户组 uuid 的列表
  • 响应

    和查询用户的所属组响应一致

返回目录

用户组管理

查询用户组

  • 请求

    方法 路由 必须参数 必须凭证
    GET /identity/groups/
    参数名 类型 是否必须 说明
    uuid str 用户 uuid
    page int 目标页
    pagesize int 页大小
  • 响应

    {
    "code": 200,
    "data":{
        "total": 2,
        "data":[
            {
                "name": "运维开发",
                "domain": "0bfd60f8154d11e981cdfa163ef8d597",
                "enable": true,
                "comment": "吹牛2小时,编程5分钟",
                "uuid": "8957e5a0158911e9b68ffa163ef8d597",
                "created_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                "created_time": "2019-01-11 18:13:27",
                "updated_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                "updated_time": "2019-01-11 18:22:19",
                "users_count": 0,
                "roles_count": 0
            }
        ]
    },
    "message": null
    }

    查询单个组响应

     {
        "code": 200,
        "data": {
            "name": "运维开发",
            "domain": "0bfd60f8154d11e981cdfa163ef8d597",
            ...
        }
    
        "message": null
    }

返回目录

添加用户组

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/groups/
    参数名 类型 是否必须 说明
    name str 组名
    comment str 备注
    enable bool 是否启用
    domain str 只有云管理用户有此参数权限
  • 响应

    和查询单个组响应一致

返回目录

修改用户组

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /identity/groups/
    参数名 类型 是否必须 说明
    uuid str 组 uuid
    name str 组名
    comment str 备注
    enable bool 是否启用
    domain str 只有云管理用户有此参数权限
  • 响应

    和查询单个组响应一致

返回目录

删除用户组

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /identity/groups/
    参数名 类型 是否必须 说明
    uuid str 组 uuid
  • 响应

     {
            "code": 200,
            "data": "success to delete group 运维开发"
            "message": null
    }

返回目录

查询组的所含用户关联

  • 请求

    方法 路由 必须参数 必须凭证
    GET /identity/groups/group_uuid/users/
  • 响应

        {
        "code": 200,
        "data":{
            "total": 2,
            "data": [
                {
                    "email": "zhanghuaming@ijunhai.com",
                    "phone": "15622330312",
                    "username": "zhanghuaming",
                    ...
                },
                {
                    "email": "yunwei@ijunhai.com",
                    "phone": "15622330312",
                    "username": "admin",
                    ...
                }
            ]
        },
        "message": null
    }

返回目录

添加组的所含用户关联

  • 请求

    方法 路由 必须参数 必须凭证
    POST /identity/groups/group_uuid/users/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户 uuid 的列表
  • 响应

    和查询组的所含用户关联响应一致

返回目录

设置组的所含用户关联

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /identity/groups/group_uuid/users/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户 uuid 的列表
  • 响应

    和查询组的所含用户关联响应一致

返回目录

删除组的所含用户关联

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /identity/groups/group_uuid/users/
    参数名 类型 是否必须 说明
    uuid_list list 包含用户 uuid 的列表
  • 响应

    和查询组的所含用户关联响应一致

返回目录

角色管理

查询角色

  • 请求

    方法 路由 必须参数 必须凭证
    GET /assignment/roles/
    参数名 类型 是否必须 说明
    uuid str 用户 uuid
    page int 目标页
    pagesize int 页大小
  • 响应

    {
        "code": 200,
        "data":{
            "total": 4,
            "data":[
                {
                    "name": "Administrator",
                    "domain": "ccb09c100f4011e99a87fa163ef8d597",
                    "builtin": true,
                    "enable": true,
                    "comment": null,
                    "uuid": "ea9138d62dc511e9a5abfa163ef8d597",
                    "created_by": "0de251e00fc511e99f9cfa163ef8d597",
                    "created_time": "2019-02-11 14:26:07",
                    "updated_by": null,
                    "updated_time": "2019-02-11 14:26:07"
                }
            ]
        },
        "message": null
    }

返回目录

添加角色

  • 请求

    方法 路由 必须参数 必须凭证
    POST /assignment/roles/
    参数名 类型 是否必须 说明
    name str 角色名
    domain str 只有云管理用户有此参数权限
    builtin bool 是否为内置,只有云管理用户有此参数权限
    comment str 备注
    enable bool 是否启用

返回目录

修改角色

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /assignment/roles/
    参数名 类型 是否必须 说明
    uuid str 角色 uuid
    name str 角色名
    domain str 只有云管理用户有此参数权限
    builtin bool 是否为系统内置,只有云管理用户有此参数权限
    comment str 备注
    enable bool 是否启用

返回目录

删除角色

  • 请求

    方法 路由 必须参数 必须凭证
    DETELE /assignment/roles/
    参数名 类型 是否必须 说明
    uuid str 角色 uuid

返回目录

策略管理

查询策略

  • 请求

    方法 路由 必须参数 必须凭证
    GET /assignment/policies/
    参数名 类型 是否必须 说明
    uuid str 策略 uuid
    page int 目标页
    pagesize int 页大小
  • 响应

    {
        "code": 200,
        "data":{
            "total": 3,
            "data":[
                {
                    "name": "ManageUser",
                    "domain": "ccb09c100f4011e99a87fa163ef8d597",
                    "service": "3ac33b5a250711e98c76fa163ef8d597",
                    "view": "identity.views.user.UsersView",
                    "method": "*",
                    "request_params":[
                        {"page": "1", "pagesize": "1"}
                    ],
                    "view_params":[
                        {}
                    ],
                    "effect": "allow",
                    "builtin": true,
                    "enable": true,
                    "comment": null,
                    "uuid": "0bb16dd823b211e9b639fa163ef8d597",
                    "created_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                    "created_time": "2019-01-29 18:38:41",
                    "updated_by": "0de251e00fc511e99f9cfa163ef8d597",
                    "updated_time": "2019-01-31 11:24:09"
                }
            ]
        },
        "message": null
    }

返回目录

添加策略

  • 请求

    方法 路由 必须参数 必须凭证
    POST /assignment/policies/
    参数名 类型 是否必须 说明
    name str 策略名
    service str 策略 uuid
    view str 视图类
    method str 方法
    request_params list 包含请求参数字典的列表
    view_params list 包含视图参数字典的列表
    effect str 效力
    domain str 只有云管理用户有此参数权限
    builtin bool 是否为内置,只有云管理用户有此参数权限
    comment str 备注
    enable bool 是否启用

返回目录

修改策略

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /assignment/policies/
    参数名 类型 是否必须 说明
    uuid str 策略 uuid
    name str 策略名
    service str 服务 uuid
    view str 视图类
    method str 方法
    request_params list 包含请求参数字典的列表
    view_params list 包含视图参数字典的列表
    effect str 效力
    domain str 只有云管理用户有此参数权限
    builtin bool 是否为内置,只有云管理用户有此参数权限
    comment str 备注
    enable bool 是否启用

返回目录

删除策略

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /assignment/policies/
    参数名 类型 是否必须 说明
    uuid str 策略 uuid

返回目录

服务管理

查询服务

  • 请求

    方法 路由 必须参数 必须凭证
    GET /catalog/services/
    参数名 类型 是否必须 说明
    uuid str 服务 uuid
    page int 目标页
    pagesize int 页大小
  • 响应

    {
        "code": 200,
        "data":{
            "total": 3,
            "data":[
                {
                    "name": "cmdb",
                    "function": "提供资产管理",
                    "enable": true,
                    "comment": null,
                    "uuid": "0b4d4440197911e99b13fa163ef8d597",
                    "created_by": "9c7e8ae8157b11e99fb9fa163ef8d597",
                    "created_time": "2019-01-16 18:25:28",
                    "updated_by": "0de251e00fc511e99f9cfa163ef8d597",
                    "updated_time": "2019-02-11 19:05:26",
                    "endpoint_count": 0
                }
            ]
        },
        "message": null
    }

返回目录

添加服务

  • 请求

    方法 路由 必须参数 必须凭证
    POST /catalog/services/
    参数名 类型 是否必须 说明
    name str 服务名
    function str 功能
    comment str 备注
    enable bool 是否启用

返回目录

修改服务

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /catalog/services/
    参数名 类型 是否必须 说明
    uuid str 服务 uuid
    name str 服务名
    function str 功能
    comment str 备注
    enable bool 是否启用

返回目录

删除服务

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /catalog/services/
    参数名 类型 是否必须 说明
    uuid str 服务 uuid

返回目录

端点管理

查询端点

  • 请求

    方法 路由 必须参数 必须凭证
    GET /catalog/endpoints/
    参数名 类型 是否必须 说明
    uuid str 端点 uuid
    page int 目标页
    pagesize int 页大小

返回目录

添加端点

  • 请求

    方法 路由 必须参数 必须凭证
    POST /catalog/endpoints/
    参数名 类型 是否必须 说明
    service str 服务 uuid
    ip str ip 地址
    port str 端口
    comment str 备注
    enable bool 是否启用

返回目录

修改端点

  • 请求

    方法 路由 必须参数 必须凭证
    PUT /catalog/endpoints/
    参数名 类型 是否必须 说明
    uuid str 端点 uuid
    service str 服务 uuid
    ip str ip 地址
    port str 端口
    comment str 备注
    enable bool 是否启用

返回目录

删除端点

  • 请求

    方法 路由 必须参数 必须凭证
    DELETE /catalog/endpoints/
    参数名 类型 是否必须 说明
    uuid str 端点 uuid

返回目录