Keyrock 中的角色是如何工作的?

How does roles work in Keyrock?

我想知道基于角色的授权在 FIWARE Keyrock 中是如何工作的。我测试了一个场景,用户A在Keyrock中注册了一个应用程序appA。不在应用程序 appA 的授权列表中的用户 B 可以为另一个应用程序(例如 appB)请求令牌,并使用从 appB 获得的令牌成功访问 appA。

执行的另一项测试是将用户 A 包含在 appA 的授权列表中,但其角色没有权限。同样,用户 A 使用来自另一个应用程序的凭据访问 appA。

任何人都可以向我解释一下这是如何工作的,如果它真的有效的话?

正如@Álvaro 在评论中所说,我们可以在 this video.

中看到此配置的示例

当我看到这个视频时,之前,我忽略了 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.

记得重启服务。为了让事情正常进行,您需要为您想要 secure/access 的应用程序的正确端点创建特定权限。创建后,Wilma PEP 代理将咨询 AZF。

希望对大家有所帮助。