基于资源的权限似乎可以正常工作,但是我还没有突破基于范围的权限。这是一个测试设置:
df1 = df.loc[df.num_bikes.eq(0)]
pd.crosstab([df1.Time, df1.station], 'Occurrences').reset_index()
Out[996]:
Time station Occurrences
0 3.02 Girwood 2
1 4.10 Fraser 1
2 7.46 Fraser 1
3 10.10 Carslile 1
组中的foo
。 组foos
具有角色foos
,这意味着用户foorole
的有效角色包括foo
。
在某些客户端的“授权”选项卡中,添加范围为foorole
的资源foores
。
dofoo
的角色策略foopolicy
。foorole
权限,该权限指定fooperm
和foopolicy
范围然后在“授权”->“评估”选项卡中,输入用户dofoo
和资源foo
。评估失败-权限被拒绝。
当我输入角色foores
(而不是该用户)时,将被授予权限。 (闪亮的新密钥斗篷8.0.0无法解析用户角色)
这可以在Keycloak 4.4.0中按预期方式工作。最终版-我还没有设法在两者之间测试版本。
[[我正在Centos Macos客户机上在K8s中运行keycloak docker映像]
设置:
foorole
,并将其整合为barrole
。foo
和barres
和dobar
的政策barpolicy
和barrole
和barperm
范围的权限barpolicy
。按组成,应该为用户foo授予barperm权限(KC4.4.0.Final可以),但不能授予KC8。
设置:
dobar
和foores
添加类型,称为barres
。然后评估角色和资源类型: test
被允许在barrole
上dobar
,并被拒绝在barres
上dofoo
AND-foores
被允许在foorole
上dofoo
进入foores
,但不允许dobar
上barres
在FWP.refresh()
上达到合成要求(同样,在4.4.0。最终版)
除非有必要,否则在中间版本中的某些地方需要配置一些我所缺少的东西。
最后,即使将用户foo从组中删除并直接授予角色,其行为也相同。