Kubernetes 環境でストレージを運用する際には、性能や可用性だけでなく、「誰が、どのボリュームに、どこまでの操作を行えるのかを定義するアクセス制御」や、「データが漏えいした場合にも情報を保護するための暗号化」、さらに「複数のチームや部門で基盤を共有する際のマルチテナントへの対応」が欠かせません。
Portworx は、ストレージ機能そのものに加えて、ロールベースのアクセス制御(RBAC、Role-Based Access Control)、トークンによる認証/認可、ボリューム単位の暗号化、ネームスペースを活用したマルチテナント構成など、エンタープライズ環境で求められるセキュリティ要件に応える機能を備えています。今回は、Portworx が提供するこれらのセキュリティ機能をご紹介します。
ストレージのアクセス制御と認証/認可
Portworx では、ロールの設定によりユーザーごとにボリュームへのアクセスを制御する RBAC 機能と、トークンを利用してユーザーの認証や操作権限を確認する仕組みを提供しています。

RBAC によるアクセス制御
Portworx の RBAC では、あらかじめ用意されたデフォルト・ロールに加え、必要に応じてカスタム・ロールを作成できます。
デフォルト・ロール
- system.admin:クラスタ操作などを含む、あらゆるコマンドを実行可能
- system.view:読み取り専用コマンドを実行可能
- system.user:ボリュームに対する標準的な操作コマンドを実行可能
- system.guest:オーナーが割り当てられていないボリューム(パブリック・ボリューム)に関連するコマンドを実行可能
カスタム・ロール
操作の内容や対象(クラスタ、ノードなど)、利用可能な API などを個別に設定したカスタム・ロールを作成することができます。組織のセキュリティ・ポリシーにあわせて、必要最小限の権限を持つロールをきめ細かく定義できる点が特長です。
トークンによる認証
Portworx は、トークンを利用してユーザーの認証と操作権限の確認を行います。
- Kubernetes の Secret として生成するトークン(Secret Token)
- OIDC(OpenID Connect)を介した外部の ID プロバイダとの連携
- 例:Okta をはじめとする、さまざまなアプリケーションとの連携が可能
OIDC 連携により、既存の ID 管理基盤とストレージのアクセス制御を統合し、Kubernetes 環境全体で一貫した認証基盤を構築できます。
ストレージの暗号化
Portworx は、ボリュームへのデータ書き込み時に暗号化を行う機能を備えています。暗号化の範囲は、Portworx クラスタ全体に対して設定する方法と、ボリューム単位で個別に設定する方法の両方をサポートしています。

暗号化方式
- LUKS(Linux Unified Key Setup)に準拠
- ディスク暗号化システムとして、Linux カーネルの dm-crypt を使用
- 暗号化アルゴリズムには AES-256 を採用
- 暗号化モードには xts-plain64 を使用
dm-crypt は、Linux カーネルの Crypto API フレームワークとデバイス・マッパー・サブシステムを利用したディスク暗号化の仕組みです。ディスク全体、論理ボリューム単位、パーティション単位、ファイル単位での暗号化に対応しています。Portworx はこの仕組みを活用し、業界標準として広く採用されている暗号化アルゴリズム AES-256 でボリューム内のデータを保護します。
さまざまなキー管理サービスへの対応
暗号化に使用するキーの管理には、次のようなキー管理サービス(KMS、Key Management Service)を利用できます。
- Kubernetes Secret
- IBM Key Protect
- AWS KMS
- Google Cloud KMS
- Azure Key Vault
- HashiCorp Vault
既存のキー管理基盤や、利用しているパブリック・クラウドの KMS と連携できるため、組織のセキュリティ・ポリシーや監査要件にあわせたキー管理を実現できます。
ストレージのマルチテナント
複数のチームやプロジェクトで 1 つの Kubernetes 基盤を共有する場合には、テナントごとにストレージ・リソースへのアクセスを適切に分離することが重要になります。Portworx は、Kubernetes のネームスペースを活用したマルチテナント構成をサポートしています。

- テナントとなるネームスペースごとに、アクセスするユーザー単位でトークンを作成
- 作成したトークンは、テナントとなるネームスペースの Secret に保存
- StorageClass を指定して PV(永続ボリューム)を作成する際に、ネームスペースの Secret に保存されたトークンを使用してボリュームを作成
この仕組みにより、テナントごとに独立した認証情報を用いてボリュームが作成されるため、ネームスペース単位でのアクセス制御を維持したまま、複数のテナントで安全にストレージ基盤を共有できます。
まとめ
Portworx のセキュリティ機能は、Kubernetes 環境におけるストレージ運用に求められる「誰が、何に、どこまでアクセスできるか」という認可の制御と、「データそのものをどう保護するか」という暗号化、そして「複数のテナントでいかに安全に基盤を共有するか」というマルチテナント要件に応えるものです。
- デフォルト・ロールとカスタム・ロールによる、細粒度の RBAC 制御
- Kubernetes Secret や OIDC 連携による柔軟なトークン認証
- LUKS、dm-crypt、AES-256 に基づく、クラスタ全体またはボリューム単位の暗号化
- 主要な KMS との連携による、キー管理の一元化
- ネームスペースとトークンを活用したマルチテナント構成
エンタープライズ環境で Kubernetes 上のステートフルなアプリケーションを安全に運用するうえで、Portworx は、ストレージ機能とセキュリティ機能を統合的に提供する基盤として有力な選択肢となります。
Everpure、Everpure のロゴ、「P」のロゴ、Pure Storage および、Everpure の商標リストに記載されているマークは、米国およびその他の国における Everpure, Inc. またはその子会社の商標または登録商標です。その他記載の全ての名称は、それぞれの権利者に帰属します。




