Tips-05

Commvaultが提供するマルチテナント機能 (前編)

今回はCommvaultの特徴的な機能としてしばしばとりあげられるマルチテナント機能をご紹介していきます。

通常マルチテナントとは、1つのシステムやサービスを複数の企業もしくはユーザーで共有して使うことを意味します。
しかしながら「バックアップ ソフトウェアでのマルチテナントって何だろう ?」と思う方もいらっしゃるかもしれません。

今回の前編では、
「なぜバックアップソフトにマルチテナント機能が必要なのか ?」
「Commvaultはどのようにしてマルチテナントを実現するのか ?」
についてご紹介していきます。
そして後編では、どのようにしてマルチテナント機能を使うのかについて簡単な例で設定方法をご紹介していきます。

バックアップソフトウェアでのマルチテナント機能の必要性

最初にバックアップ ソフトウェアでのマルチテナント機能の必要性について考えてみます。
ここではホスティング サービスを行うサービス プロバイダーを例に考えてみます。

サービス プロバイダーのX社は A社・B社・C社の3社の顧客のシステムをホスティングしています。
X社は顧客からの要望で顧客のシステムをバックアップするためのバックアップ システムを構築しサービス提供することに決めました。そこで、実際にバックアップ システムを本番環境にサービスインする前にまずはテスト環境で検証してみることにしました。

テスト環境にはA社・B社・C社のシステムを想定した3台のサーバー (それぞれ、サーバーA・サーバーB・サーバーCとします) を準備しました。
X社では、あるバックアップ ソフトウェアを使用して1台のバックアップ サーバーを構築しそのバックアップ ソフトウェアのエージェントをサーバーA・サーバーB・サーバーCにインストールし、エージェントを使用してバックアップ / リストアすることにしました。
このテスト環境の構成を簡単に図にしてみると以下のような状態です。

このテスト環境ではバックアップもリストアも特に問題なく成功しましたので、X社では具体的にどのようにバックアップ システムを運用するかを考えることにしました。
運用方法の案として、案1・案2の2つの案を考えました。

案1: X社がA社・B社・C社すべてのバックアップ / リストアの運用を行う。
案2: A社・B社・C社それぞれにバックアップ ソフトウェアの管理者権限を与えて各社に運用を任せる。

ところが、案1・案2ともに検討していくうちに簡単な話ではないことが分かってきました。

【 案1 】
「X社がA社、B社、C社すべてのバックアップ / リストアの運用を行う」
課題: 運用者であるX社の負担が大きくなる


この場合、X社がA社・B社・C社すべてのサーバーのバックアップ / リストアの運用を行うことになります。
バックアップに関しては最初に要件を明確にし、バックアップ実行をスケジューリングしておけば人の手を必要とする作業は最小限に留めることも可能と考えられますが、特に大きな懸念点となったのはリストアです。
データに問題が発生しリストアが必要となる場合、顧客の3社はX社にリストア処理を依頼することになります。
顧客側としては待ち時間が発生することになりますが、サービス プロバイダーのX社の立場からするとデータのリストアは急ぎの対応や夜間の対応なども求められることが考えられます。
そのためX社の負担が大きくこの運用では難しくなることが懸念点として挙げられました。

【 案2 】
「A社、B社、C社それぞれにバックアップ ソフトウェアの管理者権限を与えて各社に運用を任せる」
課題: 管理者権限では他社にデータが参照されてしまう

この場合、A社・B社・C社それぞれにバックアップ ソフトウェアの管理者権限を与えて各社に運用を任せることになります。この方法ではX社は各顧客に運用を任せることが可能なためX社の負担は大きく軽減されますが、あっさりと管理者権限を渡してしまうと大変なことになることが予想できました。
管理者権限を渡すとバックアップ ソフトウェア上で何でもできてしまい、他社のデータをリストアすることも可能なため、他社のデータを参照できてしまいます。

