2.10. コンテナープラットフォームのセキュリティー保護
OpenShift Container Platform クラスターのセキュリティーを強化するには、OpenShift Container Platform で使用される API に対して実施できるセキュリティー強化策を理解しておく必要があります。OpenShift Container Platform および Kubernetes API は、スケーリング時にコンテナー管理を自動化する鍵となります。API は以下の目的で使用されます。
- Pod、サービス、およびレプリケーションコントローラーのデータの検証および設定。
- 受信リクエストに対するプロジェクト検証の実行と、他の主要なシステムコンポーネントのトリガー起動。
Kubernetes をベースとする OpenShift Container Platform のセキュリティー関連機能には、以下が含まれます。
- マルチテナンシー: ロールベースのアクセス制御とネットワークポリシーを統合し、複数のレベルでコンテナーを分離します。
- アドミッションプラグイン: API と API へのリクエストを送信する側との間の境界を形成するものです。
OpenShift Container Platform は Operator を使用して Kubernetes レベルのセキュリティー機能の管理を自動化し、単純化します。
2.10.1. マルチテナンシーによるコンテナーの分離 リンクのコピーリンクがクリップボードにコピーされました!
マルチテナンシーを設定することで、OpenShift Container Platform クラスター上で複数のユーザーが所有し、複数のホストと namespace にまたがって実行されるアプリケーションを互いに分離し、さらに外部からの攻撃から隔離できます。
ロールベースアクセス制御 (RBAC) を Kubernetes namespace に適用して、マルチテナンシーを取得します。
Kubernetes では、namespace はアプリケーションを他のアプリケーションと分離した状態で実行できるエリアです。OpenShift Container Platform は、SELinux の MCS ラベルを含む追加のアノテーションを追加して namespace を使用し、これを拡張し、これらの拡張された namespace を プロジェクト として特定します。プロジェクトの範囲内で、ユーザーは、サービスアカウント、ポリシー、制約、およびその他のオブジェクトなど、独自のクラスターリソースを維持できます。
RBAC オブジェクトはプロジェクトに割り当てられ、選択されたユーザーのそれらのプロジェクトへのアクセスを認可します。この認可には、ルール、ロール、およびバインディングの形式が使用されます。
- ルールは、ユーザーがプロジェクト内で作成またはアクセスできるものを定義します。
- ロールは、選択されたユーザーまたはグループにバインドできるルールのコレクションです。
- バインディングは、ユーザーまたはグループとロール間の関連付けを定義します。
ローカル RBAC ロールおよびバインディングは、ユーザーまたはグループを特定のプロジェクトに割り当てます。クラスター RBAC では、クラスター全体のロールおよびバインディングをクラスターのすべてのプロジェクトに割り当てることができます。admin、basic-user、cluster-admin、および cluster-status アクセスを提供するために割り当てることのできるデフォルトのクラスターロールがあります。