keycloak 的一些概念

 

Users

是一种可以登录系统的实体,可以拥有一些属性,如emailusernameaddressphone number等,

可以加入组,成为组成员

可以分配角色

 

Authentication

识别和验证用户

 

Authorization

为用户授权

扫描二维码关注公众号,回复: 201706 查看本文章

 

Credentials

Keycloak用来识别和验证用户的一些数据,如密码、一次性密码、数字签名、指纹。

 

Roles

角色,用户的一个分类,如管理员、普通用户、管理者、普通雇员等

应用程序一般会将权限分配给指定角色,而不是直接分配给用户。

 

角色分为Realm级别角色和client级别角色。

用户可以同时拥有Realm角色和不同client的client级别的角色。

 

User role mapping

一个用户可以与0个或多个角色关联,这些关联关系可以被包含进tokenassertions中,applications可以根据这些映射关系来进行访问控制。

 

 

Composite roles 复合角色

一个复合角色可以关联多个普通角色,如复合角色superuser可以关联sales-adminorder-entry-admin角色,如果用户拥有superuser角色,则相当于同时拥有sales-adminorder-entry-admin角色。

 

Groups

组是为了更方便的管理用户

可以为组定义属性

可以为组分配角色

组成员自动继承组的属性和角色。

 

Realm 领域

一个realm管理一系列userCredentialsrolesgroups

一个user隶属于一个realm

一个user也只能log in 一个realm

Realm彼此之间是隔离的

每个realm只能管理和认证自己控制的user

 

 

Clients

Clients可以请求keycloak去认证一个user

大多数情况下,clients是一些应用和服务,这些applicationservice想要通过keycloak加固自己,并提供单点登录解决方案。

Clients还可以仅仅请求认证信息或者访问token,这样他们可以安全的调用其他被keycloak保护的服务。

 

Client apapters

Client适配器 是一种插件,

这种插件是用来安装在你的应用环境上的,

安装后,可以与keycloak进行通信,并被keycloak保护。

Keycloak针对不同的应用环境提供了不同的适配器,可以下载。

 有些应用环境keycloak没有提供apapter,可以使用第三方开发的adapter

猜你喜欢

转载自huangqiqing123.iteye.com/blog/2413321