认证源
认证源定义了用户信息的来源。每个认证源有driver和template两个属性,说明这个认证源的工作 机制。目前,driver支持如下多种认证源:
Driver | Template | 说明 | 用户或组归属域 | 导入行为 |
---|---|---|---|---|
sql | - | 用户和组的定义来自于本地的sql数据库 | 任意多个域 | 不需要导入 |
ldap | msad_one_domain | 用户和组的定义来自于本地的Microsoft Active Diectoy Domain | 单个域 | 自动导入一个域以及用户和组 |
ldap | msad_multi_domain | 用户和组以及域的定义来自于本地的Microsoft Active Directory Domain | 多个域 | 自动导入多个域,一个域对应domain_dn下的一个OU,OU下的用户和组导入对应的域。 |
ldap | openldap_one_domain | 用户和组的定义来自于本地openldap或者freeIPA | 单个域 | 自动导入一个域,user_dn和group_dn下的 |
ldap | - | 用户和组的定义来自于任意的ldap数据源 | 单个或多个域 | |
cas | - | Java CAS Server | 单个域 | 每次用户登录时导入 |
oauth2 | dingtalk | 钉钉企业认证 | 单个域 | 每次用户登录时导入 |
oauth2 | feishu | 飞书企业认证 | 单个域 | 每次用户登录时导入 |
oauth2 | wecom | 企业微信SSO认证 | 单个域 | 每次用户登录时导入 |
oidc | GitHub | GitHub SSO | 单个域 | 每次用户登录时导入 |
oidc | Azure | Azure OpenID Connect SSO | 单个域 | 每次用户登录时导入 |
oidc | dex | Dex OpenID Connect SSO | 单个域 | 每次用户登录时导入 |
saml | Azure | Azure SAML 2.0 SSO | 单个域 | 每次用户登录时导入 |
常用命令
查看认证源
climc idp-list --scope system
查看认证源的配置
climc idp-config-show <idp_id>
编辑认证源的配置
climc idp-config-edit <idp_id>
企业用户使用流程
- 向平台导入用户:
- 本地用户(SQL源):平台内置SQL源,在认证源处无需任何配置,只需要在用户列表中新建或导入用户。
- LDAP用户:新建LDAP认证协议的认证源,设置完成后将会同步LDAP服务器上的用户到平台。
- 其他认证源(除LDAP、SQL认证协议之外的认证源):新建除LDAP认证协议之外的认证源,并需要勾选自动创建用户。该方式不会立即创建用户,当用户通过对应认证源方式认证登录平台时,将会自动在平台上创建同名用户。
- 登录平台:
- 仅配置了SQL或LDAP认证协议的企业用户,在登录页面只能通过用户名、密码的方式登录平台。
- 当企业配置了其他认证源(除LDAP、SQL认证协议之外的认证源)时分为两种情况。
- 配置其他认证源时勾选了自动创建用户,该认证源可作为主认证源使用,企业用户在登录页面可以选择对应的认证源 图标,通过对应认证源方式认证登录平台,并自动在平台上创建同名用户。
- 配置其他认证源时未勾选自动创建用户,该认证源作为辅助认证源,本地用户可以在用户信息与该认证源进行关联,关联成功后,企业用户在登录页面可以选择对应的认证源图标,通过对应认证源方式认证登录平台。
tip
- 主认证源:即该认证源定义了用户的来源,sql和LDAP认证源默认为主认证源。其他认证源在添加时启用了“自动创建用户”即可作为主认证源使用。
- 辅助认证源:即该认证源仅作为认证登录的方式使用,主认证源的用户需要先关联辅助认证源,关联成功后,即可使用该认证源登录平台。
入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 "认证与安全/认证体系/认证源" 菜单项,进入认证源页面。
tip
列表上方将显示SAML协议以及OIDC、OAuth2协议需要平台提供的EntityID和Redirect_url(回调地址),且支持复制。
新建认证源
该功能用于对接第三方认证源。
新建LDAP协议的认证源
请确保用户环境中存在LDAP服务器。
- 在认证源页面,单击列表上方 "新建" 按钮,进入新建认证源页面。
- 配置以下参数:
- 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
- 名称:认证源的名称。
- 认证协议:选择“LDAP”。
- 认证类型:支持从Microsoft Active Diretory导入单域、Microsoft Active Diretory导入多个域、OpenLDAP/FreeIPA导入单域。不同认证类型配置参数略有不同。
- 当认证类型是Microsoft Active Diretory导入单域时:
- 用户归属目标域:可选项,选择LDAP服务器上用户在云管平台的所属域。
- 服务器地址:搭建AD域控服务器的URL地址,格式为ldap(s)://服务器IP地址,必须以ldap://或者ldaps://开头。
- 基本DN:DN即Distinguished Name,基本DN是条目在整个目录树的唯一名称标识。格式为”DC=xx,DC=com“
- 用户名:连接AD域控服务器的用户名。
- 密码:连接AD域控服务器的用户对应密码。
- 用户DN:用户DN为LDAP目录中查找用户的根路径,将会在该根路径下递归查找用户,格式为”CN=users,OU=xx,DC=xx,DC=com“。
- 组DN:组DN为LDAP目录中查找组的根路径,将会在该根路径下递归查找组,格式”CN=groups,OU=xx,DC=xx,DC=com“。
- 用户启用状态:设置从认证源导入的用户的状态,当设置为启用时,则用户可以登录本系统,禁用则无法登录系统。
- 当认证类型是Microsoft Active Diretory导入多个域时(当认证源归属于域时,不支持设置该项):
- 服务器地址、基本DN、用户名、密码同导入单域。
- 域DN:域对应LDAP中的OU(organization,组织单位),域DN为LDAP查找域的根路径,将会在该路径下查找所有域。格式为”OU=xx,DC=xx,DC=com“.
- 用户启用状态:设置从认证源导入的用户的状态,当设置为启用时,则用户可以登录本系统,禁用则无法登录系统。
- 当认证类型是OpenLDAP/FreeIPA导入单域时:
- 目标域:可选项,选择LDAP服务器上用户在云管平台的所属域。
- 服务器地址:搭建OpenLDAP或FreeIPA服务器的URL地址,格式为ldap(s)://服务器IP地址,必须以ldap://或者ldaps://开头。
- 基本DN:DN即Distinguished Name,基本DN是条目在整个目录树的唯一名称标识。格式为”DC=ocdc,DC=com“
- 用户名:连接服务器的用户UID,格式为”UID=admin,CN=users,CN=xx,DC=xx,DC=com“。
- 密码:对应用户密码。
- 用户DN:用户DN为LDAP目录中查找用户的根路径,将会在该根路径下递归查找用户,格式为”CN=users,OU=xx,DC=xx,DC=com“
- 组DN:组DN为LDAP目录中查找组的根路径,将会在该根路径下递归查找组,格式”CN=groups,OU=xx,DC=xx,DC=com“
- 用户启用状态:设置从认证源导入的用户的状态,当设置为启用时,则用户可以登录本系统,禁用则无法登录系统。
- 单击 "确定" 按钮,新建认证源。
新建CAS认证协议的认证源
-
在认证源页面,单击列表上方 "新建" 按钮,进入新建认证源页面。
-
配置以下参数:
- 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
- 名称:认证源的名称。
- 认证协议:选择“CAS”。
- 认证类型:支持通用CAS。
- CAS服务地址:CAS单点登录服务器的URL地址,如http://cas.example.io/cas。
- 用户ID:设置通用CAS中对应的用户ID属性,一般为cas:user,如有变化请更改该项。
- 用户名:设置通用CAS中对应的用户名属性,一般为cas:user,如有变化请更改该项。
- 自动创建用户:勾选自动创建用户后,通过认证源首次登录的用户将会自动在系统中创建一个本地用户。不勾选该项时,该认证源作为辅助认证源,需要将用户关联到该认证源,才可以通过该认证源登录平台。
- 用户归属目标域:勾选自动创建用户后才需要设置该参数。选择通过该认证方式登录自动创建的用户所属的域,当认证源归属于域时,用户归属目标域与认证源归属域一致,不可更改。
高级配置:默认隐藏,可根据需求进行配置。
- 默认项目:设置通过CAS认证源登录并在平台自动创建的用户加入的默认项目,当选择“优先使用CAS中的项目”时,需要指定加入项目的字段名,如cas:proj等。用户通过CAS登录时会带有项目字段,若云管平台有匹配的项目,则直接将用户加入到对应项目,如没有匹配的项目,则自动创建同名项目。
- 默认角色:设置通过CAS认证源登录并在平台自动创建的用户加入项目的默认角色,当选择“优先使用CAS中的角色”时,需要指定角色的字段名,如cas:role等。用户通过CAS登录时会带有角色字段名,若云管平台有匹配的角色,则直接使用对应的角色加入项目。如没有匹配的角色,则使用默认角色加入项目。
- 显示名:设置通用CAS中对应的显示名字段。
- 邮箱:设置通用CAS中对应的邮箱字段。
- 手机号:设置通用CAS中 对应的手机号字段。
-
单击 "确定" 按钮,连接认证源,并同步认证源上的域、组和用户信息。
新建SAML认证协议的认证源
-
在认证源页面,单击列表上方 "新建" 按钮,进入新建认证源页面。
-
配置以下参数:
- 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
- 名称:认证源的名称。
- 认证协议:选择“SAML”。
- 认证类型:支持通用SAML和Azure AD SAML2.0。不同类型支持的参数不同。
- 当认证类型为通用SAML时,参数获取方式具体请参考通用SAML相关参数获取方式
- 支持通过上传SAML IDP metedata文件或手动表单录入。
- 用户ID:设置通用SAML中对应的用户ID属性。
- 用户名:设置通用SAML中对应的用户名属性。
- 当认证类型为Azure AD SAML2.0时仅需要配置TenantId。参数获取方式具体请参考Azure AD SAML2.0相关参数获取方式