Azure AD SSO with Google Cloud Identity

Microsoft AAD和Google Cloud Identity 都是企业常用的目录服务,之前探讨过AD作为Identity provider采用ADFS实现SSO的配置。这里介绍Google Cloud Identity 作为Identity provider,ADD通过SAML实现SSO的实现过程。

一 SAML介绍

安全断言标记语言(英语:Security Assertion Markup Language,简称SAML)是一个基于XML的开源标准数据格式,它在当事方之间交换身份验证和授权数据,尤其是在身份提供者和服务提供者之间交换。SAML是OASIS安全服务技术委员会的一个产品,始于2001年。SAML 解决的最重要的需求是网页浏览器单点登录(SSO)。

SAML包含三个元素:

  1. Service Provider,在本文中是Azure的各种服务,比如Azure的Portal
  2. User,指用户的浏览器
  3. Identity Provider,在本文环境中指的是Google Cloud Identity 的用户管理系统

上图描述了通过SAML框架,如何实现用户的Azure App基于Google Cloud Identity 的单点登录。

二 环境说明

1 Google Cloud Identity 用户管理系统包括

  • 用户域名:Jameswei.net
  • 用户:test@jameswei.net
  • SAML认证的Web application

2 Azure AD系统包括

  • External identity provider SAML/WS IdP – Google Cloud Identity (jameswei.net)
  • Guest用户 – test@jameswei.net

三 Google Cloud Identity 配置

1 域名和用户

在Google Cloud Identity 用户管理中心https://admin.google.com中,已经添加好自定义域名jameswei.net:

添加相应的用户test@jameswei.net:

2 添加SAML Web APP

在APP中添加Web APP:

选择添加自定义SAML应用

(1)填写应用详情:

(2)在Google身份提供商详细信息处,下载IdP元数据:

(3)服务提供商详细信息处,根据微软AAD联合认证文档,填写ACS和EntityID信息:

其中EntityID中需要Tenants ID,这个ID在AAD中获取:

(4)在属性映射中,添加如下映射:

三个映射关系为:

Basic Information    Primary Email:     IDPEmail*    

Basic Information    Primary Email:     urn:oasis:names:tc:SAML:2.0:nameid-format:persistent    

Basic Information    Primary Email:     http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress    

完成后,相应开的对所有用户的访问权限:

四 Azure AD配置

1 添加External Identity Provider

在Azure AD上选择外部标识:

在所有标识提供者处添加SAML/WS-联合身份认证IdP:

填写相关的信息:

点击文件后,选择相应的文件,必须的配置项会自动显示通过:

点击保存,就配置成功了:

2 邀请用户

在用户中点击新来宾用户:

输入邮箱信息,点击邀请:

3 用户激活

创建完用户后,点击进用户的配置文件中,可以看到颁发者是本AAD,并还没有接受邀请。在已接受邀请处点击管理:

会获得邀请的URL:

打开无痕页面,用获得的URL进行登录,此时的登录页面是Google的页面:

登录成功后,进入MyApps页面:

五 查看用户信息

1 Google Cloud Identity 上相关信息

在Google Cloud Identity 上,可以看到用户登录成功的记录:

2 AAD相关信息

在AAD上,可以看到邀请已经接受邀请,且颁发者以及变成Google的issuer:

3 登录Azure Portal

登录https://portal.azure.com

选择Sign-in options:

选择Sign in to an organization

域名填写AAD的tenent域名:

输入test@jameswei.net的用户名和密码后,登录Azure Portal:

六 总结

在以及使用了Google Cloud Identity 的用户,可以采用Azure AD和Google做联合认证的方式,实现单点登录。

 

posted @ 2022-04-01 23:06  衡子  阅读(227)  评论(0编辑  收藏  举报