认证源

Cloudpods平台支持对接多种认证源,如LDAP、钉钉、飞书、企业微信等,支持通过第三方应用扫码等方式登录Cloudpods平台。

Cloudpods平台支持对接多种认证源,如LDAP、钉钉、飞书、企业微信等,实现通过第三方应用认证登录Cloudpods平台。

企业用户使用Cloudpods平台流程

  1. 向Cloudpods平台导入用户:
    • 本地用户(SQL源):平台内置SQL源,在认证源处无需任何配置,只需要在用户列表中新建或导入用户。
    • LDAP用户:新建LDAP认证协议的认证源,设置完成后将会同步LDAP服务器上的用户到Cloudpods平台。
    • 其他认证源(除LDAP、SQL认证协议之外的认证源):新建除LDAP认证协议之外的认证源,并需要勾选自动创建用户。该方式不会立即创建用户,当用户通过对应认证源方式认证登录Cloudpods平台时,将会自动在平台上创建同名用户。
  2. 登录Cloudpods平台:
    • 仅配置了SQL或LDAP认证协议的企业用户,在登录页面只能通过用户名、密码的方式登录Cloudpods平台。
    • 当企业配置了其他认证源(除LDAP、SQL认证协议之外的认证源)时分为两种情况。
      • 配置其他认证源时勾选了自动创建用户,该认证源可作为主认证源使用,企业用户在登录页面可以选择对应的认证源图标,通过对应认证源方式认证登录Cloudpods平台,并自动在平台上创建同名用户。
      • 配置其他认证源时未勾选自动创建用户,该认证源作为辅助认证源,本地用户可以在用户信息与该认证源进行关联,关联成功后,企业用户在登录页面可以选择对应的认证源图标,通过对应认证源方式认证登录Cloudpods平台。

入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/认证源” 菜单项,进入认证源页面。

新建认证源

该功能用于对接第三方认证源。

新建LDAP协议的认证源

请确保用户环境中存在LDAP服务器。

  1. 在认证源页面,单击列表上方 “新建” 按钮,进入新建认证源页面。
  2. 配置以下参数:
    • 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
    • 名称:认证源的名称。
    • 认证协议:选择“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“
      • 用户启用状态:设置从认证源导入的用户的状态,当设置为启用时,则用户可以登录本系统,禁用则无法登录系统。
  3. 单击 “确定” 按钮,新建认证源。

新建CAS认证协议的认证源

  1. 在认证源页面,单击列表上方 “新建” 按钮,进入新建认证源页面。

  2. 配置以下参数:

    • 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
    • 名称:认证源的名称。
    • 认证协议:选择“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中对应的手机号字段。
  3. 单击 “确定” 按钮,连接认证源,并同步认证源上的域、组和用户信息。

新建SAML认证协议的认证源

  1. 在认证源页面,单击列表上方 “新建” 按钮,进入新建认证源页面。

  2. 配置以下参数:

    • 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
    • 名称:认证源的名称。
    • 认证协议:选择“SAML”。
    • 认证类型:支持通用SAML和Azure AD SAML2.0。不同类型支持的参数不同。
    • 当认证类型为通用SAML时,参数获取方式具体请参考通用SAML相关参数获取方式
      • 支持通过上传SAML IDP metedata文件或手动表单录入。
      • 用户ID:设置通用SAML中对应的用户ID属性。
      • 用户名:设置通用SAML中对应的用户名属性。
    • 当认证类型为Azure AD SAML2.0时仅需要配置TenantId。参数获取方式具体请参考Azure AD SAML2.0相关参数获取方式
    • 用户归属目标域:勾选自动创建用户后才需要设置该参数。选择通过该认证方式登录自动创建的用户所属的域,当认证源归属于域时,用户归属目标域与认证源归属域一致,不可更改。

    高级配置:默认隐藏,可根据需求进行配置。

    • 默认项目:设置通过SAML认证协议的认证源登录并在平台自动创建的用户加入的默认项目。
    • 默认角色:设置通过SAML认证协议的认证源登录并在平台自动创建的用户加入的默认角色。

通用SAML相关参数获取方式

