本記事では、OneLoginとGoogle Workspaceのディレクトリ連携の設定手順をご案内します。ユーザー属性の同期方法やAPI連携手順、カスタムユーザーフィールドの設定、ユーザー認証の注意点のご説明、および標準属性以外の同期やマッピング設定もご紹介します。
目次
- 前提条件
- 1. OneLogin × Google Workspace ディレクトリ連携について
- 2. OneLoginへのディレクトリ連携設定の追加
- 3. OneLoginとGoogle WorkspaceのAPI連携
- 4. 標準属性値以外のOneLoginへの同期
- 5. 補足:Google Workspace 連携時のユーザー認証について
前提条件
- OneLoginのライセンスプラン が SSO(1ディレクトリまで), Advanced, Professional または旧ライセンスプラン Starter, Enterprise, Unlimited のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
- Google Workspace または Cloud Identity のライセンスをお持ちであること
- Googleの特権管理者権限をお持ちであること
1. OneLogin × Google Workspace ディレクトリ連携について
本セクションでは、OneLoginとGoogle Workspaceとのディレクトリ連携をご利用頂く際の基本的な仕様・制限等についてご紹介します
-
同期対象のユーザー属性
OneLoginの下記4属性がGoogle Workspace側の対応する属性(カッコ内)から同期されます
・First name(名)
・Last name(姓)
・Email(メールアドレス)
・Username(メールアドレス)
*OneLoginのEmail欄とUsername欄はどちらもメールアドレスが登録されます。(登録不可) -
ユーザーの認証
後述する具体的な設定手順内でもご案内しますが、2021年6月現在ではGoogle Workspaceから同期されたユーザーは原則としてOneLoginによる認証をご利用いただきます。つまりユーザー情報はGoogle Directoryから同期されたものを利用しますが、OneLoginにログインするパスワードはOneLoginで設定・管理します。 -
OneLogin → Google Workspace のユーザプロビジョニングとは併用できません
このディレクトリ連携機能では、Google Workspace → OneLoginという方向でユーザー情報が同期されます。そのため、この逆向きの同期となるOneLogin → Google Workspaceという方向のユーザープロビジョニング機能とは併用することができません。*ユーザーを一旦OneLoginに取り込むためにGoogle Workspaceとのディレクトリ連携を使用したいお客様は、同期が完了したのち、ディレクトリ連携を停止または削除してからGoogle Workspaceへのユーザープロビジョニングをご設定ください。
2. OneLoginへのディレクトリ連携設定の追加
本セクションと次のセクションでは、OneLoginとGoogle Directoryとのディレクトリ連携を、Google Workspace上の下記の2ユーザを同期と作成する操作を例としてご紹介します
❐ Google Workspace上のユーザー
- 管理者 OneLogin
- 山本 哲人
❐ OneLogin上のユーザー
- 管理者 OneLogin
- OneLoginに管理者でログインし、管理 を開きます
- Users > Directories を開きます
- [New Directory]をクリックします
- Select a Directory Type > G Suiteの[Choose]をクリックします
手順5〜8にてGoogle Workspaceを連携するための必要な値を設定します
- 任意のディレクトリ名を入力します
- Directory > Authenticate users in において、Google Workspaceから同期したユーザーの認証をOneLoginとGoogleのどちらで実施するかを選択しますが、必ずOneLoginをご選択ください
*詳細は"5. 補足:Google Workspace 連携時のユーザー認証について"をご確認ください。
- Basic Configuration > Google Apps Domain にてGoogle Workspaceのプライマリドメインを登録します
- Deleting Users from Google > Deleted users in Google ... においてGoogle Workspace側でユーザーが削除されたときに、紐付いたOneLoginユーザーに適用する処理を選択できます
・are unaffected(何もしない)
・are suspended(無効化する)
・are deleted(削除する)
*無効化または削除を推奨します。
手順9〜14にてGoogle Workspaceを連携する上で各種設定を有効化します
- ディレクトリ連携を有効化するために、Basic Configuration > Enable Google Apps as your user directory. にチェックを入れます
*原則としてチェックを入れます。
- Basic Configuration > Google Apps Domain > Include all sub-domains にチェックをいれるかを判断します
チェックを入れることで、Google Apps Domains で指定したドメイン以外にもテナントに紐付いたドメインのユーザーをすべて同期することができます
- Google Workspaceで同期したユーザーに対してもOneLoginのMapping機能を有効にするために、Importing Users > Enable Mappings にチェックを入れます
*原則としてチェックを入れます。
- Google Workspaceでユーザーを作成したりユーザー情報が更新されたりすると、OneLoginへのユーザー情報のリアルタイム同期を有効にするために、Importing Users > Enable real-time updates にチェックを入れます
*原則としてチェックを入れます。
- Google Workspaceのユーザーステータス(有効・強制停止中など)のOneLoginのユーザーステータスへの同期を有効にするために、Importing Users > Sync User Status from Google にチェックを入れます
*原則としてチェックを入れます。
- User Passwords > Enforce OneLogin password expiration policy にチェックを入れると認証に用いるパスワードの期限にOneLogin側のパスワード期限ポリシーを適用することができます
*原則としてチェックを入れます。手順6で認証ディレクトリとして OneLogin をご選択頂いた場合、設定値は挙動に影響しません。
- [Save]をクリックします
OneLoginへのディレクトリ連携設定の追加は以上です。
3. OneLoginとGoogle WorkspaceのAPI連携
本セクションでは、OneLoginとGoogle Workspaceを実際に連携するためのAPI連携の方法をご紹介します
- Basicタブ > API Authentication > [Authorize] をクリックします
- Googleのログイン画面に遷移しますので、Google Workspaceの特権管理者でログインします
メールアドレスまたは電話番号を入力し、[次へ]をクリックします
*過去にお使いのブラウザでログインしたことがある場合は、2枚目の画像のように特権管理者のアカウントを選択してログインします。
❐はじめて特権管理者のアカウントにログインする場合
❐過去に特権管理者のアカウントでログインしたことがある場合
- パスワードを入力し、[次へ]をクリックします
- Google WorkspaceのAPI承認ページに遷移します
OneLoginがお客様のGoogle Workspaceテナントに対して、下記のアクセスを行うことを承認するために[次へ]をクリックします
❐OneLoginが要求する権限
・ドメインのグループの表示
・ドメインのユーザーのプロビジョニングの表示と管理
- 画面上部に Directory successfully authorized! と表示されることを確認します
API連携が完了すると、Basic > API Authentication > Session Token > Clear session token が表示されます
また、[Sync Users]という手動同期実施用のボタンも同時に表示されます
- Google WorkspaceからOneLoginにユーザー同期を開始するために、[Sync Users]をクリックします
*初回のユーザー同期を開始する際にはクリックする必要があります。以後はトラブル発生時を除き、基本的に[Sync User]をクリックする必要はありません。
- 画面左上の Directories / ををクリックします
- Google WorkspaceとのAPI接続に成功し、ユーザー同期が開始されるとディレクトリ一覧ページに現在の接続状況とユーザー同期数が表示されます
接続ステータスがと ●Connected 表示されていることを確認します
- 実際に同期されてきたユーザーを確認します
Users > [Users]をクリックします
- Google Workspaceに登録されているユーザーが登録されていることを確認します
*既にOneLoginとGoogle Workspaceの両方に存在するユーザは連携を開始すると紐付きます。既にMappingルールの登録がある場合は、ユーザー作成と同時にRoleの割当などが実行されます。
例)pentio-dev.com ドメインを持つユーザーにはDefaultロールを割り当てる
OneLoginとGoogle WorkspaceのAPI連携は以上です。
OneLoginのライセンスプラン が Advanced, Professional または旧ライセンスプラン Unlimited をご契約で、かつGoogle WorkspaceからOneLoginへ同期するユーザー情報(属性値)を増やしたいお客様は下記の2つのセクションをご覧ください
4. 標準属性値以外のOneLoginへの同期
Google WorkspaceからOneLoginへ標準的に同期されるユーザー情報は 1. OneLogin × Google Workspace ディレクトリ連携の基本的な説明 でご説明したとおり、下記の4つです
- First name
- Last name
- Username
Unlimitedプランをご利用のお客様は、カスタムユーザーフィールド機能を併用することで、上記4つ以外のユーザー情報についてもOneLoginへ同期することができます
Google WorkspaceからOneLoginへ同期することができるユーザーの属性値は以下の9つです
- Company:会社ドメイン
- Cost Center:コストセンター
- Department:部門
- Manager:マネージャー
- Employee ID:従業員 ID
- Employee Type:従業員の種類
- Groups:グループ
- Phone:電話番号
- Title:役職
本セクションではGoogle WorkspaceのDepartmentをOneLoginの部署(カスタムユーザーフィールド)に同期する手順を例としてご紹介します
❐Google Workspace上のユーザー情報(管理者 OneLogin)
❐OneLogin上のユーザー情報(管理者 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 タブに移動し、[Add Attribute]をクリックします
- Directory Attributes > Directory Field でGoogle Workspace側のユーザー属性を選択します
例)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への同期は以上です。
4.1 カスタムではないユーザーフィールドへの同期
4. 標準属性値以外を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 Workspace を選択します
- 手順8〜10のようにDirectory Attributesを設定し、[Save]をクリックします
- 次に、手順6で作成したパラメータの値をカスタムユーザーフィールドから標準フィールドにコピーするためのMappingを作成します
[Mappings]をクリックします
- [New Mapping]をクリックします
- Mapping名を設定します
例)Google Workspace
- Mappings > Google Workspace > Conditions を設定します
本ドキュメントではGoogle Workspaceのユーザーにのみ適用するため、Directory Name equals Google Workspace と設定します
- Mappings > Google Workspace > 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 Workspaceから同期しているユーザーのページを開き、各項目に情報が同期されていることを確認します
カスタムではないユーザーフィールドへの同期は以上です。
5. 補足:Google Workspace 連携時のユーザー認証について
2019年10月30日のGoogle APIアップデート に伴い、OneLoginがGoogleのID・パスワード認証に使用するAPIアクセスが「セキュリティレベルの低いアプリケーション」としてブロックされるケースが増加しており、その結果、ユーザー認証に失敗する事例が増えています。そのため現在は、GoogleのID・パスワード認証を使用するのではなく、必ずOneLogin経由のユーザー認証を選択してください。