2.1. テナントとアプリケーション

2.1.1. テナントとアプリケーションの概念

NEC BaaS の利用にあたっては、「テナント」と「アプリケーション」 の概念を理解する必要があります。

NEC BaaS はマルチテナントに対応しており、1つのサーバ上で複数の 「テナント」を運用することが可能です。

テナントはユーザやデータの管理単位です。 あるテナント上に作成されたユーザ・グループ情報やオブジェクト・ファイルデータは、 他のテナントからは完全に分離され、テナント間での共有はできません。

../_images/tenants.png

テナントは複数の「アプリケーション」を持つことができます。 「アプリケーション」はクライアントアプリケーション毎に1つ作成する仮想的な概念です。 アプリケーションは例えば「資産管理」や「顧客管理」アプリなど、具体的なクライアントアプリケーション 1つに対応します。

同一のテナントに所属するアプリケーション間では、データはすべて共有されます。 ユーザ情報もすべて共有されますので、異なるアプリ間でも同一のアカウントでログインしてデータを利用することが可能です。 また、データ閲覧用のアプリと、データ登録用のアプリを管理上分けておくような使い方も可能です。

逆に、データを共有させたくない場合は、テナントを分ける必要があります。

テナントとアプリケーションは、デベロッパーコンソール上で作成・削除することができます。

2.1.2. テナントID / アプリケーションID / アプリケーションキー

テナントとアプリケーションを作成すると、それぞれに固有の ID が付与されます。 また、アプリケーションにはキーが付与されます。

これらの値は、REST API の呼び出し時の認証ID/キーとして使用しますので、 アプリケーション内に埋め込み、各 SDK の初期化時に指定する必要があります。

アプリケーションID/アプリケーションキーは、REST API 呼出し時に HTTP ヘッダ (X-Application-Id, X-Application-Key ヘッダ)に設定されます。 正しい値が送信されない場合、BaaS サーバは認証エラー(401 Unauthorized) を返すようになっています。