【问题标题】:Keycloak KubeAPI Authentication FailsKeycloak KubeAPI 身份验证失败
【发布时间】:2023-03-02 23:18:01
【问题描述】:
请参考上图,我正在尝试使用 Kubernetes API 访问 Kubernetes 集群,为此,如 documents 中所述,我正在使用 Python Kuberentes 客户端,它需要一个令牌才能与 Kube API 进行通信。
当我尝试使用 Kube 登录在 Kube-config 文件中添加的令牌对用户进行身份验证时,一切正常,Keycloak REST API 提供的令牌会导致未授权错误。
如果有人能就这个问题提供任何见解,我会很高兴。
【问题讨论】:
标签:
python
kubernetes
jwt
keycloak
kube-apiserver
【解决方案1】:
我们已经解决了这个问题,以下是我们的发现和解决方案:
- 使用 KubeLogin 客户端生成的令牌存在差异
和 Keycloak Rest API,颁发者 URL 是使用 KubeLogin 生成的令牌中的主机名,而在使用 Keycloak Rest API 生成的令牌中
颁发者 URL 是 IP 地址。
- 另外,在我们(Keycloak 实例)生成的证书中,我们有
主机名作为发行人名称,这可能是导致未授权错误的原因。我们使用具有 DNS 名称的新证书重新配置了 Keycloak。
- 我们必须创建具有集群范围的 RBAC。