authentication - 使用 Google 作为 OIDC 提供者,而不会在 kubernetes 中泄露客户端 secret

标签 authentication kubernetes google-oauth openid-connect

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

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

但这需要 客户 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 集群中对用户进行身份验证,并且不会泄露客户端密码。

最佳答案

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

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

关于authentication - 使用 Google 作为 OIDC 提供者,而不会在 kubernetes 中泄露客户端 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55829927/

相关文章:

java - 使用 Java 和 Oauth2 对 Google Drive 进行身份验证

java - 基于 GWT RequestFactory 的身份验证

c# - 结合表单例份验证(授权)和基本身份验证(消息处理程序)的安全 Web API

RESTful)没有 SSL 和 HMAC 的简单例份验证?

kubernetes - 使用 istio 公开暴露 grafana

node.js - Google Play Android Developer API 401 权限不足

windows - 在 apache/Linux 服务器上自动验证 Windows 用户

kubernetes - 如何增加 google kubernetes 引擎上主节点的大小?

amazon-web-services - Kubernetes Cluster-IP 服务未按预期工作

ios - 针对 Google 帐户关联的操作