Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 非组织成员是否可以利用Google客户端id和客户端机密凭据?_Security_Authentication_Kubernetes_Google Oauth - Fatal编程技术网

Security 非组织成员是否可以利用Google客户端id和客户端机密凭据?

Security 非组织成员是否可以利用Google客户端id和客户端机密凭据?,security,authentication,kubernetes,google-oauth,Security,Authentication,Kubernetes,Google Oauth,假设我们有一个kubernetes集群,Google作为身份验证的OIDC提供者。 使用该集群的每个开发人员都配置了~/.kube/config,配置如下: user: auth-provider: config: client-id: <client-id> client-secret: <client-secret> id-token: <id-token> idp-iss

假设我们有一个kubernetes集群,Google作为身份验证的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>
用户:
身份验证提供程序:
配置:
客户端id:
客户机密:
id令牌:
idp颁发者url:https://accounts.google.com
刷新令牌:
当开发人员离开组织时,他将从Google登录中删除,并且他不能使用此
~/.kube/config
访问kubernetes资源,因为他需要登录Google,但他现在不能这样做

但客户id和机密仍被泄露

  • 客户端机密
    此处的泄漏可能会引起任何安全问题
  • 非组织成员可以使用组织成员利用它吗
  • 客户id
    客户机密
    是否可用于制作不同的应用程序,并可被利用以使现有组织用户登录并代表该现有用户访问id令牌
请建议


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

首先,离开工作后禁止使用可靠凭据和访问帐户,这就是为什么开发人员在离开工作后无法访问此类数据的原因

Kubernetes中OpenID的流程:

  • 登录到您的身份提供商
  • 您的身份提供商将为您提供访问令牌、id令牌和刷新令牌
  • 使用kubectl时,请将id_令牌与--token标志一起使用,或直接将其添加到kubeconfig中
  • kubectl将名为Authorization的标头中的id_令牌发送到API服务器
  • API服务器将通过检查配置中指定的证书来确保JWT签名有效
  • 检查以确保id_令牌未过期
  • 确保用户已获得授权
  • 一旦授权,API服务器将向kubectl返回响应
  • kubectl向用户提供反馈
  • 对你来说,最重要的几点是567。客户端的JWT无效,因此离开作业及其帐户凭据的用户(或具有此类凭据的其他组织的成员)无法访问您的群集

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

    您可以在此处找到更多信息:。 因此,假设您不必担心泄露客户端id和

    您还可以删除群集/上下文/用户条目,例如:

    $kubectl config unset users.gke_project_zone_name

    现在,k8s oidc配置的客户机密码是可选的,这意味着它可以支持公共客户机(有或没有客户机密码)和机密客户机(每个kubectl用户都有客户机密码)

    所以每个问题的答案都是否定的,不需要担心安全问题


    我希望这能有所帮助。

    首先也是最重要的一点,离职后禁止使用可靠的凭证和访问帐户,这就是为什么开发者在离职后无法访问此类数据的原因

    Kubernetes中OpenID的流程:

  • 登录到您的身份提供商
  • 您的身份提供商将为您提供访问令牌、id令牌和刷新令牌
  • 使用kubectl时,请将id_令牌与--token标志一起使用,或直接将其添加到kubeconfig中
  • kubectl将名为Authorization的标头中的id_令牌发送到API服务器
  • API服务器将通过检查配置中指定的证书来确保JWT签名有效
  • 检查以确保id_令牌未过期
  • 确保用户已获得授权
  • 一旦授权,API服务器将向kubectl返回响应
  • kubectl向用户提供反馈
  • 对你来说,最重要的几点是567。客户端的JWT无效,因此离开作业及其帐户凭据的用户(或具有此类凭据的其他组织的成员)无法访问您的群集

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

    您可以在此处找到更多信息:。 因此,假设您不必担心泄露客户端id和

    您还可以删除群集/上下文/用户条目,例如:

    $kubectl config unset users.gke_project_zone_name

    现在,k8s oidc配置的客户机密码是可选的,这意味着它可以支持公共客户机(有或没有客户机密码)和机密客户机(每个kubectl用户都有客户机密码)

    所以每个问题的答案都是否定的,不需要担心安全问题

    我希望有帮助