以AWS SSO作为平台的SAML IDP。目前仅AWS国际区支持AWS SSO。

  1. AWS平台搜索“AWS SSO”并进入“AWS Single Sign-On”页面。

  2. 在AWS SSO-应用程序中添加新应用程序。

  3. 选择 “添加自定义SAML 2.0 应用程序” ,进入“配置 Custom SAML 2.0 application” 页面。

  4. 下载AWS SSO SAML元数据文件,该文件即为在Cloudpods平台配置通用SAML时所需的“SAML IDP metadata”的XML文件。

  5. 在应用程序元数据中选择上传元数据文件或手动键入元数据值。

    • SAML元数据文件获取方式:

      • 在Cloudpods平台上新建认证源,认证协议选择“SAML”、认证类型选择“通用SAML”。
      • SAML录入方式选择“上传SAML IDP metadata”,上传在AWS下载的AWS SSO SAML元数据文件。
      • 用户ID、用户名:设置用户ID和用户名的用户属性,如user_id,user_name,同时需要在AWS的SAML应用程序的属性映射页签中,将应用程序的应用属性映射到AWS SSO中的用户属性。
      • 建议勾选“自动创建用户”,并选择用户所属的域、项目、角色等。

      • 创建完成后,在通用SAML的认证源详情中,下载IDP源数据,该文件即AWS配置SAML应用程序所需的元数据文件。

    • SAML元数据值获取方式:在Cloudpods平台的认证源页面,查看“SAML认证协议所需本系统信息”的redirect_uri即应用程序ACS URL;entity_id即应用程序SAML受众。

  6. 配置完成后,保存更改。

  7. 在应用程序详情-属性映射中,配置以下信息,单击 “保存更改” 按钮。

  8. 在应用程序详情-已指定的用户中,添加指定的用户和组,添加的用户可以通过AWS SAML访问应用程序。

Azure AD SAML2.0相关参数获取方式

只支持Azure全球区的账号。

  1. 用户登录Azure

  2. “Azure Active Directory-企业应用程序-所有应用程序” 中新建应用程序。

  3. 单击 “创建你自己的应用程序” 后,在弹出的对话框中设置应用名称,选择 “集成库中未发现的任何其他应用程序” ,单击 “创建” 按钮。

  4. 创建成功后进入应用程序详情后,在单一登录页面,选择 “SAML”

  5. 在设置SAML单一登录页面配置标识符ID和回复URL。

  6. 在应用程序详情 - 用户和组页面,单击 “添加用户/组” 按钮,进入添加分配页面。

  7. 选择对应用户后,单击 “分配” 按钮,将需要通过Azure SAML 认证源登录平台的用户添加到应用程序。

  8. 在Azure Active Directory-概述页面,可以获取到TenantID(租户ID)。

新建OIDC认证协议的认证源

  1. 在认证源页面,单击列表上方 “新建” 按钮,进入新建认证源页面。

  2. 配置以下参数:

    • 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
    • 名称:认证源的名称。
    • 认证协议:选择“OIDC”。
    • 认证类型:支持通用OIDC、Github、Azure AD OAuth2。不同认证类型配置的参数不同。
    • 当认证类型是通用OIDC时:该功能要求用户环境中存在OIDC服务器等。
      • ClientID:第三方应用程序的一个标识id,这个信息通常是公开的信息,用来区分哪一个第三方应用程序。
      • ClientSecret:第三方应用程序的私钥信息,这个信息是私密的信息,不允许在OAuth2流程中传递的,用于安全方面的检测和加密。
      • Endpoint:Endpoint即包含OIDC协议所需要的所有配置信息。如存在Endpoint信息,可直接勾选我有Endpoint,并将信息填入。如不存在Endpoint信息,则需要填入Scopes(授权范围)、AuthUrl、TokenUrl、UserinfoUrl。
      • 用户ID:设置通用OIDC中对应的用户ID属性,一般为name,如有变化请更改该项。
      • 用户名:设置通用OIDC中对应的用户名属性,一般为name,如有变化请更改该项。
    • 当认证类型是Github时,需要配置ClientID和ClientSecret。参数获取方式具体请参考Github相关参数获取方式
    • 当认证类型是Azure AD OAuth2时,需要选择Azure所在CloudEnv(中国区或全球区)、配置ClientID、ClientSecret、TenantID等。参数获取方式具体请参考Azure AD OAuth2相关参数获取方式
    • 用户归属目标域:勾选自动创建用户后才需要设置该参数。选择通过该认证方式登录自动创建的用户所属的域,当认证源归属于域时,用户归属目标域与认证源归属域一致,不可更改。

    高级配置:默认隐藏,可根据需求进行配置。

    • 默认项目:设置通过OIDC认证协议的认证源登录并在平台自动创建的用户加入的默认项目。
    • 默认角色:设置通过OIDC认证协议的认证源登录并在平台自动创建的用户加入的默认角色。

