ここでは、シングルサインオンの ID プロバイダーとして G Suite を利用する場合の設定方法を紹介します。
参考: カスタム SAML アプリケーションの設定 - G Suite 管理者 ヘルプ
以下の設定は、G Suite、Qiita Team 共に、管理者権限のあるユーザーで行う必要があります。
G Suite 側でアプリの作成を始める
G Suite の SAML アプリ一覧を開き、右下の + ボタンをクリックします。
カスタムアプリをセットアップをクリックします。
Google IdP 情報のパネルが開いたら、IDP メタデータのダウンロードボタンをクリックし、メタデータファイルをダウンロードします。
次へをクリックし、カスタムアプリの基本情報パネルが開いたら、アプリケーション名に「QiitaTeam」など任意の名前を入力します。
次へをクリックし、サービスプロバイダの詳細のパネルが開いたら、そのページを開いたままで Qiita Team の設定に移ります。
Qiita Team に G Suite のメタデータを登録する
Qiita Team のシングルサインオン設定を開きます。
ID プロバイダーのファイルを選択をクリックし、先ほど G Suite からダウンロードしたメタデータを選択後、アップロードするをクリックしてメタデータをアップロードします。
正常にアップロードが完了すると、「ID プロバイダー登録済み」と表示されます。
G Suite 側でアプリの設定をする
まず、Qiita Team のシングルサインオン設定を開くと、画面下部にQiita Team サービスプロバイダー情報が表示されます。
ここに記載されている情報を参照しながら、G Suite で追加したアプリに設定します。
先ほど開いたままにしていた、G Suite のサービスプロバイダの詳細パネルに戻り、各項目を入力します。
- ACS の URL: Qiita Team の Assertion Consumer Service URL
- エンティティ ID: Qiita Team の Service Provider Entity ID
- 開始 URL: 空欄
- 署名付き応答: チェックを入れる
- 名前 ID: 基本情報 - メインのメールアドレス
- 名前 ID の書式: EMAIL
入力が完了したら、次へをクリックします。属性のマッピングパネルが開いたら、以下の様にマッピングを追加します。
User.FirstName
: 基本情報 - 名User.LastName
: 基本情報 - 姓
マッピングを追加後、完了をクリックします。
アプリの登録が完了したら、アプリの設定画面の … ボタンをクリックし、オン(すべてのユーザー)もしくは一部の組織に対してオンにするに切り替えます。どちらに切り替えるかは組織のポリシーに合わせて設定してください。
シングルサインオンの有効化
Qiita Team のシングルサインオン設定を開くと、シングルサインオンのモード切り替えが可能になっています。
シングルサインオンにおいて、各チームメンバーの Qiita Team アカウントと G Suite アカウント間の対応付けは、メールアドレスの一致で行われます。 各メンバーは、ログイン設定から G Suite アカウントと同一のメールアドレスを設定する必要があります。これをチーム全体でスムーズに行う上で、以下の二つのモードを利用することができます。
移行モード
シングルサインオンでのログインが可能かつ、従来の Qiita Team のユーザー名とパスワードや、GitHub・Twitter・Google アカウントを使ったログインも可能なモードです。このモードはシングルサインオン導入時向けのものであり、チームメンバー全員がシングルサインオンによるログインができたことを確認し次第、後述する「シングルサインオンのみ有効」モードに切り替えることをおすすめします。
シングルサインオンのみ有効
シングルサインオンのみでのログインが可能な状態です。チーム管理者のみ例外的に、Qiita Team のユーザー名とパスワードや、GitHub・Twitter・Google アカウントを使ったログインも可能です。シングルサインオンのためのメールアドレスを適切に設定できていないチームメンバーは、このチームへのログインが不可能となります。あらかじめ「移行モード」を利用し、全メンバーがシングルサインオンが可能になったことを確認してからこのモードに切り替えることをおすすめします。このモードへ切り替える際、一度チームメンバー全員が強制的にログアウトされ、シングルサインオンによる再ログインが必要となりますのでご注意ください。
ログイン画面
シングルサインオンを有効にすると、ログイン画面が以下のように変更されます。
G Suite でログインをクリックすると、G Suite に遷移し、G Suite のログイン画面が表示されます。すでに G Suite にログイン済みだった場合は表示されません。
G Suite へのログインが成功すると、再び Qiita Team に遷移し、Qiita Team へのログインが完了します。
以上でシングルサインオンの設定は完了となります。
即時プロビジョニングを有効にする場合、組織内のポリシーに合わせて設定をしてください。