Chapter 5

アカウントとテナント

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

アカウントの種類

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

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

テナントの分離

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

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

それぞれができる操作

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

メンバーの招待

オーナーは管理画面からメールアドレスを指定して招待できます。 招待された方は、そのアドレスの Google アカウントでサインインして参加します。パスワードの設定は不要です。

段階内容
1. 発行オーナーがアドレスを指定。招待リンクがその場で表示される
2. 受け渡しメール送信が有効なら自動送信。無効ならリンクを直接渡す
3. 参加招待された本人が Google でサインインし、参加を確定する
サインインしたアカウントのアドレスが招待先と一致しない場合、参加は拒否されます。 また、すでに自分のメンバーを持つアカウントは他のテナントに参加できません。 招待リンクの有効期限は7日です。

テナントのセキュリティポリシー

オーナーは管理画面の「テナント管理」から、自分のテナントに所属する ユーザーへ適用する規則を設定できます。初期状態ではすべて既定値で、 設定するまで動作は変わりません。

項目内容適用される場面
許可するメールドメイン指定したドメインのアドレスのみ登録できるユーザー作成時
Google ログインの可否無効にするとパスワードログインのみになるGoogle での認証時
パスワード要件最小文字数、大文字・数字・記号の要求ユーザー作成時、パスワード変更時、再設定時
セッションの有効期限日数を指定(既定は14日)ログイン時
ポリシーはシステム既定より厳しくする方向にのみ設定できます。 たとえばパスワードの最小文字数を8文字未満にすることはできません。 既存ユーザーのパスワードは、次回変更時から新しい要件が適用されます。

API キーで操作する場合

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

運営によるサポート

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