更新时间:2024-11-13 GMT+08:00

创建并绑定ldap配置

功能介绍

创建并绑定ldap配置。LDAP(Lightweight Directory Access Protocol),中文名称轻量级目录访问协议,是对目录服务器(Directory Server)进行访问、控制的一种标准协议。LDAP服务器可以集中式地管理用户和群组的归属关系,通过绑定LDAP服务器,当一个用户访问您的文件系统的文件时,SFS Turbo将会访问您的LDAP服务器以进行用户身份验证,并且获取用户和群组的归属关系,从而进行Linux标准的文件UGO权限的检查。要使用此功能,首先您需要搭建好LDAP服务器(当前SFS Turbo仅支持LDAP v3协议),常见提供LDAP协议访问的目录服务器实现有OpenLdap(Linux),Active Directory(Windows)等,不同目录服务器的实现细节有所差别,绑定时需要指定对应的Schema(Schema配置错误将会导致SFS Turbo无法正确获取用户以及群组信息,可能导致无权限访问文件系统内文件),当前SFS Turbo支持的Schema有:

  1. RFC2307(Openldap通常选择此Schema)

  2. MS-AD-BIS(Active Directory通常选择此Schema,支持RFC2307bis,支持嵌套的群组)

SFS Turbo还支持配置主备LDAP服务器,当您的一台LDAP服务器故障无法访问后,SFS Turbo将会自动切换到备LDAP服务器访问,以免影响您的业务。同时,若您还选择将allow_local_user配置为Yes(默认为No),那么当您的LDAP服务器全部故障无法访问时,SFS Turbo将会使用您的本地用户以及群组信息,而非LDAP服务器中配置的信息进行身份验证和UGO权限检查,以最大程度减少故障影响面。

接口约束

base_dn和url不为空

URI

POST /v1/{project_id}/sfs-turbo/shares/{share_id}/fs/ldap

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

share_id

String

文件系统id

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

账号的token

Content-Type

String

MIME类型

表3 请求Body参数

参数

是否必选

参数类型

描述

url

String

ldap服务器的url,固定格式为 ldap://{ip_address}:{port_number} 或 ldaps://{ip_address}:{port_number},例如ldap://192.168.xx.xx:60000

base_dn

String

数据库中的域

user_dn

String

用户区别名

password

String

ldap认证密码

vpc_id

String

一般不涉及。仅在SFSTurbo支持多VPC的场景下,需要指定LDAP服务器可连通的VPC的id。

filter_condition

String

过滤条件。保留字段,暂不支持

backup_url

String

ldap备节点的url,固定格式为 ldap://{ip_address}:{port_number} 或 ldaps://{ip_address}:{port_number},例如ldap://192.168.xx.xx:60000

schema

String

ldap的schema,不填写则默认为RFC2307

search_timeout

Integer

ldap搜索的超时时间,单位为秒。不填写则默认为3秒

allow_local_user

String

访问ldap服务器失败后是否允许使用本地用户鉴权

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

jobId

String

ldap异步任务的id。可通过查询job的状态详情接口查询job的执行状态。

状态码: 400

表5 响应Body参数

参数

参数类型

描述

errCode

String

错误码

errMsg

String

错误描述

状态码: 500

表6 响应Body参数

参数

参数类型

描述

errCode

String

错误码

errMsg

String

错误描述

请求示例

创建绑定一个ldap服务器

{
  "url" : "ldap://192.168.xx.xx:60000",
  "base_dn" : "dc=example,dc=com",
  "user_dn" : "cn=admin,dc=example,dc=com",
  "password" : "pwdxxxxxx",
  "backup_url" : "ldap://192.168.xx.xx:60000",
  "schema" : "RFC2307",
  "search_timeout" : 10,
  "allow_local_user" : "Yes"
}

响应示例

状态码: 200

请求已被接受

{
  "jobId" : "72362dxxxxa04d419dbd5e6d9fe5xxxx"
}

状态码: 400

客户端错误

{
  "errCode" : "SFS.TURBO.0001",
  "errMsg" : "Invalid rule id"
}

状态码: 500

内部错误

{
  "errCode" : "SFS.TURBO.0005",
  "errMsg" : "Internal server error"
}

状态码

状态码

描述

200

请求已被接受

400

客户端错误

500

内部错误

错误码

请参见错误码