亚马逊AWS官方博客

亚马逊云科技中国区域管理控制台与 Okta 及 Azure AD 基于 SAML 的单点登录集成实现(二)- Okta 与 Azure Active Directory 的 SAML 集成

在本系列上一篇 blog 的场景我们看到,通常情况下,Okta 作为身份提供者(IdP),向下游应用程序提供已认证的用户配置文件数据。有些场景下,也可以配置 Okta 作为外部 IdP(如 Azure AD)的服务提供者(SP),以管理访问下游应用程序,包括外部认证的应用程序。对于被分配访问 Okta 管理资源的外部认证用户,Okta 将用户配置文件数据作为 SAML 断言或 OIDC 令牌传递给下游应用程序。接下来将演示 Okta 使用 Azure AD 作为 Idp 的 SAML SSO 集成。

配置步骤

添加 Azure Active Directory Enterprise application

登录 Azure 管理控制台,进入 Azure AD 应用,点击 Enterprise applications

选择 New application

选择 Create your own application

选择左侧菜单 Single sign-on,点击 SAML

创建 Azure Active Directory 中的 Enterprise Application 时,首先输入 Identifier(Entity ID)和 Reply URL(Assertion Consumer Service URL)的临时值(随便输)以生成可下载的证书。在下一部分中将 Azure Active Directory 设置为身份提供程序后,您可以在此更新 Identifier(Entity ID)和 Reply URL(Assertion Consumer Service URL)的值。

这里可以下载 base64 的证书

记住以下两个值,后续有用

把 Azure Active Directory 作为 Okta 的 Identity Provider

在 Okta Security – Identity Provides 中添加 SAML 2.0 IdP

Authentication Settings 中,IdP username 输入 idpuser.email,勾选使用 JIT 选项

JIT Settings 如下

SAML Protocol Settings

IdP Issuer URI 填 Azure AD Identifier;IdP Single Sign-On URL 填 Azure AD Login URL,并上传证书。

添加完成,记住以下两个值:

  • Assertion Consumer Service URL
  • Audience URI

去 Azure Enterprise Application 更新上一步随便输的两个值:

Identifier(Entity ID)替换为 Audience URI;Reply URL(Assertion Consumer Service URL)替换为 Assertion Consumer Service URL。

Map Azure Active Directory attributes to Okta attributes

在 Mappings 中取消除了 login 以外的其他所有 mapping

在 Okta 中添加 custom Azure AD attributes

注意 External name 一定要按照 example 语法填写,再依次添加 First Name,Last Name attribute。

Map Azure AD attributes to Okta

重新 mapping customer attribute

添加用户并测试

至此我们完成了 Okta 使用 Azure AD 用户登录,即 Azure AD 作为 IdP 与 Okta 的 SAML SSO 集成。

结论

通过亚马逊云科技中国区域管理控制台与 Okta 及 Azure AD 基于 SAML 的单点登录集成,实现使用 Azure AD 用户认证信息登录 Okta 平台和中国区域管理控制台,统一了用户管理且便于权限控制,并且可以通过 IdP 平台的会话超时功能,满足如等保 2.0 的合规需求。

本篇作者

孔帅

亚马逊云科技解决方案架构师,目前专注于亚马逊云科技服务和解决方案在医疗健康与生命科学行业的咨询、设计和推广,具有多年基础架构、大数据、高性能计算架构设计和支持经验。工作之余喜爱音乐,健身和美食鉴赏。