如何配置 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

相关文章

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos