操作教程|JumpServer使用OpenID对接Azure Active Directory (Azure AD)身份认证

发布于 2022年01月05日

JumpServer是全球首款完全开源的堡垒机,使用GNU GPL v3.0开源许可协议,是符合4A(包含认证Authentication 、授权Authorization、 账号Accounting和审计Auditing)规范的运维安全审计系统。

JumpServer以Python/Django语言为主进行开发,遵循Web 2.0规范,配备了业界领先的Web Terminal方案,交互界面美观、用户体验优异。此外,JumpServer还采用了分布式架构,能够支持多机房跨区域部署,支持横向扩展,并且无资产数量及并发的限制。

JumpServer堡垒机在身份验证方面提供了多种方式供用户进行选择。目前,JumpServer已支持的用户登录认证方式包括但不限于LDAP/AD认证、RADIUS认证、OpenID认证、SAML 2.0、CAS认证、SSO对接、企业微信认证、钉钉认证和飞书认证等。

下面就为大家介绍一下JumpServer堡垒机使用OpenID认证方式对接Azure Active Directory(即Azure AD)的具体步骤,旨在为广大用户的实际操作提供指引。

Azure AD是什么?

Azure Active Directory(即Azure AD)是微软提供的多租户、基于云的目录和标识管理服务。Azure AD将核心目录服务、应用程序访问管理和标识保护结合到一个解决方案中,提供基于标准的平台,帮助开发人员根据集中策略和规则为其应用程序提供访问控制。

Azure AD企业标识服务提供单一登录和多重身份验证,受此服务保护的用户可免受99.9%的网络安全攻击。

谁在使用 Azure AD?

Azure AD适用于以下这些人群:

■ IT管理员

IT管理员根据自身的业务要求,可以使用Azure AD来控制用户对其应用和应用资源的访问。例如,可以通过Azure AD要求用户在访问重要的组织资源时进行多重身份验证。

另外,还可以使用Azure AD在现有Windows Server AD和云应用(包括 Microsoft 365)之间自动完成用户预配,最终利用Azure AD提供的强大工具自动保护用户标识和凭据,实现访问管理的需求;

■ 应用开发人员

应用开发人员可以使用Azure AD作为一种基于标准的方法,将单点登录 (SSO) 添加到应用中,从而允许它使用用户预先存在的凭据。另外还可以通过Azure AD提供的API来构建个性化的应用体验,充分使用现有的组织数据;

■ Microsoft 365、Office 365、Azure或Dynamics CRM Online的订阅者

这些云服务的订阅者已在使用Azure AD,每个Microsoft 365、Office 365、Azure和Dynamics CRM Online租户都会自动成为Azure AD的租户。 

JumpServer使用OpenID对接Azure AD身份认证步骤

1. 通过Azure AD初始化JumpServer应用

① 新注册应用

▲图1 新注册应用

② 注册JumpServer应用

受支持的账户类型:哪些用户可以访问JumpServer应用,请根据需求进行选择;

重定向URI:https://{xxxx}/core/auth/openid/callback/ (注意:必须选择https协议,最后的“/”必须添加,否则访问会报错)。

▲图2 填写应用的“名称”、“受支持的帐户类型”、“重定向URI”等选项,并点击“注册”按钮进行提交
▲图3 生成使用Microsoft标识平台的应用程序

③ 添加客户端密钥

▲图4 添加证书或机器,创建客户端密钥 
▲图5 添加客户端密码,确认密钥失效时间
▲图6 复制客户端密钥

④ 获取端点信息

▲图7 获取终结点信息

Azure中国与Azure国际的端点地址会有所不同,选择对应的信息填入JumpServer OpenID进行配置即可。

▲图8 选择对应的端点信息

2. 在JumpServer中填写OpenID(OIDC)信息

① 进入JumpServer填写OIDC信息

▲图9 填写OIDC的基本信息和相关参数

② 注意修改令牌有效时间

注意:建议将令牌有效时间修改为大一些的数值,此处修改为600生效(可能由于时区问题,默认60,会报异常)。

▲图10 修改令牌有效时间

③ 登录成功

▲图11 首次登录成功