第7章 トランスポート暗号化の提供
OpenShift Serverless Serving トランスポート暗号化を有効にすると、TLS を使用して保護および暗号化された HTTPS 接続を介してデータを転送できるようになります。
OpenShift Serverless Serving のトランスポート暗号化はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
トランスポート暗号化の提供は、Ingress レイヤーとしての Kourier でのみ利用可能です。Red Hat OpenShift Service Mesh の場合、サービスメッシュ mTLS 機能を使用してトラフィックの暗号化を確保します。
7.1. トランスポート暗号化の提供の概要
OpenShift Serverless Serving のトランスポート暗号化には 3 つの部分があります。
- 外部ドメインの暗号化
-
クラスター外部の Ingress レイヤーでのトランスポート暗号化。たとえば、cluster-external ドメイン (例:
myapp-<namespace>.example.com
)。 - cluster-local の暗号化
-
クラスター内部の Ingress レイヤーでのトランスポート暗号化。たとえば、cluster-local ドメイン (例:
myapp.<namespace>.svc.cluster.local
)。 - system-internal の暗号化
-
ingress-gateway
、activator
、queue-proxy
Knative 内部コンポーネント間のトランスポート暗号化。
Kubernetes PreStopHooks、メタデータ、メトリクスなどのコントロールプレーントラフィックにはユーザーデータは含まれず、暗号化されていません。
それぞれの部分は互いに独立しており、個別に有効化または無効化できます。必要な証明書に署名するために、同じまたは異なる認証局 (CA) を使用できます。
トランスポート暗号化を示す図については、OpenShift Serverless Serving Transport Encryption を参照してください。
7.1.1. 外部ドメインの暗号化
外部ドメインのトランスポート暗号化は、クラスターの Ingress レイヤー (OpenShift Container Platform Ingress または Red Hat OpenShift Service Mesh のいずれか) によって処理されます。
7.1.2. cluster-local の暗号化
cluster-local 暗号化により、cluster-local ドメインのトランスポート暗号化が有効になります。次のような特性があります。
-
証明書のコモンネーム (CN) またはサブジェクト代替名 (SAN) には、Knative Service の cluster-local ドメイン (例:
myapp.namespace.svc.cluster.local
、myapp.namespace.svc
、myapp.namespace
) が含まれます。 -
ingress-controller
コンポーネントの cluster-local エンドポイントは、SNI を使用して証明書を選択します。 -
証明書を作成するために、Knative は
cert-manager
に依存しており、機能が動作するにはこれをインストールして設定する必要があります。詳細は、cert-manager Operator for Red Hat OpenShift を参照してください。
呼び出し元は、cluster-local 証明書に署名した CA を信頼する必要があります。これは OpenShift Serverless の範囲外です。
7.1.3. system-internal の暗号化
system-internal の暗号化により、ingress-gateway
、activator
、queue-proxy
Knative 内部コンポーネントのトランスポート暗号化が有効になります。この設定が使用される場合、これらのコンポーネントは TLS エンドポイントをホストします。
この機能を使用するには、次の前提条件を満たす必要があります。
-
OpenShift Serverless が証明書を取得するには、
cert-manager
をインストールして設定する必要があります。 - 各接続を検証するために特定の SAN が使用されます。各コンポーネントは、証明書に署名した CA を信頼する必要があります。この要件を満たすために、OpenShift Serverless システムコンポーネントは CA のバンドルを消費し、信頼します。CA バンドルはクラスター管理者が提供する必要があります。