SaaSus Platformの準備

※全体の流れを動画でご覧になることもできます。
https://www.youtube.com/watch?v=deSkPJ-zTgw

SaaSus Platformの準備

SaaSus Platformアカウントの作成

まずはSaaSus Platformのアカウントを作成しましょう。

新規登録画面を表示し、ご自身のメールアドレスを用いて新規登録を行います

https://auth.saasus.io/sign-up

メールアドレスと希望するパスワードを入力し、利用規約とプライバシーポリシーを読んでいただき同意していただける場合はチェックを入れ、新規登録ボタンを押します

入力したメールアドレスに検証コードが届くので、それを入力してアカウントを有効化します

検証が完了するとログイン画面が表示されます

先ほど登録していただいたメールアドレスとパスワードを入れてログインします。

はじめてSaaSus Platformに登録した時には、登録していただいた方専用のテナントを作成します。これは、お客様専用のAWSアカウントを作成しているため、最短で1時間ほどお時間がかかります。アカウント作成が完了次第、先ほどのメールアドレスにご案内が届きます。

コンソールへのログイン

テナントが作成されたのちに、ログインを行うと、このようにユーザ属性の入力が求められますので、会社名、名前を入力してください。

入力後テナントの各コンソールへの遷移画面が表示されます。

SaaS 開発コンソールは、SaaS構築のための設定を行うコンソールで、

SaaS 管理コンソールは、SaaSを運用していくためのコンソールになります。

詳細は後ほど説明しますが、まずはSaaS作成の設定を行いたいので、SaaS 開発コンソールにログインします。

ドメイン名の設定

※ドメイン名をお持ちで無い方は、この項目はスキップして次に行っていただいて大丈夫です。

SaaS 開発コンソールにログインしたら、まずはSaaSで使うドメイン名を登録します。サイドメニューの「ドメイン」をクリックし、ドメイン登録画面を表示します。このドメイン名は、ログイン画面やメール送信のベースドメインとして利用します。このあとDNSレコードを作成していただくので、ご自身で操作可能なドメイン名を登録してください。

ドメイン名を登録していただくと、数秒後画面下部にDNS検証(確かにそのドメイン名を所有しているということの確認)を行うために、CNAMEレコードが表示されます。こちらの値をご自身のDNSに登録してください。

例えば、Value Domainにてドメインを管理している場合は、以下のような設定を行います。

ご自身のDNSに登録していただいた後に、数分経つと検証が完了し、「以下のDNS情報が検証され、正常に動作中です。」と表示されます。これでSaaSus Platformの設定をするための前準備が整いました。

このドメインをベースに、SaaSus Platformがログイン画面を自動生成します。

認証後の遷移先URLの設定

いま設定したドメイン名をベースにSaaSus Platformはログイン画面を生成します。このログイン画面を経てログインしたのちに、SaaS側に認証情報を引き継ぎます。この引き継ぎ先のSaaSのURLをCallback URLとして登録する必要があります。

サイドメニューの「認証後遷移先」をクリックし、Callback URL設定画面を表示します。

通常はSaaSを提供しているURLをベースにCallback URLを設定します。今回はサンプルアプリケーションをローカルで動かしてみますので、以下のように設定します。

http://localhost/callback

SaaS ID, APIキーの確認

次に、SaaS実装時に利用する、「SaaS ID」と「APIキー」を確認しておきます。

「SaaS ID」は、デフォルトで発行されています。このまま利用しても良いですし、「SaaS ID の再発行」ボタンを押して再発行して使っていただくことも可能です。

「APIキー」は初期では発行されていないので、「APIキーの発行」ボタンを押して1つ発行します。

※実際にSaaS運用が始まったあとに、「SaaS ID の再発行」を行った場合は、SaaSアプリケーション側に設定しているSaaS IDも修正が必要になりますので注意してください。

これらの情報は、あとからもこの画面で確認可能ですので、いま覚えていただかなくても大丈夫です。
(セキュリティ強化のため、APIキーはあとから確認できなくなる予定です)

ログイン画面など認証系画面のカスタマイズ

次に、先ほど生成されたログイン画面類のカスタマイズを行います。

サイドメニューの「認証詳細設定」をクリックします

基本情報では、認証系画面で利用される各種情報を編集します。

たとえば、先ほどのログイン画面でいうと、

  • 「SaaSus Platform へようこそ」の部分がサービス名
  • 上部のアイコンがアイコンアップロード
  • 利用規約URL、プライバシーポリシーURLが利用規約、プライバシーポリシーのリンク先
    となります。

