gpt4 book ai didi

kubernetes - Kubernetes webhook 用户客户端证书配置是什么意思?

转载 作者:行者123 更新时间:2023-12-02 11:49:07 24 4
gpt4 key购买 nike

我需要为 Kubernetes 实现一个自定义的身份验证和授权模块。这必须通过网络 Hook 来完成。

authentication 的文档和 authorisation webhooks 描述了 API Server 需要启动的配置文件。

对于身份验证和授权,配置文件看起来相同,如下所示:

# clusters refers to the remote service.
clusters:
- name: name-of-remote-authn-service
cluster:
certificate-authority: /path/to/ca.pem # CA for verifying the remote service.
server: https://authn.example.com/authenticate # URL of remote service to query. Must use 'https'.

# users refers to the API server's webhook configuration.
users:
- name: name-of-api-server
user:
client-certificate: /path/to/cert.pem # cert for the webhook plugin to use
client-key: /path/to/key.pem # key matching the cert

# kubeconfig files require a context. Provide one for the API server.
current-context: webhook
contexts:
- context:
cluster: name-of-remote-authn-service
user: name-of-api-sever
name: webhook

我可以看到 clusters部分指的是远程服务,即它定义了 webhook,从而回答了 API 服务器需要回答的问题:“当需要 authn/authz 决策时,以及当我通过 HTTPS 连接时,谁要访问的 URL 端点是什么?是 webhook 的 TLS 证书的 CA 授权,以便我知道我可以信任远程 webhook?”

我不确定 users部分。 client-certificate 的目的是什么?和 client-key领域?文件中的注释说“要使用的 webhook 插件的证书”,但是由于这个配置文件是给 API 服务器的,而不是 web 钩子(Hook),我不明白这是什么意思。这是一个允许 webhook 服务验证 API 服务器将使用它启动的连接的证书吗?即客户端证书需要进入 webhook 服务器的信任库?

这两个假设都正确吗?

最佳答案

Kubernetes webhook 正在使用 two-way SSL authentication ,所以 users 中的字段部分用于配置“客户端身份验证”的证书。
clusters部分配置只是正常工作的一种 SSL 身份验证方式,即服务器(这里是您的 webhook 模块)将使用配置的证书验证客户端(这里是 Kubernetes)的请求。

只要你在 users 中配置了证书部分,客户端(Kubernetes)可以验证服务器(webhook 模块)响应的能力,就像单向 SSL 的反向 CA 身份验证一样。

关于kubernetes - Kubernetes webhook 用户客户端证书配置是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47511078/

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