Github相关参数获取方式

  1. 用户登录Github

  2. 在用户信息-setting-Developersetting-OAuth2 Apps页面创建OAuth应用。

  3. 配置平台的访问地址以及回调地址为“https://<域名>/api/v1/auth/ssologin”。

  1. 创建成功后获取ClientID和ClientSecret。

Azure AD OAuth2相关参数获取方式

  1. 用户登录Azure中国区Azure海外区。以Azure中国区为例介绍如何获取参数。

  2. 在Azure Active Directory-应用注册页面,新注册应用。

  3. 根据需求选择受支持的账户类型,配置重定向URI,设置为“web”以及平台回调地址为“https://<域名>/api/v1/auth/ssologin”。

  1. 创建成功后默认进入应用程序详情页面,获取ClientID(客户端ID)和TenantID(目录/租户ID)。

  2. 在左侧菜单项中选择证书和密码菜单项,新建客户端密码,添加成功后获取ClientSecret(客户端密码)。

新建OAuth2认证协议的认证源

  1. 在认证源页面,单击列表上方 “新建” 按钮,进入新建认证源页面。

  2. 配置以下参数:

    • 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
    • 名称:认证源的名称。
    • 认证协议:选择“OAuth2”。
    • 认证类型:支持飞书、钉钉、企业微信等。
    • 当认证类型是飞书时:
      • AppId:应用的id标识。获取方式请参考飞书相关参数获取方式
      • Secret:应用的密钥,创建app的时候由飞书开放平台生成。
    • 当认证类型是钉钉时:
      • AppId:应用的id标识。获取方式请参考钉钉相关参数获取方式
      • AppSecret:应用的密钥,创建扫码登录应用授权的时候由钉钉开放平台生成。
    • 当认证类型是企业微信时:
    • 用户归属目标域:勾选自动创建用户后才需要设置该参数。选择通过该认证方式登录自动创建的用户所属的域,当认证源归属于域时,用户归属目标域与认证源归属域一致,不可更改。

    高级配置:默认隐藏,可根据需求进行配置。

    • 默认项目:设置通过OAuth2认证协议的认证源登录并在平台自动创建的用户加入的默认项目。
    • 默认角色:设置通过OAuth2认证协议的认证源登录并在平台自动创建的用户加入的默认角色。

飞书相关参数获取方式

  1. 企业用户(无需管理员用户)登录飞书开放平台

  2. 在我的应用页面,创建企业自建应用。

  3. 在新建应用的“凭证与基础信息”页面获取应用凭证。

  4. 在应用功能-网页中启用网页,并在网页配置中的桌面版主页添加平台的访问地址。

  5. 在安全设置中的重定向URL中配置回调地址或域名“https://<域名>/api/v1/auth/ssologin”。

  1. 在权限管理中根据需要为应用添加权限,至少添加“获取用户邮箱”、“获取用户手机号”、“获取用户userid”、“获取用户基本信息”、“获取用户统一ID”。

  2. 在版本管理与发布页面,创建版本,配置相关信息,注意将可用性状态设置为“所有员工”或应用适用的组织,单击 “保存” 按钮,待管理员审核发布应用。

钉钉相关参数获取方式

  1. 以管理员登录钉订开放平台

  2. 在在“应用开发”页面的移动接入应用-登录页面中创建扫码登录应用授权。

  3. 配置回调域名为“https://<域名>/api/v1/auth/ssologin”。

  4. 创建完成后,可以获取对应的AppId和AppSecret。

