使用kubernetes测试OpenID身份验证

时间:2017-07-24 10:14:36

标签: kubernetes openid-connect minikube

我在ubuntu 16.04中安装了使用minikube的kubernetes。 我想知道如何将基于openid-connect的身份验证与它集成。我是kubernetes的新手。所以关于如何配置的任何建议都会有所帮助。 我目前正在使用" minikube仪表板访问仪表板"命令。但我似乎没有找到任何角色特定登录。 K8S指南有以下配置部分,

    kubectl config set-credentials USER_NAME \
   --auth-provider=oidc \
   --auth-provider-arg=idp-issuer-url=( issuer url ) \
   --auth-provider-arg=client-id=( your client id ) \
   --auth-provider-arg=client-secret=( your client secret ) \
   --auth-provider-arg=refresh-token=( your refresh token ) \
   --auth-provider-arg=idp-certificate-authority=( path to your ca certificate ) \
   --auth-provider-arg=id-token=( your id_token ) \
   --auth-provider-arg=extra-scopes=( comma separated list of scopes to add to "openid email profile", optional )

有人可以告诉我如何获得

的值

1。发行人URL  2.刷新令牌  3. Id-token  4.范围外

我认为客户端ID 客户端密码是我们在创建 Google凭据时获得的。如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:0)

Kubernetes Authentication文档试图解释不同的" authn"插件。其中一个是" OpenID Connect",这要求你启动一个"身份提供商"。

因此,当您告诉kubectl使用--auth-provider=oidc时,那就是您正在使用的内容。 idp-issuer-url将指向您的身份提供商的HTTPS网址。他们给出了不同的实现示例。 CoreOS有一个叫Dex

他们的回购在./examples

下有一些例子

使用LDAP connector plugin for dex is here

的示例

有关如何在Kubernetes中完成身份验证的更多信息(例如:"什么是authn?""什么是authz"等等...),有一个{{ 3}}

所以回答你的问题:

问:我如何获得以下值:

  1. 发行人网址
  2. 刷新令牌
  3. 的Id-令牌
  4. 特范围
  5. A:great presentation by Eric Chiang here,然后使用"登录"进行身份验证。 app(在示例中有一些后端,例如LDAP)。然后,它会将您重定向到一个页面,其中~/.kube/config文件的user包含所有这些项目。