Kubernetes webhook用户客户端证书配置的含义是什么?

时间:2017-11-27 12:32:06

标签: kubernetes kubernetes-security

我需要为Kubernetes实现自定义身份验证和授权模块。这将不得不通过网络钩子完成。

authenticationauthorisation webhooks的文档描述了API服务器需要启动的配置文件。

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

# 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 /是什么时候要点击的URL端点? authz决定是必需的,当我通过HTTPS连接时,谁是webhook的TLS证书的CA权限,以便我知道我可以信任远程webhook?“

我不确定users部分。 client-certificateclient-key字段的用途是什么?文件中的注释显示“要使用的webhook插件的证书”,但由于此配置文件是给予API服务器的,而不是Web挂钩,我不明白这意味着什么。这是一个允许webhook服务验证API服务器将使用它启动的连接的证书吗?即客户端证书需要进入webhook服务器的信任库吗?

这两个假设都是正确的吗?

0 个答案:

没有答案