ack-ram-authenticator
通过ack-ram-authenticator组件,可以让您的ACK集群使用Webhook方式基于阿里云RAM完成请求认证。本文介绍ack-ram-authenticator组件的功能介绍、使用说明和变更记录。
索引
组件介绍
ack-ram-authenticator组件是面向ACK托管集群的认证插件,基于Kubernetes原生Webhook Token认证方式,实现通过RAM完成集群APIServer的请求认证。同时,该组件通过ConfigMap和CRD等形式提供RAM身份和RBAC权限的映射关系,帮您更灵活地配置RBAC鉴权。
对于阿里云SSO角色对接使用ACK托管集群的场景 , ack-ram-authenticator组件可以帮助您在请求APIServer时,下发请求者身份对应的Session名称,从而更安全地审计不同用户在扮演相同角色后对集群APIServer的访问请求。
使用ack-ram-authenticator组件后,集群的Webhook认证流程如下图所示。

当使用kubectl等工具发起对APIServer的认证请求时,首先通过KubeConfig中的
exec
命令插件执行机制,通过执行ack-ram-tool客户端工具生成签名后的STS请求URL。发送Webhook认证请求到ACK托管集群APIServer,通过Webhook认证配置路由到ack-ram-authenticator组件。
基于接收到的Token URL请求对阿里云RAM GetCallerIdentity接口进行认证。若认证成功,在ack-ram-authenticator组件中会寻找接口返回的RAM身份和用户在指定ConfigMap或RAMIdentityMapping的CR中配置的身份映射。
在APIServer中对映射后的用户和用户组身份进行原生RBAC鉴权,并返回鉴权结果。
使用说明
关于如何使用ack-ram-authenticator进行ACK托管集群的Webhook认证,请参见通过ack-ram-authenticator完成ACK托管集群APIServer的Webhook认证。
变更记录
2023年05月
版本号 | 镜像地址 | 变更内容 | 变更时间 | 变更影响 |
v0.1.0.5-g6e50a122-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/ram-authenticator:v0.1.0.5-g6e50a122-aliyun | 新增ack-ram-authenticator组件,首次发布。 | 2023年05月18日 | 安装和卸载此组件均会重启集群管控侧APIServer,会影响与APIServer的长连接。建议在业务低峰期进行组件的安装和卸载操作。 |