で Kubernetes を保護する AWS Private CA - AWS Private Certificate Authority

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

で Kubernetes を保護する AWS Private CA

Kubernetes コンテナとアプリケーションは、デジタル証明書を使用して、 経由で安全な認証と暗号化を提供しますTLS。Kubernetes でのTLS証明書ライフサイクル管理に広く採用されているソリューションは、証明書をリクエストし、Kubernetes コンテナに配布し、証明書の更新を自動化する Kubernetes のアドオンである cert-manager です。

AWS Private CA は、クラスターにプライベートキーを保存せずに CA をセットアップする cert-manager ユーザー向けに、cert-manageraws-privateca-issuer、 にオープンソースプラグインを提供します。CA の運用に対するアクセスの制御と監査に関する規制要件があるユーザーは、このソリューションを使用して監査可能性を高め、コンプライアンスをサポートできます。 AWS プライベート CA イシュアープラグインは、Amazon Elastic Kubernetes Service (Amazon EKS)、 上のセルフマネージド Kubernetes AWS、またはオンプレミス Kubernetes で使用できます。プラグインは x86 および ARMアーキテクチャで使用できます。

次の図は、Amazon EKSクラスターTLSで で使用できるオプションの一部を示しています。さまざまなリソースを含むこのサンプルクラスターは、ロードバランサーの背後にあります。この数値は、外部ロードバランサー、進入コントローラー、サービス内の個々のポッド、および相互に安全と通信するポッドのペアなど、 TLSで保護された通信で可能なエンドポイントを識別します。

簡略化された Kubernetes トポロジー
  1. ロードバランサーでの終了。

    Elastic Load Balancing (ELB) は AWS Certificate Manager 統合されたサービスです。つまり、プライベート CA ACMを使用してプロビジョニングし、証明書に署名して、 ELBコンソールを使用してインストールできます。このソリューションは、リモートクライアントとロードバランサーの間にある暗号化通信を提供します。データは暗号化されずにEKSクラスターに渡されます。または、非AWS ロードバランサーにプライベート証明書を提供して を終了することもできますTLS。

  2. Kubernetes イングレスコントローラーでの終了

    イングレスコントローラーは、ネイティブロードバランサーとルーターとしてEKSクラスター内にあります。cert-manager と の両方をインストールしaws-privateca-issuer、プライベート CA でクラスターをプロビジョニングした場合、Kubernetes は署名付きTLS証明書をコントローラーにインストールして、外部通信のクラスターのエンドポイントとして機能します。ロードバランサーとイングレスコントローラー間の通信は暗号化され、受信後、データは暗号化されずにクラスターのリソースに渡されます。

  3. ポッドでの終了。

    各ポッドは、ストレージとネットワークリソースを共有する 1 つ以上のコンテナのグループです。cert-manager と の両方をインストールしaws-privateca-issuer、プライベート CA でクラスターをプロビジョニングした場合、Kubernetes は必要に応じて署名付きTLS証明書をポッドにインストールできます。ポッドで終了するTLS接続は、クラスター内の他のポッドではデフォルトで使用できません。

  4. ポッド間の安全な通信。

    また、複数のポッドを相互に通信できるようにする証明書をプロビジョニングすることもできます。以下のシナリオが考えられます。

    • Kubernetes が生成した自己署名証明書によるプロビジョニング これにより、ポッド間の通信は保護されますが、自己署名証明書は HIPAAまたは FIPS要件を満たしていません。

    • プライベート CA によって署名された証明書によるプロビジョニング 上記の番号 2 と 3 と同様に、これには cert-manager と の両方をインストールしaws-privateca-issuer、クラスターをプライベート CA でプロビジョニングする必要があります。その後、Kubernetes は必要に応じて署名付きTLS証明書をポッドにインストールできます。

証明書マネージャーのクロスアカウント使用

CA へのクロスアカウントアクセス権を持つ管理者は、cert-manager を使用して Kubernetes クラスターをプロビジョニングできます。詳細については、「プライベート CAs へのクロスアカウントアクセスのセキュリティのベストプラクティス」を参照してください。

注記

クロスアカウントシナリオでは、特定の AWS Private CA 証明書テンプレートのみを使用できます。使用可能なテンプレートのリストについては、「サポートされている証明書テンプレート 」を参照してください。

サポートされている証明書テンプレート

次の表に、cert-manager で Kubernetes クラスターをプロビジョニングするために使用できる AWS Private CA テンプレートを示します。

ソリューション例

次の統合ソリューションは、Amazon EKSクラスター AWS Private CA で へのアクセスを設定する方法を示しています。