使用Google作为OIDC提供者,而不会泄漏kubernetes中的客户端机密

时间:2019-04-24 12:21:07

标签: authentication kubernetes google-oauth oidc

我们只有一个kubernetes开发集群。我们希望为在此开发集群上工作的每个开发人员提供命名空间受控访问。

我们想使用Google作为kubernetes API支持的OIDC提供程序对其进行身份验证。

但这需要 client-secret (客户机密)成为~/.kube/config

的一部分
users:
- name: you@yourdomain.com
  user:
    auth-provider:
      name: oidc      
      config:
        client-id: <client-id>
        client-secret: <client-secret>
        idp-issuer-url: https://accounts.google.com        
        id-token: <id-token>
        refresh-token: <refresh-token>

我们不希望将用户机密泄露给用户,因为当开发人员离开组织时,客户机密将被泄露,并且可能被用来模仿。

请建议如何使用google作为OIDC提供程序来在kubernetes集群中对用户进行身份验证,而又不泄露客户端机密。

1 个答案:

答案 0 :(得分:0)

Client_secret 现在对于k8s oidc配置是可选的,这意味着它可以支持公共客户端(带有或不带有client_secret)和机密客户端(每个kubectl用户带有client_secret)。

这意味着您无需使用客户端机密进行身份验证,但正如我在回答您的下一个问题openid-kubernetes时所写的那样,无需担心凭据泄漏。