NGINX Ingress上的客户SubjectName验证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX Ingress上的客户SubjectName验证相关的知识,希望对你有一定的参考价值。
我正在尝试配置nginx入口控制器,它还可以验证来自客户端的唯一CN或Subjectname。原因是,我们只希望将客户端配置为访问NGINX入口控制器,并且可以删除使用同一CA和密钥签名的其余客户端。
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 2 (0x2)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=testAuthority
Validity
Not Before: Apr 5 08:02:23 2020 GMT
Not After : Apr 5 08:02:23 2021 GMT
Subject: CN=**client**
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
<snipped>
Exponent: 65537 (0x10001)
Signature Algorithm: sha256WithRSAEncryption
<snipped>
-----BEGIN CERTIFICATE-----
<snipped>
-----END CERTIFICATE-----
如果从上面的证书(如Subject:CN]),证书密钥或指纹接收到对NGINX控制器的请求,则应将其转发到后端。其余证书应被拒绝。
如果在Ingress中可以配置一些注释或configmap,则可能会有所帮助。
我正在尝试配置NGINX入口控制器,它还可以验证来自客户端的唯一CN或Subjectname。原因是,我们只希望将客户端配置为访问NGINX ...
答案
您可以尝试extract CN into variable,然后通过configuration snippet拒绝基于此变量的访问。可能的解决方法之一是将其他Ingress与专用的CA +客户端证书身份验证结合使用,并仅将客户端证书颁发给允许的客户端。
以上是关于NGINX Ingress上的客户SubjectName验证的主要内容,如果未能解决你的问题,请参考以下文章
使用 Nginx-Ingress-Controller 在 AWS 上的 EKS 中使用 gRPC
11. Ingress及Ingress Controller(主nginx ingress controller)
Nginx Ingress:找不到 "ingress-nginx-controller-admission "服务。