第2章 ネイティブドライバーを使用する CephFS
CephFS ネイティブドライバーは、OpenStack Shared File Systems サービス (manila) と Red Hat Ceph Storage を結び付けます。Red Hat OpenStack (RHOSP) director を使用する場合、コントローラーノードはマネージャー、メタデータサーバー (MDS)、および モニター (MON) などの Ceph デーモンならびに Shared File Systems サービスをホストします。
コンピュートノードは 1 つまたは複数のプロジェクトをホストすることができます。以下の図で白い長方形で表されるプロジェクト (従来はテナントと呼ばれていた) には、ユーザー管理の仮想マシン (2 つの NIC を持つ灰色の長方形で表される) が含まれます。ceph および manila デーモンプロジェクトにアクセスするには、パブリック Ceph ストレージネットワーク経由でデーモンに接続します。このネットワーク上で、Ceph オブジェクトストレージデーモン (OSD) の提供するストレージノードに保管されたデータにアクセスすることができます。プロジェクトがホストするインスタンス (仮想マシン) は、2 つの NIC と共に起動します。1 つの NIC はストレージプロバイダーネットワーク専用で、2 つ目の NIC は外部プロバイダーネットワークに接続するためのプロジェクト所有のルーター専用です。
ストレージプロバイダーネットワークは、プロジェクト上で動作する仮想マシンをパブリック Ceph ストレージネットワークに接続します。Ceph パブリックネットワークは、Ceph オブジェクトストレージノード、メタデータサーバー (MDS)、およびコントローラーノードへのバックエンドアクセスを提供します。
ネイティブドライバーを使用する場合、CephFS では、クォータの適用、確実なプロジェクト間の分離、およびセキュリティー確保のために、クライアントおよびサーバーとの協調が必要になります。ネイティブドライバーを使用する CephFS は、プライベートクラウド上の信頼済みエンドユーザーが定義された環境で適切に機能します。この設定での協調および適切な動作のためには、ソフトウェアはユーザーの管理下で動作している必要があります。
2.1. セキュリティーに関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
ネイティブ CephFS バックエンドには、OpenStack Platform テナントに許容信頼モデルが必要です。この信頼モデルは、OpenStack Platform が提供するサービスの背後にあるインフラストラクチャーにユーザーが直接アクセスするのを意図的にブロックする汎用の OpenStack Platform クラウドには適切ではありません。
ネイティブ CephFS では、ユーザーのコンピュートインスタンス (VM) は、ファイル共有にアクセスするのに Ceph パブリックネットワークに直接接続する必要があります。Ceph インフラストラクチャーサービスデーモンは Ceph パブリックネットワークにデプロイされ、ユーザーの仮想マシンに公開されます。ユーザー仮想マシンで実行される CephFS クライアントは Ceph サービスデーモンと連携し、ファイルデータブロックの読み取りおよび書き込みのために RADOS と直接対話します。
Shared File Systems (manila) 共有サイズを適用する CephFS クォータは、Red Hat OpenStack Platform (RHOSP) ユーザーが所有する仮想マシンなど、クライアント側で適用されます。ユーザー仮想マシンのクライアント側のソフトウェアバージョンは最新ではない可能性があるため、重要なクラウドインフラストラクチャーが Ceph サービスポートをターゲットにする悪意のあるまたは意図的ではないが有害なソフトウェアに対して脆弱になる可能性があります。
このため、Red Hat は、信頼できるユーザーがクライアント側ソフトウェアを最新バージョンに維持する環境でのみ、ネイティブ CephFS をバックエンドとしてデプロイすることを推奨します。また、ユーザーは、Ceph Storage インフラストラクチャーに影響を与える可能性のあるソフトウェアが仮想マシンで実行されないようにする必要があります。
数多くの信頼できないユーザーに対応する汎用 RHOSP デプロイメントについては、Red Hat は NFS バックエンドに CephFS を使用する設定を推奨しています。NFS バックエンドに CephFS を使用する設定についての詳細は、NFS バックエンドに CephFS を使用した Shared File Systems サービスのデプロイ を参照してください。
ユーザーがクライアント側のソフトウェアを最新版に維持できはない、また仮想マシンから有害なソフトウェアを除外できない状況でも、NFS バックエンドに CephFS を使用する設定を使用すると、ユーザーは NFS サーバーの公開側にだけアクセスでき、Ceph インフラストラクチャー自体にはアクセスできません。NFS は同様の協調的なクライアントを必要としないので、最悪の場合でも、ユーザー仮想マシンからの攻撃により、NFS ゲートウェイはダメージを受ける可能性がありますが、それの背後にある Ceph Storage インフラストラクチャーはダメージを受けません。
Red Hat では、以下のセキュリティー対策を推奨します。
- Storage ネットワークをプロバイダーネットワークとして設定する。
- ロールベースのアクセス制御 (RBAC) ポリシーを適用して、Storage プロバイダーネットワークのセキュリティーを保護する。
- ネイティブ CephFS バックエンドのプライベート共有種別を作成して、それを信頼済みテナントにのみ公開する。