OneLoginとAWSをSAML連携しSSOを実現する手順
Google DirectoryとOneLoginをディレクトリ連携する手順

Google Directoryとディレクトリを統合する
Google Directory連携比較表
Google Directory | OneLogin | |
---|---|---|
ユーザー情報の 同期 | ○ | △ |
ユーザー認証 | ▲ | ○ |
準備するもの
このページでは以下の条件を満たしていることを前提としています。
- OneLogin のライセンスが Advanced, Professional Bundle であること
- OneLogin において下記いずれかの権限をお持ちであること
- Super User
- Account Owner
- Google Workspace または Cloud Identity のライセンスをお持ちであること
- Google の特権管理者権限をお持ちであること
OneLogin × Google Directory ディレクトリ連携の基本的な説明
本セクションでは、OneLogin と Google Directory とのディレクトリ連携をご利用頂く際の基本的な仕様・制限等についてご紹介します
同期対象のユーザー属性
OneLogin 側と Google Directory 側の対応する属性は以下の表のとおりです。
OneLogin | Google Directory |
---|---|
First name | 名 |
Last name | 姓 |
メールアドレス | |
Username | メールアドレス |
*OneLoginのEmail欄とUsername欄はどちらもメールアドレスが登録されます(登録不可)
ユーザーの認証
後述する具体的な設定手順内でもご案内しますが、2021 年 6 月現在では Google Directory から同期されたユーザーは原則として OneLogin による認証をご利用いただきます。つまりユーザー情報は Google Directory から同期されたものを利用しますが、OneLogin にログインするパスワードは OneLogin で設定・管理します。
OneLogin → Google Workspace のユーザープロビジョニングとは併用できません
このディレクトリ連携機能では、Google Directory → OneLogin という方向でユーザー情報が同期されます。そのため、この逆向きの同期となる OneLogin → Google Workspace という方向のユーザープロビジョニング機能とは併用することができません。
手順
OneLogin にディレクトリ連携設定を追加する
OneLogin と Google Directory とのディレクトリ連携を、Google Directory 上の以下の 2 ユーザーを同期と作成する操作を例としてご紹介します。
- Google Directory 上のユーザー
_ 管理者 OneLogin
_ 山本 哲人
- OneLogin 上のユーザー * 管理者 OneLogin
- OneLogin に管理者としてログインし、[管理]をクリックします
- Users > [Directories]をクリックします
- [New Directory]をクリックします
- Select a Directory Type > G Suite の[Choose]をクリックします
- Directory 名を設定します
例:Google Directory - Directory > Authenticate users in において、Google Directory から同期したユーザーの認証を OneLogin と Google のどちらで実施するかを選択しますが、必ず OneLogin をご選択ください
- Basic Configuration > Google Apps Domain にて Google Directory のプライマリドメインを登録します
- Deleting Users from Google > Deleted users in Google … において Google Directory 側でユーザーが削除されたときに、紐付いた OneLogin ユーザーに適用する処理を選択できます
are unaffected(何もしない)
are suspended(無効化する)
are deleted(削除する)
*無効化または削除を推奨します - ディレクトリ連携を有効化するために、Basic Configuration > Enable Google Apps as your user directory. にチェックを入れます
*原則としてチェックを入れます - Basic Configuration > Google Apps Domain > Include all sub-domains にチェックをいれるかを判断します
チェックを入れることで、Google Apps Domains で指定したドメイン以外にもテナントに紐付いたドメインのユーザーをすべて同期することができます
- Google Directory で同期したユーザーに対しても OneLogin の Mapping 機能を有効にするために、Importing Users > Enable Mappings にチェックを入れます
*原則としてチェックを入れます - Google Directory でユーザーを作成したりユーザー情報が更新されたりすると、OneLogin へのユーザー情報のリアルタイム同期を有効にするために、Importing Users > Enable real-time updates にチェックを入れます
*原則としてチェックを入れます - Google Directory のユーザーステータス(有効・強制停止中など)の OneLogin のユーザーステータスへの同期を有効にするために、Importing Users > Sync User Status from Google にチェックを入れます
*原則としてチェックを入れます - User Passwords > Enforce OneLogin password expiration policy にチェックを入れると認証に用いるパスワードの期限に OneLogin 側のパスワード期限ポリシーを適用することができます
*手順 6 で認証ディレクトリとして OneLogin をご選択頂いた場合、設定値は挙動に影響しません
*原則としてチェックを入れます - [Save]をクリックします
以上で、OneLogin にディレクトリ連携設定を追加する 手順は終了です。
OneLogin と Google Directory を API で連携する
本セクションでは、OneLogin と Google Directory を実際に連携するための API 連携の方法をご紹介します。
-
Basic タブ > API Authentication > [Authorize] をクリックします
-
Google のログイン画面に遷移しますので、Google Directory の特権管理者でログインします
-
Google Directory の API 承認ページに遷移します
OneLogin がお客様の Google Directory テナントに対して、下記のアクセスを行うことを承認するために[次へ]をクリックします
・OneLogin がアクセスを求める項目
・ドメインのグループの表示
・ドメインのユーザーのプロビジョニングの表示と管理 -
画面上部に Directory successfully authorized! と表示されることを確認します API 連携が完了すると、Basic > API Authentication > Session Token > Clear session token が表示されます また、[ Sync Users ]という手動同期実施用のボタンも同時に表示されます
-
Google Directory から OneLogin にユーザー同期を開始するために、[Sync Users]をクリックします
*初回のユーザー同期を開始する際にはクリックする必要があります
*今後はトラブル発生時を除き、基本的に[Sync User]をクリックする必要はありません -
画面左上の Directories / をクリックします
-
Google Directory との API 接続に成功し、ユーザー同期が開始されるとディレクトリ一覧ページに現在の接続状況とユーザー同期数が表示されます 接続ステータスが ●Connected と表示されていることを確認します
-
実際に同期されてきたユーザーを確認します Users > [Users]をクリックします
-
Google Directory に登録されているユーザーが登録されていることを確認します
- 既に OneLogin と Google Directory の両方に存在するユーザは連携を開始すると紐付きます
- 既に Mapping ルールの登録がある場合は、ユーザー作成と同時に Role の割当などが実行されます
例)pentio-dev.com ドメインを持つユーザーには Default ロールを割り当てる
以上で、OneLogin と Google Directory を API で連携するは終了です。
また、基本的な Google Directory とのディレクトリ連携の設定も完了です。
標準属性値以外を OneLogin に同期したい場合
Google Directory から OneLogin へ標準的に同期されるユーザー情報は OneLogin × Google Directory ディレクトリ連携の基本的な説明 でご説明したとおり、下記の 4 つです。
- First name
- Last name
- Username
OneLogin Advanced プランをご利用のお客様は、カスタムユーザーフィールド機能を併用することで、上記 4 つ以外のユーザー情報についても OneLogin へ同期することができます。Google Directory から OneLogin へ同期することができるユーザーの属性値は以下の 9 つです。
- Company:会社ドメイン
- Cost Center:コストセンター
- Department:部門
- Manager:マネージャー
- Employee ID:従業員 ID
- Employee Type:従業員の種類
- Groups:グループ
- Phone:電話番号
- Title:役職
このセクションでは、例として Google Directory のDepartmentを OneLogin の部署(カスタムユーザーフィールド)に同期する手順をご紹介します。
- 管理者として OneLogin にログインし、[管理]をクリックします
- カスタムユーザーフィールドを作成します
Users > [Custom User Fields]をクリックします - 画面右上の[New User Field]をクリックします
- New User Field において、Name と Shortname を設定し、[Save]をクリックします
例:Name:部署、Shortname:custom_user_field_department - Custom User Fields 内に 部署 というカスタムユーザーフィールドが作成されたことを確認します
- Users > [Directories]をクリックし、対象の Directory を選択します
- Directory Attributes タブ > Directory Attributes > [Add Attribute]をクリックします
- Directory Attributes > Directory Field で Google Directory 側のユーザー属性を選択します
例:Department - Directory Attributes > OneLogin Field で OneLogin 側のカスタムユーザーフィールドを選択します
例:部署 - 設定ができたら、[Save]をクリックします
- 設定した属性をすぐに同期するために、More Actions > [Synchronize Users]をクリックします
- ページ上部に Users are being imported in the background. Check your Activity tab in a few moments to get feedback と表示されたことを確認します
- 設定した属性値が OneLogin に同期されていることを確認します
カスタムユーザーフィールドではなく通常のフィールドに同期したい場合
標準属性値以外を OneLogin に同期したい場合 をご覧になったお客様で、Company, Department, Title など本来であれば標準ユーザー情報として同期して欲しい情報がある場合にどうすればよいか疑問を持たれたお客様もいらっしゃるかと思います。
原則として G Suite ディレクトリ連携における 加的なユーザー情報同期では、カスタムユーザーフィールドを利用するほかありません。 また、OneLogin からクラウドアプリへのユーザープロビジョニングでは標準フィールドと同様にカスタムユーザーフィールドも利用できますので、大きなデメリットはございません。
ただし、OneLogin プロフィール画面で肩書(Title)を表示したい、OneLogin SMS など OTP で利用する電話番号を G Suite から同期し、かつプロフィール画面からユーザー本人に変更させられるようにしたいなど特殊なご事情がある場合は、OneLogin の Mapping を併用することでカスタムユーザーフィールドから標準フィールドに値をコピーすることが可能です。
以下、その設定方法をご紹介します。
利用したいケース例
- OneLogin プロフィール画面に肩書を表示したい
- OneLogin プロフィール画面でユーザーが自分の電話番号を書き換えられるようにしたい
(OneLogin SMS ワンタイムパスワードのため)
本セクションでは、Company, Department, Title, Phone の 4 つの属性値を OneLogin の標準ユーザー情報として同期する方法を紹介します。
-
OneLogin に管理者としてログインし、[管理]をクリックします
-
Users > [Custom User Fields]をクリックします
-
カスタムユーザーフィールドを作成します
例:G_Company、G_Department、G_Phone、G_Title -
Users > [Directories]をクリックします
-
Google Directory 側のユーザー属性を選択します
-
手順 8〜10 のように Directory Attributes を設定し、[Save]をクリックします
-
次に、手順 6 で作成したパラメータの値をカスタムユーザーフィールドから標準フィールドにコピーするための Mapping を作成します [Mappings]をクリックします
-
[New Mappings]をクリックします
-
Mapping 名を設定します 例:Google Directory
-
Mappings > Google Directory > Conditions を設定します 本ドキュメントでは Google Directory のユーザーにのみ適用するため、 Directory Name equals Google Directory と設定します
-
Mappings > Google Directory > Actions を設定します [custom_attribute_name] とは、OneLogin の なかで利用できるマクロで name にはカスタムユーザーフィールドの Short name がそのまま入ります *マクロの詳細については、 Attribute Macros をご参照ください
-
Mapping 処理を実行するための[Reapply All Mappings]をクリックすることを促すポップアップが表示されますので、[了解]をクリックします
-
Mapping が作成されていることを確認し、[Reapply All Mappings]をクリックします
-
Activity > Jobs にて Mapping 処理の進捗が確認できることを示すポップアップが表示されますので、[Continue]をクリックします
-
画面上部に、The mapping job has been sent to the background. You can monitor its progress here が表示されたことを確認します
-
Google Directory から同期しているユーザーのページを開き、各項目に情報が同期されていることを確認します
以上で、カスタムユーザフィールドではなく通常のフィールドに同期したい場合は終了です