他の顧客のデータを参照できる状態は受け入れがたいため、この状況ではバックアップ システムを運用できません。
この状況を回避する方法として、各社専用のバックアップ サーバーを準備することでバックアップ インフラを分離しそれぞれの管理者権限を与えるという方法もあります (下図)。
しかしこれではハードウェアとソフトウェアの費用が大きくなってしまい、サービス プロバイダーのX社としてはこのバックアップ システムのインフラを導入し顧客に提供するメリットがなくなってしまうかもしれません。

このような課題を解決するのに役立つのが Commvaultのマルチテナント機能です。

CommvaultではCommCell環境のリソース( 例えばMediaAgentやクライアント・バックアップ デバイスであるライブラリ・バックアップの保持期限を定めるポリシー等 ) を論理的に区分し、Commvaultの管理コンソールにログインするユーザーに対して必要なリソースだけを利用できるように設定することができます。
またログインするユーザー毎に実行可能な操作を制限することもできます。

今回の例で説明すると、X社は顧客A社・B社・C社それぞれに自社のサーバーのデータだけをバックアップ / リストア可能な状態とし運用を任せることも可能になります。
X社は各社別にバックアップ インフラを分離して準備する必要はありませんし、顧客であるA社・B社・C社は他社に自社のデータを参照されることもありません。

Commvaultではロールベース セキュリティの仕組みを活用することによりバックアップのマルチテナントを実現します。
ここからはこの Commvaultのロールベースセキュリティの仕組みを簡単にご紹介していきます。

Commvaultによるマルチテナント:ロールベースセキュリティの活用

Commvaultのロールベース セキュリティでは3つのコンポーネントが登場します。
その3つとは「ユーザー ( ユーザー グループ )・ロール・エンティティ」のことを意味します。
それぞれを簡単に説明します。ロールベース セキュリティに関しては こちらも適宜参照してください。

・ユーザー ( ユーザー グループ )
ユーザーは CommCell環境で定義するユーザーまたはActive Directory等のCommvaultが連携可能な外部のドメインのユーザーを意味します。ユーザー グループはこれらのユーザーをグループ化したものです。

※Commvaultでは、Active Directory等の外部のドメインと連携可能でCommCell Consoleから外部のドメインを登録し、そのドメイン内のグループやユーザーでCommCell Consoleにログインすることができます。
Active Directoryドメインの追加に関しては こちらを参照してください。

・ロール
ロールはユーザーまたはユーザー グループに対して割り当てる権限をセットにしたものです。
適切な権限をユーザーに付与することにより様々な設定操作やバックアップ / リストア等が可能になります。

・エンティティ
エンティティはロールに基づいてユーザーがアクセス可能となるCommvaultのコンポーネントです。
例えばクライアントやストレージ ポリシー (バックアップの保持期限等を定義するポリシー) 等が該当します。

この「ユーザー・ロール・エンティティ」の3つを関連付けることにより、
「誰に(ユーザーで定義)、どのような権限を(ロールで定義)、何に対して(エンティティで定義) 与えるか 」
をきめ細かく指定することが可能になります。

Commvaultでは「ユーザー・ロール・エンティティ」の3つを完全に分離して管理しており、この3つを関連付けることで細かなロールベース セキュリティ設定を行うことができます。

そのため1人のユーザーに対して、
「あるエンティティに対してはロールAを割り当て、別のエンティティに対してはロールBを割り当てる」
といった設定を行うことができます。

例えばAさんは「ファイル サーバーに対してはバックアップ操作もリストア操作も可能だが、メール サーバーに対してはリストア操作のみ可能」というような設定もできます (下図)。

ここまででCommvaultのロールベースセキュリティの概要をご理解いただけたのではないかと思います。
後編では簡単な例を使ってロールベース セキュリティの設定方法を説明しています。

【参考資料】
・用語集
・User Administration and Security Overview
・Adding a Domain Controller for Active Directory

Posted on 2018.07