AD/LDAP/OAuth
概览
LDAP(Lightweight Directory Access Protocol)作为轻量级目录访问协议,可提供标准的目录服务。微软的WindowsAD软件(以下简称AD),以及众多流行的Linux发行版中提供的OpenLDAP软件(以下简称LDAP),均是基于LDAP协议的实现,它们为日益多样化的企业办公应用提供了一套独立、标准的登录认证系统。
ZStack Cloud支持无缝接入AD/LDAP统一认证服务,基于自定义规则添加AD/LDAP服务器,并获取成员列表;当AD/LDAP成员(用户/用户组)成功绑定ZStack Cloud账户(普通账户/管理员),就可使用成员登录属性直接登录ZStack Cloud云平台。
清单
操作(Operations)
添加AD/LDAP服务器(AddLdapServer)
管理员可以使用AddLdapServer添加AD/LDAP服务器。例如:
AddLdapServer name=ldap-server url=ldap://172.20.197.44:389 base="dc=mevoco,dc=com" \
encryption=TLS username="cn=Manager,dc=mevoco,dc=com" password=password description="ldapserver"参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| name | 资源名称 | 0.6 | ||
| description | 资源的详细描述 | 0.6 | ||
| url | LDAP服务器访问地址 | 0.6 | ||
| base | LDAP服务查询BaseDN | 0.6 | ||
| username | 访问LDAP服务器使用的用户名 | 0.6 | ||
| password | 密码 | 0.6 | ||
| encryption | 加密方式 |
|
0.6 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 0.6 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 0.6 | |
| timeout | 是 |
Note:
- ZStack Cloud添加AD/LDAP服务器时支持同步用户功能,SystemTags增加virtualIDSyncConfiguration选项。
- 选项格式为:
virtualIDSyncConfiguration::{\"rules\":[{\"name\":\"name\",\"attribute\":\"cn\",\"type\":\"SYSTEM\",\"optional\":\"true\"},{\"name\":\"fullname\",\"attribute\":\"cn\",\"type\":\"CUSTOM\",\"optional\":\"true\"}]} - 例如:
virtualIDSyncConfiguration::{\"rules\":[{\"name\":\"name\",\"attribute\":\"cn\",\"type\":\"SYSTEM\",\"optional\":\"true\"},{\"name\":\"fullname\",\"attribute\":\"cn\",\"type\":\"CUSTOM\",\"optional\":\"true\"}]}
- 选项格式为:
- ZStack Cloud添加AD/LDAP服务器时支持同步组织功能,SystemTags增加organizationSyncConfiguration选项。
- 选项格式为:
organizationSyncConfiguration::{\"rules\":[{\"name\":\"name\",\"attribute\":\"distinguishedName\",\"type\":\"SYSTEM\",\"optional\":\"true\"},{\"name\":\"description\",\"attribute\":description,\"type\":\"SYSTEM\",\"optional\":\"true\"}],\"strategy\":\"Group\"} - 例如:
organizationSyncConfiguration::{\"rules\":[{\"name\":\"name\",\"attribute\":\"distinguishedName\",\"type\":\"SYSTEM\",\"optional\":\"true\"},{\"name\":\"description\",\"attribute\":description,\"type\":\"SYSTEM\",\"optional\":\"true\"}],\"strategy\":\"Group\"}
- 选项格式为:
Note:
- 添加AD/LDAP时,系统会自动检测服务器、端口、基准检索DN、登录属性、用户DN、密码是否正确,等待时间不超过5秒。
删除AD/LDAP服务器(DeleteLdapServer)
管理员可以使用DeleteLdapServer删除AD/LDAP服务器。例如:
DeleteLdapServer uuid=b2750052c1e34b9c868c84e645eed79a参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源uuid | 0.6 | ||
| deleteMode | 请参见 删除资源(Delete Resources) | 是 |
|
0.6 |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 0.6 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 0.6 | |
| timeout | 是 |
查询AD/LDAP服务器(QueryLdapServer)
管理员可以使用QueryLdapServer查询AD/LDAP服务器。例如:
QueryLdapServer uuid=b2750052c1e34b9c868c84e645eed79a原生域查询(Primitive Fields of Query)
请参见ldap server inventory
更新AD/LDAP服务器(UpdateLdapServer)
管理员可以使用UpdateLdapServer更新AD/LDAP服务器。例如:
UpdateLdapServer ldapServerUuid=ba240fbba3e541b4ab9db4b221cc6e7a参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| ldapServerUuid | LDAP服务器的uuid | 0.6 | ||
| name | 资源名称 | 是 | 0.6 | |
| description | 资源的详细描述 | 是 | 0.6 | |
| url | LDAP服务器的访问地址 | 是 | 0.6 | |
| base | LDAP服务器的查询BaseDN | 是 | 0.6 | |
| username | 访问LDAP服务器的用户名 | 是 | 0.6 | |
| password | 密码 | 是 | 0.6 | |
| encryption | 加密方式 | 是 |
|
|
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 0.6 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 0.6 | |
| timeout | 是 |
创建AD/LDAP绑定(CreateLdapBinding)
管理员可以使用CreateLdapBinding创建AD/LDAP绑定。例如:
CreateLdapBinding ldapUid=mevoco accountUuid=2cfc587668474aa9ae544c014bfbd36e参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| ldapUid | LDAP的uid | 0.6 | ||
| accountUuid | 账户uuid | 0.6 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 0.6 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 0.6 | |
| timeout | 是 |
删除AD/LDAP绑定(DeleteLdapBinding)
管理员可以使用DeleteLdapBinding删除AD/LDAP绑定。例如:
DeleteLdapBinding uuid=d70c0ef1b57043beaffcfcf9b0216ac1参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源uuid | 0.6 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 0.6 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 0.6 | |
| timeout | 是 |
查询AD/LDAP绑定(QueryLdapBinding)
管理员可以使用QueryLdapBinding查询AD/LDAP绑定。例如:
QueryLdapBinding ldapUid=mevoco原生域查询(Primitive Fields of Query)
请参见ldap binding inventory
清理无效的AD/LDAP绑定(CleanInvalidLdapBinding)
管理员可以使用CleanInvalidLdapBinding清理无效的AD/LDAP绑定。返回示例:
{
"success": true
}参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 0.6 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 0.6 | |
| timeout | 是 |
使用AD/LDAP身份登录(LogInByLdap)
管理员可以使用LogInByLdap使用AD/LDAP身份登录。例如:
LogInByLdap uid=mevoco password=password参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uid | LDAP的uid | 0.6 | ||
| password | 密码 | 0.6 | ||
| captchaUuid | 验证码UUID | 是 | 2.6.0 | |
| verifyCode | 验证码 | 是 | 2.6.0 | |
| clientInfo | 客户端信息 | 是 | 3.5.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 0.6 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 0.6 | |
| timeout | 是 |
获取AD/LDAP条目(GetLdapEntry)
管理员可以使用GetLdapEntry获取AD/LDAP条目。例如:
GetLdapEntry ldapFilter=(cn=mevoco)参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| ldapFilter | 查询条件 | 2.2 | ||
| limit | 最多返回的记录数,类似MySQL的limit | 是 | 2.2 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.2 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.2 | |
| timeout | 是 |
获取可绑定的AD/LDAP条目(GetCandidateLdapEntryForBinding)
管理员可以使用GetCandidateLdapEntryForBinding获取可绑定的AD/LDAP条目(排除已绑定的AD/LDAP条目)。例如:
GetCandidateLdapEntryForBinding ldapFilter=(cn=mevoco)参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| ldapFilter | 查询条件 | 2.2 | ||
| limit | 最多返回的记录数,类似MySQL的limit | 是 | 2.2 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.2 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.2 | |
| timeout | 是 |
创建OAuth客户端(CreateOAuthClient)
管理员可以使用CreateOAuthClient创建OAuth客户端。例如:
CreateOAuthClient name=test clientId=756770202fcd36bfbaa00ea7dea7f5ff tokenUrl=http://zstack.com/token loginType=oauth2-iam2 clientType=OAuth2 grantType=authorization_code参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| name | 资源名称 | 4.5.0 | ||
| description | 资源的详细描述 | 是 | 4.5.0 | |
| clientId | 客户端ID | 4.5.0 | ||
| clientSecret | 客户端密钥 | 是 | 4.5.0 | |
| authorizationUrl | 认证url | 是 | 4.5.0 | |
| tokenUrl | 认证token url | 4.5.0 | ||
| loginType | 登录的类型 |
|
4.5.0 | |
| clientType | client类型 | 4.5.0 | ||
| grantType | 认证模式 | 4.5.0 | ||
| urlTemplate | 认证之后跳转的地址 | 4.5.0 | ||
| clientType | 客户端类型 | 4.5.0 | ||
| resourceUuid | 资源UUID | 是 | 4.5.0 | |
| tagUuids | 标签UUID列表 | 是 | 4.5.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 4.5.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 4.5.0 | |
| userinfoUrl | 请求用户信息地址 | 是 | 4.7.21 | |
| redirectUrl | 用户自定义回调地址 | 是 | 4.7.21 | |
| logoutUrl | 登出地址 | 是 | 4.7.21 | |
| scopeList | 权限范围 | 是 | 5.1.8 | |
| identityProvider | 认证供应商 | 是 | 5.1.8 | |
| pluginUuid | 供应商插件UUID | 是 | 5.3.28 |
标签(Tags)
用户可以使用CreateUserTag resourceType=LdapServerVO创建用户标签。
例如:
CreateUserTag resourceType=LdapServerVO tag=Test1 \
resourceUuid=3214e0dcd01d4e2aa8407968e1ccreatee51d58