Files
cloudpods/docs/schemas/auth.yaml
T

345 lines
7.4 KiB
YAML

AuthContext:
type: object
properties:
source:
type: string
description: 认证来源,可能值为web, api, cli, srv
ip:
type: string
description: 认证发起的IP地址
Auth2Input:
type: object
properties:
password_credentials:
type: object
description: 采用用户名/密码认证时,用来认证的密码认证信息
properties:
username:
type: string
description: 用户名
password:
type: string
description: 密码
tenant_name:
type: string
description: 项目名称
tenant_id:
type: string
description: 项目ID
token:
type: object
description: 采用token认证时,用来认证的token信息
properties:
id:
type: string
description: token
context:
type: object
$ref: '#/AuthContext'
Auth2Response:
type: object
properties:
access:
type: object
$ref: '#/Token2'
Token2:
type: object
properties:
token:
type: object
description: token信息
properties:
id:
type: string
description: token字符串
expires:
type: string
format: date-time
description: token到期时间
tenant:
type: object
description: token所属的项目信息
$ref: '#/TenantV2'
service_catalog:
type: array
description: 服务目录
items:
$ref: '#/ServiceV2'
user:
type: object
description: token关联的用户信息
properties:
id:
type: string
description: 用户ID
name:
type: string
description: 用户名称
username:
type: string
description: 用户的显示名称
roles:
type: array
items:
type: object
description: 用户角色
properties:
name:
type: string
description: 用户角色名称
tenants:
type: array
items:
$ref: '#/TenantV2'
metadata:
type: object
properties:
is_admin:
type: integer
description: 是否为管理员
roles:
type: array
description: 角色名称列表
items:
type: string
description: 角色名称
context:
type: object
$ref: '#/AuthContext'
TenantV2:
type: object
description: keystone v2项目信息
properties:
id:
type: string
description: 项目ID
name:
type: string
description: 项目名称
enabled:
type: boolean
description: 项目是否启用
description:
type: string
description: 项目描述
domain:
type: object
$ref: "./roleassignments.yaml#/Domain"
ServiceV2:
type: object
description: keystone v2服务信息
properties:
name:
type: string
description: 服务名称
type:
type: string
description: 服务类型
endpoints:
type: array
description: 接入点列表
items:
type: object
$ref: '#/EndpointV2'
EndpointV2:
type: object
description: keystone v2接入点信息
properties:
id:
type: string
description: 接入点ID
region:
type: string
description: 区域ID
internal_url:
type: string
description: internal url
public_url:
type: string
description: public url
admin_url:
type: string
description: admin url
Auth3Input:
type: object
description: keystone v3认证请求
properties:
identity:
type: object
description: 认证信息
$ref: '#/AuthIdentity3'
scope:
type: object
description: 认证scope
$ref: './roleassignments.yaml#/Scope'
context:
type: object
$ref: '#/AuthContext'
AuthIdentity3:
type: object
description: keystone v3认证鉴权信息
properties:
methods:
type: array
description: 认证方式列表
items:
type: string
description: 认证方式, 可能值为password, token
password:
type: object
description: 密码认证信息
properties:
id:
type: string
description: 用户ID
name:
type: string
description: 用户名称
password:
type: string
description: 密码
domain:
type: object
$ref: "./roleassignments.yaml#/Domain"
token:
type: object
description: token认证信息
properties:
id:
type: string
description: tokenID
Auth3Response:
type: object
description: keystone v3认证响应
properties:
token:
type: object
$ref: '#/TokenV3'
TokenV3:
type: object
description: keystone v3 token
properties:
audit_ids:
type: array
items:
type: string
description: AuditIds
expires_at:
type: string
format: date-time
description: token过期时间
is_domain:
type: boolean
description: 是否为domain的token
issued_at:
type: string
format: date-time
description: token发放时间
methods:
type: array
items:
type: string
description: 请求的methods
project:
type: object
$ref: './roleassignments.yaml#/DomainObject'
roles:
type: array
items:
type: object
$ref: './roleassignments.yaml#/DomainObject'
user:
type: object
properties:
id:
type: string
description: 用户ID
name:
type: string
description: 用户名称
displayname:
type: string
description: 用户显示名称
email:
type: string
description: 用户的电子邮箱
mobile:
type: string
description: 用户的手机号
domain:
type: object
description: 资源归属的域信息
$ref: './roleassignments.yaml#/Domain'
policies:
type: object
$ref: './roleassignments.yaml#/PolicyObject'
projects:
type: array
items:
$ref: './roleassignments.yaml#/DomainObject'
role_assignments:
type: array
items:
$ref: './roleassignments.yaml#/RoleAssignment'
catalog:
type: array
items:
type: object
$ref: '#/ServiceV3'
context:
type: object
$ref: '#/AuthContext'
ServiceV3:
type: object
decription: keystone V3 service
properties:
id:
type: string
description: 服务ID
name:
type: string
description: 服务名称
type:
type: string
description: 服务类型
endpoints:
type: array
description: keystone V3 endpoint
items:
type: object
$ref: '#/EndpointV3'
EndpointV3:
type: object
description: keystone V3 endpoint
properties:
id:
type: string
description: endpoint ID
interface:
type: string
description: endpoint类型, 可能值为:internal, public, admin, console
region:
type: string
description: endpoint所在区域名称
region_id:
type: string
description: endpoint所在区域ID
url:
type: string
description: endpoint URL
name:
type: string
description: endpoint name