小知识:OAuth2 服务器Keycloak中的Realm

%小知识:OAuth2 服务器Keycloak中的Realm-猿站网-插图

前几篇我和大家一起对Keycloak进行了粗略的了解。随着逐步的了解,我发现进入了一个误区,原本以为Spring Security整合Keycloak的重心在于Spring Security这一方面,事实上,我发现Keycloak关于Spring Security的Adapter的几个过滤器并没有可操作的空间,或许需要等弄明白了Keycloak本身之后才能有突破。所以今天我要弄明白的是Keycloak中的Realm。

Realm

Realm翻译成中文为领域。用来逻辑隔离一些特定空间,有点多租户的感觉,不同的Realm之间互相隔离,有各自的特色配置,互不影响。

什么时候用到Realm

当特定数量用户之间需要隔离的时候、一系列服务需要统一进行资源管理的时候就用到了Realm。可能我描述的不够全面,至少目前我能感觉到的就是这样。

%小知识:OAuth2 服务器Keycloak中的Realm-1猿站网-插图

realm包含的核心概念

比如我们需要开发一个应用,应用部署域名为felord.cn。我们可以这么定义一个名称为felord.cn的Realm,来管理该应用的角色、资源、和客户端,客户端开发可以专注于业务。整个Keycloak就像一个开放平台一样,集中式管理Realm的生命周期,这些Realm之间可以在OIDC协议下互联互通。

Master Realm

如果你看过之前我关于Keycloak的文章,可能会记得第一次启动Keycloak时会接触一个叫Master的Realm。这个是Keycloak内建的Realm,它的作用有点类似Linux中的root用户,主要是管理其它的Realm,Master Realm中的管理员账户有权查看和管理在Keycloak服务器实例上创建的任何其它Realm。

而且你会发现Master Realm创建的领域实际上是Master Realm的一个客户端,甚至它自己都是自己的客户端,而且名称遵循-realm。

%小知识:OAuth2 服务器Keycloak中的Realm-2猿站网-插图

而且你会发现Master Realm中创建的用户可以赋予其独有的两种角色:

admin 超级管理员,拥有管理Keycloak服务器上任何realm的完全访问权限。 create realm 拥有该角色就可以创建realm并获得该realm的完全管理权。

建议Master Realm用来管理其它Realm而不参与具体的业务。

其它Realm

其它Realm是指用Master创建的Realm。创建其它Realm非常简单,通过Master Realm的管理员即可创建。创建成功会有一些选项可供配置,但是一般情况下使用默认配置即可。

设置Realm管理账户

为前面我初始化的Realmfelord.cn创建独立的管理员账户有两种方式。

使用Master用户管理

我们在Master Realm中建立一个用户,并在其角色映射中剥夺admin和create-realm角色,同时在Client Roles中选中felord.cn-realm 把该客户端的所有角色都赋予建立的用户。例如:

%小知识:OAuth2 服务器Keycloak中的Realm-3猿站网-插图

这个用户属于Master的用户,但是管理着felord.cnRealm。你可以通过下面的格式的链接进行控制台管理操作:

http://@lt;serverurl@gt;/auth/admin/master/console/#/realms/{realm-name}

使用领域客户端用户管理

另一种方法是在felord.cn领域下建立一个用户,把其客户端realm-management的所有客户端角色赋予给该用户。这个用户属于felord.cn,因此只能通过以下链接登录管理控制台管理该领域:

http://@lt;serverurl@gt;/auth/admin/{realm-name}/console

一个用户只能从属于一个Realm。

扩展

Keycloak Admin Client是通过API操作管理Realm的一个客户端工具,我在上一篇已经介绍过了。结合本篇的一些概念可能你会更加深刻的理解如果操作管理Realm。

原文链接:https://mp.weixin.qq.com/s/z7bH-43ZidmIIu-iUtiaSg

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:.htaccess 顶级域名重定向绑定空间目录

2023-3-19 16:58:23

建站知识

小知识:常用容器镜像构建工具和方案介绍

2023-3-19 17:13:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索