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

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件