企业微信相关参数获取方式

  1. 以管理员用户登录企业微信管理后台

  2. 在顶部-我的企业页面中获取企业ID。

  3. 在顶部-应用管理页签下,选择应用-创建自建应用,并配置应用的logo、名称、应用介绍以及可见范围,可见范围建议设置为“所有员工”或应用适用的组织。

  4. 在开发者接口-企业微信授权登录中设置Web网页的授权回调域为域名地址。

  5. 在应用详情中获取AgentId和Secret信息。

修改配置

该功能用于修改认证源的配置信息,只有禁用状态的认证源支持修改配置。不同认证类型的认证源配置参数请参考对应的新建认证源章节。

  1. 在认证源页面,单击"禁用"状态的认证源右侧操作列 “修改配置” 按钮,进入修改配置页面。
  2. 修改不同认证类型的认证源的参数,修改完成后,单击 “确定” 按钮。

启用认证源

该功能用于启用"禁用"状态的认证源。

单个启用

  1. 在认证源页面,单击"禁用"状态的认证源右侧操作列 “更多” 按钮,选择下拉菜单 “启用” 菜单项,弹出操作确认对话框。
  2. 单击 “确定” 按钮,启用认证源。

批量启用

  1. 在认证源列表中勾选一个或多个认证源,单击列表上方的 “批量操作” 按钮,选择下拉菜单 “启用” 菜单项,弹出操作确认对话框。
  2. 单击 “确定” 按钮,启用认证源。

禁用认证源

该功能用于禁用”启用“状态的认证源。

  1. 在认证源页面,单击”启用“状态的认证源右侧操作列 “更多” 按钮,选择下拉菜单 “禁用” 菜单项,弹出操作确认对话框。
  2. 单击 “确定” 按钮,禁用认证源。

批量禁用

  1. 在认证源列表中勾选一个或多个认证源,单击列表上方的 “批量操作” 按钮,选择下拉菜单 “禁用” 菜单项,弹出操作确认对话框。
  2. 单击 “确定” 按钮,禁用认证源。

同步认证源

该功能用于立即同步认证源上的域、组和用户信息。默认15分钟同步一次。

  1. 在认证源页面,单击指定认证源右侧操作列 “更多” 按钮,选择下拉菜单 “同步” 菜单项,同步认证源上信息。

删除认证源

该功能用于删除认证源。

单个删除

  1. 在认证源页面, 单击"禁用"状态的认证源右侧操作列 “删除” 按钮,弹出操作确认对话框。
  2. 单击 “确定” 按钮,完成操作。

批量删除

  1. 在认证源列表中勾选一个或多个认证源,单击列表上方的 “批量操作” 按钮,选择下拉菜单 “删除” 菜单项,弹出操作确认对话框。
  2. 单击 “确定” 按钮,完成操作。

查看认证源详情

该功能用于查看认证源的详细信息。

  1. 在认证源页面,单击认证源名称项,进入认证源详情页面。
  2. 详情页面的顶部菜单项支持对认证源进行管理操作。
  3. 查看以下信息。
    • 基本信息:包括云上ID、ID、名称、状态、项目、认证源归属、启用状态、同步状态、自动创建用户、用户归属域、认证协议、认证类型、同步时间、创建时间、更新时间、备注。
    • 配置信息:不同认证类型显示的配置信息不同。
    • IDP源数据:仅通用SAML支持,支持下载IDP源数据。
    • 资源统计:包括认证源下组、用户、项目、角色、权限数量。

查看操作日志

该功能用于查看认证源相关操作的日志信息。

  1. 在认证源页面,单击认证源名称项,进入认证源详情页面。
  2. 单击“操作日志”页签,进入操作日志页面。
    • 加载更多日志:列表默认显示20条操作日志信息,如需查看更多操作日志,请单击 “加载更多” 按钮,获取更多日志信息。
    • 查看日志详情:单击操作日志右侧操作列 “查看” 按钮,查看日志的详情信息。支持复制详情内容。
    • 查看指定时间段的日志:如需查看某个时间段的操作日志,在列表右上方的开始日期和结束日期中设置具体的日期,查询指定时间段的日志信息。
    • 导出日志:目前仅支持导出本页显示的日志。单击右上角图标,在弹出的导出数据对话框中,设置导出数据列,单击 “确定” 按钮,导出日志。