変更を適用するために「保存」ボタンをクリックします

「画面設定」タブでは、新規登録画面、ログイン画面、パスワード変更画面の各画面に、利用規約とプライバシーポリシーを表示するかを選択できます。

「認証設定」タブでは、各種詳細な認証設定が行なえます

ここまで設定が完了すると、先ほど設定したドメイン名に “auth.” をつけたURLにてログイン画面が生成されます。実際にログイン画面が表示できるか確認してみましょう

※変更を保存すると、新しいログイン画面が生成されます。生成には数分かかりますので、最後に保存した内容を確認するためには数分後にアクセスしてみてください。

ログイン画面は、さきほど設定したドメイン名の頭に “auth.” をつけたURLで生成されます。

たとえば、ドメイン名を “sample.saasus.jp” で設定した場合は、 https://auth.sample.saasus.jp/にてログイン画面が提供されます。

ログイン画面が確認できたら、SaaSus コンソールに戻りましょう

ユーザに追加属性を定義する

次に、ユーザ属性を定義します。

サイドメニューの「ユーザ属性定義」をクリックします。

SaaSus Platform上では、初期状態では管理するSaaSのユーザはユーザID(UUID)とメールアドレスしか持っていません。これで足りない場合は、ユーザに追加の属性を持たせることができます。

SaaS 設計者は、ユーザに関するどの属性をSaaSus Platform側でもち、どの属性をSaaS側で持つかの分担を考える必要があります。

たとえば、すべてのユーザ情報をSaaSus Platform側で管理したい場合は、必要な追加属性をSaaSus Platformに定義します。しかし、個人情報などの重要な情報はSaaSus Platform側で管理したくなかったり、ユーザの追加属性をもとに各種集計を行いたい場合などがあります。その場合には、SaaSus Platform側には認証だけを求め、ユーザ情報の管理はSaaS側でユーザマスタをベースに行い、UUIDをSaaSus Platform側の認証情報と紐付ける方が柔軟に対応できます。

今回はサンプルアプリケーションでユーザ名が必要になるので、「ユーザー名」という属性を定義してみます。

「+ユーザ属性の作成」ボタンをクリックすると、ユーザ属性作成のポップアップが表示されます

属性名は、SaaSアプリケーション(プログラム)側で識別するためのキーとして使います。そのため、英字で入力しておくのが無難です。

表示名は、その属性がどういうものか?をわかるように記載します。

タイプは、データ型を指定します。

今回はサンプルアプリケーションのために、以下で設定します

  • 属性名: username
  • 表示名: ユーザー名
  • タイプ: 文字列

入力したら、「作成」ボタンを押します

ユーザー属性が追加されました。

テナントに追加属性を定義する

次に「テナント属性定義」をクリックして、テナントの追加属性を定義します。

ここで言うテナントとは、マルチテナントSaaSにおけるテナントの意味を表しています。つまり、SaaS利用者の組織の単位(契約の単位)をテナントと呼びます。

各テナントで必要になりそうな追加属性を定義しておきます。

ユーザー属性の時と同じように、「+テナント属性の作成」をクリックして追加します。

今回は、そのテナントに対するメモを書けるようにしてみます。

  • 属性名: memo
  • 表示名: メモ
  • タイプ: 文字列

入力したら、「作成」ボタンを押します

テナント属性が追加されました。

役割の定義

次に、役割を定義していきます。

この役割は、各種SaaSにおける役割(ロール)になり、認可のベースとして利用します。

たとえば、テナントごとの管理者権限を持つ場合には、adminのような役割を定義し、一般利用者の場合はuserのような役割を付与します。

今回は、サンプルアプリケーションのために、admin, userを定義していきます。

「+役割の作成」ボタンをクリックして、役割の作成ポップアップを表示します。

役割名は、SaaSアプリケーション側で役割を識別するために使います。

表示名は、その役割がどういうものか?をわかるように記載します。

まず、

  • 役割名: admin
  • 表示名: SaaS管理者

と入力し、「作成」ボタンをクリックします。

※ SaaS管理者(admin) はアカウント作成時に初期登録されています。
登録されている場合、以下userを作成して下さい。

同じように、

  • 役割名: user
  • 表示名: 一般利用者

も作成しておきます。

これでマルチテナントSaaSを作る準備ができました。

では、次にSaaS 運用コンソールに切り替えて、SaaSのテナントやユーザ作成を行ってみましょう!