创建并绑定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有:
-
RFC2307(Openldap通常选择此Schema)
-
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不为空
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/{project_id}/sfs-turbo/shares/{share_id}/fs/ldap
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID |
share_id |
是 |
String |
文件系统id |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
账号的token |
Content-Type |
是 |
String |
MIME类型 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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
参数 |
参数类型 |
描述 |
---|---|---|
jobId |
String |
ldap异步任务的id。可通过查询job的状态详情接口查询job的执行状态。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
errCode |
String |
错误码 |
errMsg |
String |
错误描述 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
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 |
内部错误 |
错误码
请参见错误码。