gpt4 book ai didi

security - 非组织成员可以利用 Google 客户端 ID 和客户端 secret 凭据吗?

转载 作者:行者123 更新时间:2023-12-02 12:36:10 25 4
gpt4 key购买 nike

假设我们有一个 Kubernetes 集群,谷歌作为 OIDC 提供者进行身份验证。
每个使用该集群的开发人员都有 ~/.kube/config配置如下:

user:
auth-provider:
config:
client-id: <client-id>
client-secret: <client-secret>
id-token: <id-token>
idp-issuer-url: https://accounts.google.com
refresh-token: <refresh-token>

当开发人员离开组织时,他会从 Google 登录中删除,并且无法使用此 ~/.kube/config访问 kubernetes 资源,因为他需要登录 Google,但他现在不能这样做。

但是客户端ID和 secret 仍然被泄露。
  • client-secret这里的泄漏会引起任何安全问题吗?
  • 非组织成员可以使用组织成员来利用它吗?
  • 这个可以吗client-idclient-secret用于制作不同的应用程序并被利用以使现有组织用户代表该现有用户登录并获得对 ID token 的访问权限?

  • 请建议。

    PS:此客户端 ID 和客户端 secret 的凭据类型是“其他”,而不是带有重定向 url 的“Web 应用程序”。

    最佳答案

    首先也是最重要的,离职后禁止使用 secret 凭证和访问帐户,这就是为什么开发人员在离职后无法访问这些数据的原因。

    Kubernetes 中 OpenID 的流程:

    1. Login to your identity provider
    2. Your identity provider will provide you with an access_token, id_token and a refresh_token
    3. When using kubectl, use your id_token with the --token flag or add it directly to your kubeconfig
    4. kubectl sends your id_token in a header called Authorization to the API server
    5. The API server will make sure the JWT signature is valid by checking against the certificate named in the configuration
    6. Check to make sure the id_token hasn’t expired
    7. Make sure the user is authorized
    8. Once authorized the API server returns a response to kubectl
    9. kubectl provides feedback to the user


    对你来说最重要的是 5 , 6 , 7 .您客户端的 JWT 无效,因此离职用户及其帐户凭据(或具有此类凭据的其他组织的成员)无法访问您的集群。

    id_token 不能被撤销,它就像一个证书,所以它应该是短暂的。
    如果不使用 kubectl proxy 命令或注入(inject) id_token 的反向代理,则无法轻松地向 Kubernetes 仪表板进行身份验证。

    您可以在这里找到更多信息: kubernetes-cluster-access .
    因此,假设您不必担心泄露 client_id 和

    您也可以删除集群/上下文/用户条目,例如:
    $ kubectl config unset users.gke_project_zone_name
    Client_secret 现在对于 k8s oidc 配置是可选的,这意味着它可以支持公共(public)客户端(有或没有 client_secret)和 secret 客户端(有 client_secret,每个 kubectl 用户)。

    因此,对您的每个问题的回答是否定的,无需担心安全方面。

    我希望它有所帮助。

    关于security - 非组织成员可以利用 Google 客户端 ID 和客户端 secret 凭据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55836757/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com