Keycloak 支持¶
launchpad 蓝图: https://blueprints.launchpad.net/vitrage/+spec/keycloak-support
作为一项持续的努力,旨在使 vitrage 能够在非 OpenStack 环境中工作(除了默认的 OpenStack 环境之外)。我们应该能够使 vitrage 与 Keystone 以外的不同授权服务器一起工作。可选的授权服务器可以是 Keycloak,它是一个面向现代应用程序和服务的开源身份和访问管理解决方案
问题描述¶
目前,Vitrage 只能在 OpenStack 环境中工作,因为它需要 Keystone 进行授权。我们应该支持其他授权,例如 Keycloak。
提议的变更¶
Vitrage 配置文件 api 部分中的新 auth_mode
[api]
auth_mode = keycloak
Vitrage 配置中的新 keycloak 部分,包含 auth_url
[keycloak]
auth_url = http://[keycloak server]:[keycloak port]/auth
Vitrage 服务器将使用一个新的中间件,在收到 api 请求后与 Keycloak 服务器进行身份验证。
将向 vitrage 客户端添加一个新的授权插件,该插件将从 Keycloak 服务器获取 token 并将其与 api 请求一起发送。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
使用客户端时,我们应该使用 keycloak-plugin
版本影响¶
无
其他最终用户影响¶
无
部署者影响¶
要使用 Keycloak 授权,需要在 Vitrage 配置文件中定义它。
开发者影响¶
无
Horizon 影响¶
无
实现¶
负责人¶
- 主要负责人
eyalb1
工作项¶
在客户端创建 Keycloak 插件
在服务器端创建 Keycloak 插件
依赖项¶
无
测试¶
此蓝图需要单元测试。
文档影响¶
KeyCloak 授权的使用将记录在文档中