Chapter 5

アカウントとテナント

連携するアプリケーションが扱う2種類のアカウントと、テナントの分離について。

アカウントの種類

連携時に扱うアカウントは2種類です。API のレスポンスに含まれるuser.role は、このいずれかの値になります。

role呼び方位置づけ
USER_PRIMARYオーナーあなた自身のアカウント。自己登録するとこのロールになります。ユーザーの作成・管理と API キーの発行ができます
USER_SECONDARYユーザーオーナーが作成するアカウント。あなたのサービスのエンドユーザーにあたります
オーナー1つと、それが作成したユーザーの集まりが1つの「テナント」です。 テナントをまたいだ操作はできません。

テナントの分離

オーナーが操作できるのは、自分が作成したユーザーだけです。 他のオーナーが作成したユーザーは、一覧に表示されず、ID を直接指定しても 取得・更新・削除のいずれもできません。API キーを使った場合も同じです。

この境界はデータベースへの問い合わせの時点で適用されるため、 アプリケーション側で絞り込みを実装する必要はありません。

それぞれができる操作

操作オーナーユーザー
管理画面へのログイン○—
API 経由の認証○○
ユーザーの作成○—
ユーザーの編集・停止・削除○—
API キーの発行・失効○—
操作履歴の閲覧(自テナント分)○—
自分のプロフィール編集○—
自分のアイコン・メール・パスワード変更○○
自分の二段階認証の設定○○
ログイン中の端末の確認・解除○○
自分のアカウントの削除○—
ユーザー(USER_SECONDARY)は管理画面にログインできません。 表示名や電話番号といった項目は、オーナーが管理します。 アカウントの削除も、作成したオーナーが行います。

API キーで操作する場合

API キーは発行したアカウントの権限を引き継ぎます。オーナーが発行したキーは、 そのテナントの範囲でのみ動作します。 ただし、キー自身の発行・失効と、発行者のパスワード変更・アカウント削除は キーからは実行できません。

運営によるサポート

サービス運営側には、障害対応やお問い合わせ対応のための管理アカウントが 別途あります。運営がアカウントに対して行った操作は、 対象・日時・実行者とともにすべて記録され、削除できません。