Kubernetes OpenID Connect身份验证失败时记录

时间:2019-02-01 17:10:31

标签: kubernetes openid-connect keycloak

我已尝试如下设置OpenID Connect(OIDC)身份验证的Kubernetes 1.13:

  • 已安装的Keycloak服务器
  • --oidc-issuer-url=https://my_keycloak/auth/realms/my_realm添加了命令行选项kube-apiserver
  • 将ID令牌存储在users.user.auth-provider.config.client-id等处,存储在kubeconfig的my_user

根据我对文档kubectl的阅读,现在应该能够以my_user的身份访问群集。但是,kubectl get nodes说:

error: You must be logged in to the server (Unauthorized)

curl -k https://api_server:6443/api/v2/nodes --header "Authorization: Bearer $id_token"说:

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "Unauthorized",
  "reason": "Unauthorized",
  "code": 401
}

kubectl logs $kube_apiserver -n kube-systemjournalctl -u kubelet.service和Keycloak的标准输出都保持沉默。那么我在哪里可以看到更多日志记录信息,以识别OIDC身份验证可能出了问题?

客户端(keyctl)或服务器(例如API服务器)上的

UPDATE 选项--v都有一定程度的帮助。

1 个答案:

答案 0 :(得分:0)

如果您使用email声明,则Kubernetes要求您的email_verified声明为true。默认情况下,在Keycloak中,它设置为false

来源:https://github.com/kubernetes/kubernetes/search?q=email_verified&unscoped_q=email_verified