9.4. コントロールプレーンの TLS セキュリティープロファイルの設定
コントロールプレーンの TLS セキュリティープロファイルを設定するには、APIServer
カスタムリソース (CR) を編集して、事前定義済みまたはカスタムの TLS セキュリティープロファイルを指定します。APIServer
CR に TLS セキュリティープロファイルを設定すると、設定は以下のコントロールプレーンのコンポーネントに伝播されます。
- Kubernetes API サーバー
- OpenShift API サーバー
- OpenShift OAuth API サーバー
- OpenShift OAuth サーバー
TLS セキュリティープロファイルが設定されていない場合には、TLS セキュリティープロファイルは Intermediate
になります。
Ingress コントローラーのデフォルトの TLS セキュリティープロファイルは API サーバーの TLS セキュリティープロファイルに基づいています。
Old
TLS のセキュリティープロファイルを設定するサンプル APIServer
CR
apiVersion: config.openshift.io/v1 kind: APIServer ... spec: tlsSecurityProfile: old: {} type: Old ...
TLS セキュリティープロファイルは、コントロールプレーンのコンポーネントとの通信に必要な TLS の最小バージョンと TLS 暗号を定義します。
設定した TLS セキュリティープロファイルは、Spec.Tls Security Profile
の APIServer
カスタムリソース (CR) で確認できます。Custom
TLS セキュリティープロファイルの場合には、特定の暗号と最小 TLS バージョンが一覧表示されます。
コントロールプレーンは、最小 TLS バージョンとして TLS 1.3
をサポートしません。Modern
プロファイルは TLS 1.3
を必要とするため、サポート対象外です。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
デフォルトの
APIServer
CR を編集して TLS セキュリティープロファイルを設定します。$ oc edit APIServer cluster
spec.tlsSecurityProfile
フィールドを追加します。Custom
プロファイルのAPIServer
CR のサンプルapiVersion: config.openshift.io/v1 kind: APIServer metadata: name: cluster spec: tlsSecurityProfile: type: Custom 1 custom: 2 ciphers: 3 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11
- 変更を適用するためにファイルを保存します。
検証
TLS セキュリティープロファイルが
APIServer
CR に設定されていることを確認します。$ oc describe apiserver cluster
出力例
Name: cluster Namespace: ... API Version: config.openshift.io/v1 Kind: APIServer ... Spec: Audit: Profile: Default Tls Security Profile: Custom: Ciphers: ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 Min TLS Version: VersionTLS11 Type: Custom ...