惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
博客园_首页
雷峰网
雷峰网
V
V2EX
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
T
Tailwind CSS Blog
小众软件
小众软件
博客园 - 叶小钗
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
MyScale Blog
MyScale Blog
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - 衡子

Ubuntu24.04更改SSH端口 记录安装过程 Azure CLI创建管理员用户 创建VMSS中的instance 创建不带公网IP的VM Azure LSv3系列VM 自动挂载NVMe本地磁盘 Azure AD访问Azure Storage Azure Linux VM使用Managed Identity获取Key-vault的Secret 通过VM SWAP OS DISK升级VM 通过API获取Azure KeyVault Securet Azure Front Door添加自定义域名 VM间网络PPS和带宽测试 Azure获取access token的方法 VM间记录时延 Windows Terminal的一些配置 安装hping Azure解除不再使用Directory的关联 使用VSCode Remote Containers功能实现开发环境统一 Azure AKS容器网络详解
Azure AD SSO with Google Cloud Identity
衡子 · 2022-04-01 · via 博客园 - 衡子

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做联合认证的方式,实现单点登录。