我想知道基于角色的授权在 FIWARE Keyrock 中是如何工作的。我测试了一个场景,用户 A 在 Keyrock 中注册了一个应用程序 appA。不在应用程序 appA 授权列表中的用户 B 可以为另一个应用程序(例如 appB)请求令牌,并使用从 appB 获得的令牌成功访问 appA。
执行的另一项测试是将用户 A 包括在 appA 的授权列表中,但其角色没有权限。同样,用户 A 可以使用来自另一个应用程序的凭据访问 appA。
谁能解释我这是如何工作的,如果它真的有效吗?
我想知道基于角色的授权在 FIWARE Keyrock 中是如何工作的。我测试了一个场景,用户 A 在 Keyrock 中注册了一个应用程序 appA。不在应用程序 appA 授权列表中的用户 B 可以为另一个应用程序(例如 appB)请求令牌,并使用从 appB 获得的令牌成功访问 appA。
执行的另一项测试是将用户 A 包括在 appA 的授权列表中,但其角色没有权限。同样,用户 A 可以使用来自另一个应用程序的凭据访问 appA。
谁能解释我这是如何工作的,如果它真的有效吗?
正如@Álvaro 在评论中所说,我们可以在此视频中看到此配置的示例。
之前看到这个视频时,我忽略了 Keyrock 权限配置的确切部分,因为它不符合我的兴趣。现在,我对这个功能很感兴趣,我忘记了这个视频提供了这样的信息。
此外,下面我列出了我必须为工作做的事情:
安装 AZF:
配置 Wilma PEP(config.js
文件):
config.azf = {
enabled: true,
protocol: 'http',
host: '10.30.0.21', //this is your authzforce ip
port: 8080, //6019,
custom_policy: undefined // use undefined to default policy checks (HTTP verb + path).
};
配置 Keyrock(local_settings.py
文件,位于/horizon/openstack_dashboard/local/local_settings.py
)
ACCESS_CONTROL_URL = 'http://10.30.0.21:8080'
ACCESS_CONTROL_MAGIC_KEY = None # If you have problems, put something instead of None. Currently there is a reported bug related to this.
记得重启服务。为了让事情顺利进行,您需要为要保护/访问的应用程序的正确端点创建特定权限。创建后,Wilma PEP 代理将咨询 AZF。
我希望它可以帮助某人。