通过ack-ram-authenticator组件,可以让您的ACK托管集群使用Webhook方式基于阿里云RAM完成请求认证。本文介绍ack-ram-authenticator组件的功能介绍、使用说明和变更记录。
组件介绍
ack-ram-authenticator组件是面向ACK托管集群的认证插件,基于Kubernetes原生Webhook Token认证方式,实现通过RAM完成集群API Server的请求认证。同时,该组件通过CRD形式提供RAM身份和RBAC权限的映射关系,帮您更灵活地配置RBAC鉴权。
对于阿里云SSO角色对接使用ACK托管集群的场景, ack-ram-authenticator组件可以帮助您在请求API Server时,下发请求者身份对应的Session名称,从而更安全地审计不同用户在扮演相同角色后对集群API Server的访问请求。
使用ack-ram-authenticator组件后,集群的Webhook认证流程如下图所示。
当使用kubectl等工具发起对API Server的认证请求时,首先通过KubeConfig中的
exec
命令插件执行机制,执行ack-ram-tool客户端工具生成签名后的STS请求URL。发送Webhook认证请求到ACK托管集群API Server,通过Webhook认证配置路由到ack-ram-authenticator组件。
基于接收到的Token URL请求对阿里云RAM GetCallerIdentity接口进行认证。若认证成功,在ack-ram-authenticator组件中会寻找接口返回的RAM身份和用户在指定RAMIdentityMapping的CR中配置的身份映射。
在API Server中对映射后的用户和用户组身份进行原生RBAC鉴权,并返回鉴权结果。
使用说明
关于如何使用ack-ram-authenticator进行ACK托管集群的Webhook认证,请参见通过ack-ram-authenticator完成ACK托管集群API Server的Webhook认证。
变更记录
2024年09月
版本号 | 变更内容 | 变更时间 | 变更影响 |
v0.3.0.0-gea598ff0-aliyun | 升级组件使用的Golang版本为1.22.7,提升组件稳定性。 | 2024年09月09日 | 安装和卸载此组件均会重启集群控制面API Server,会影响与API Server的长连接。建议在业务低峰期进行组件的安装和卸载操作。 |
2024年04月
版本号 | 变更内容 | 变更时间 | 变更影响 |
v0.2.1.3-g694325a9-aliyun | 请求GetCallerIdentity接口时传递组件版本信息便于问题定位。 | 2024年04月12日 | 安装和卸载此组件均会重启集群控制面API Server,会影响与API Server的长连接。建议在业务低峰期进行组件的安装和卸载操作。 |
v0.2.0.3-gcea89d25-aliyun | 当前处于灰度发布中。 新增支持ARM架构。 | 2024年04月10日 |
2023年11月
版本号 | 变更内容 | 变更时间 | 变更影响 |
v0.2.0.0-g9cf9d682-aliyun |
| 2023年11月15日 | 安装和卸载此组件均会重启集群控制面API Server,会影响与API Server的长连接。建议在业务低峰期进行组件的安装和卸载操作。 |
2023年05月
版本号 | 变更内容 | 变更时间 | 变更影响 |
v0.1.0.5-g6e50a122-aliyun | 新增ack-ram-authenticator组件,首次发布。 | 2023年05月18日 | 安装和卸载此组件均会重启集群控制面API Server,会影响与API Server的长连接。建议在业务低峰期进行组件的安装和卸载操作。 |