如何配置 UAA 作为 SP 和 IdP

2023-11-21 02:21
文章标签 配置 sp uaa idp

本文主要是介绍如何配置 UAA 作为 SP 和 IdP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:蒋飙,软件工程师,GE 数字集团用户

身份的认证、授权和管理是网络应用的重要组成部分。User Account and Authentication(用户账户和认证,简称 UAA)作为 Predix 安全系统的核心,既能作为 Identity Provider(身份源,简称 IdP)提供用户身份的认证、授权和管理功能,也能作为 Service Provider(服务源,简称 SP)从其它 IdP(例如 Microsoft Active Directory)获取用户身份信息。

本文将通过连接两个 UAA 实例,展示如何使用 UAA 作为 Service Provider(服务源,简称 SP)和 Identity Provider(身份源,简称 IdP)。

创建第一个 UAA 实例(IdP)


在 Predix 首页点击 CATALOG(目录),默认进入 Services(服务)目录。

选择 Security(安全)分类中的 User Account and Authentication(用户账户和认证,简称 UAA)服务。



选择 Plan Options(可选计划)中的 FREE(免费),并 Subscribe(订阅)。



指定 Org(组织)、Space(空间)、Service instance name(服务实例名称,如 example-idp)、Service plan(服务计划)、Admin client secret(管理员客户端密匙),点击 Create Service(创建服务)。

此服务将被作为 Identity Provider(身份源,简称 IdP)。

点击 Open Service Instance(打开服务实例),并使用之前指定的管理员客户端密匙登录。



记录第一个 UAA 服务实例的网址(如 https://b2ad5b63-5985-445b-8b0a-43d5bfea14b2.predix-uaa.run.aws-jp01-pr.ice.predix.io)。



构造网址(如 https://b2ad5b63-5985-445b-8b0a-43d5bfea14b2.predix-uaa.run.aws-jp01-pr.ice.predix.io/saml/idp/metadata)下载 IdP 元数据文件,并命名(如 example-idp.xml)。

创建第二个 UAA 实例(SP)


步骤同上,再次创建服务实例(如 example-sp)。


此服务将被作为 Service Provider(服务源,简称 SP)。

点击 Open Service Instance(打开服务实例),并使用之前指定的管理员客户端密匙登录。

记录第二个 UAA 服务实例的网址(如 https://fa8244c4-eebd-43eb-8de6-18ab7818359d.predix-uaa.run.aws-jp01-pr.ice.predix.io)。

构造网址(如 https://fa8244c4-eebd-43eb-8de6-18ab7818359d.predix-uaa.run.aws-jp01-pr.ice.predix.io/saml/metadata/alias/fa8244c4-eebd-43eb-8de6-18ab7818359d.cloudfoundry-saml-login)下载 SP 元数据文件,并命名(如 example-sp.xml)。

配置第二个 UAA 实例(SP)


打开 Identity Providers(身份源),选择 New Identity Provider(新建身份源)。



指定 Name(名称,如 example-idp)、Type(类型,SAML),通过 Choose Identity Provider Metadata(选择身份源元数据)指定第一个 UAA 的 IdP 元数据文件,并保存。



打开 Client Management(客户端管理),选择 Create Client(新建客户端)。



指定 Client ID(客户端 ID,如 example-client-sp)、Authorized Grant Types(授权类型,authorization_code)、Client secret(客户端密匙)、Redirect URI(重定向网址,如 http://localhost:50000/authcode 和 http://localhost:50000/callback)、Scopes(权限,openid)、Allowed Providers(允许的源,如 example-idp),点击 Save(保存)。

配置第一个 UAA 实例(IdP)


点击 Open Service Instance(打开服务实例),并使用之前指定的管理员客户端密匙登录。

打开 Identity Providers(身份源),选择 New Service Provider(新建服务源)。

指定 Name(名称,如 example-sp),通过 Choose Service Provider Metadata(选择服务源元数据)指定第二个 UAA 的 SP 元数据文件,查看元数据文件,记录并指定 Entity ID(实体 ID,如 fa8244c4-eebd-43eb-8de6-18ab7818359d.cloudfoundry-saml-login),点击 Save(保存)。

打开 User Management(用户管理),选择 Create User(新建用户)。



指定 Username(用户名,如 example-user-idp)、Email(电子邮箱)、Password(密码)、Given Name(名)、Family Name(姓),点击 Save(保存)。

验证结果


打开 UAAC 指向第二个 UAA 实例(SP)。

uaac target https://fa8244c4-eebd-43eb-8de6-18ab7818359d.predix-uaa.run.aws-jp01-pr.ice.predix.io

尝试获取授权。注意此时浏览器网址,登录页面自动导向第一个 UAA 实例(IdP)。

uaac token authcode get --client example-client-sp --port 50000



使用之前指定的用户登录。注意此时浏览器网址,授权页面自动导向第二个 UAA 实例(SP)。点击 Authorize 授权。



查看令牌。

uaac token decodejti: 7c49b24728034d90bdfac76b462baf66
nonce: 20a2093389bd5dd9af8f76310e720311
sub: 7acc5fb8-e1d2-4e3c-90c2-a167014edbc1
scope: openid
client_id: example-client-sp
cid: example-client-sp
azp: example-client-sp
grant_type: authorization_code
user_id: 7acc5fb8-e1d2-4e3c-90c2-a167014edbc1
origin: example-idp
user_name: example-user-idp
email: example-user-idp@unknown.org
auth_time: 1497258462
rev_sig: 9179a965
iat: 1497258692
exp: 1497301892
iss: https://fa8244c4-eebd-43eb-8de6-18ab7818359d.predix-uaa.run.aws-jp01-pr.ice.predix.io/oauth/token
zid: fa8244c4-eebd-43eb-8de6-18ab7818359d
aud: example-client-sp openid

至此,两个 UAA 实例成功连接。

如果您在使用中有任何问题,欢迎访问我们的论坛 http://bbs.csdn.net/forums/GEPredix,GE 数字集团的技术专家们会在线解答您的问题。

同时欢迎访问我们在 CSDN 的 Predix 专区 http://predix.csdn.net 了解更多 Predix 的内容和相关活动。

这篇关于如何配置 UAA 作为 SP 和 IdP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399176

相关文章

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定