2018年のこの記事は次のように述べています(私の強調):
Kubernetesクラスタがデジタル証明書に自己署名することは一般的な慣行です。この事実が議論されるとき、私はしばしばセキュリティ実践者から毛深い目玉を手に入れます信頼できるCAによって署名された「実際の」証明書を使用しないのはなぜですか。まあ、それをする人もいますが、私たちの残りの部分では、セキュリティ上の大きなメリットは得られず、自分のためにより多くの仕事を生み出しています。ご覧のとおり、Kubernetesクラスタは、クラスタの管理のあらゆる側面で多くのデジタル証明書を使用しています。たとえば、各ノードには、その信頼性を検証するための独自のデジタル証明書があります。 '[1]
EKSで管理されているKubernetesが独自の証明書を作成してデプロイできるようにするための正しいアプローチはまだありますか?
[1] https://www.nickaws.net/aws/2018/08/16/Verifying-digital-certificates.html
一般にKubernetesでは、証明書は内部で管理されている認証局によって署名されているため、実際には「自己署名」されていません。
通常、証明書に署名する主なポイントの1つは、そのサービスのクライアントが証明書の有効性を保証できるようにすることです。 Kubernetesの場合、これは、クライアントがセットアップ時にCA証明書を持っていることを確認することによって処理されます。したがって、たとえば、クラスターノードのkubeletには、セットアップの一部としてCA証明書ファイルが与えられるため、接続先のAPIサーバーの証明書を検証できます。
エンドユーザーの場合、この認証局データは通常、クラスターへのログインに使用されるkubeconfigファイルの一部として渡されます。
そのため、「自己署名」証明書に関する本当に不満は、一般的なKubernetesでもEKSでも当てはまりません。 Kubernetesが証明書を管理する方法には他にも問題があります(失効サポートの欠如など)が、これらは特にこの問題に関連しているわけではありません。