本記事では、OneLogin から Box へのユーザープロビジョニングの設定手順をご案内します。
目次
前提条件
- OneLoginのライセンスプラン が Professional または旧ライセンスプラン Unlimited のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
- Boxのライセンスが Business, Business Plus, Enterprise のいずれかであること
- Boxにおける管理者権限をお持ちであること
*Boxにおける管理者権限は、共同管理者を含みません。本設定を行う際には"管理者"権限を持つユーザーで実施してください。
ユーザープロビジョニングの設定
- OneLoginに管理者でログインし、管理 を開きます
- Applications > Applications を開きます
- [Add App]をクリックします
-
Box と検索し、該当コネクタを選択します
- [Save]をクリックします
-
Configuration タブに移動し、API Connection >[Authenticate]をクリックします
-
Box をクリックします
- Boxにおける管理者の権限を持つユーザーのメールアドレスとパスワードを入力します
- [承認]をクリックします
- [Boxへのアクセスを許可]をクリックします
-
OAuth authorization performed successfully. と表示されることを確認します
-
Provisioning タブに移動し、Enable provisioning にチェックを入れます
-
Parameters タブに移動し、Required Parameters > Group フィールドを選択します
-
Value から - No default - を選択します
- [Save]をクリックし保存します
-
ここでは、Optional Parametersの設定について、目的ごとに説明します
パラメータの対応一覧
Field 説明 Destination User Transfer Docs on Delete とセットで使うフィールドです。ファイルを保持しているユーザーが削除された時に削除するユーザーが保持しているコンテンツ(ファイル、フォルダなど)の転送先を指定します(ユーザーやメールアドレスで指定してください) Folder OneLoginのユーザープロビジョニングにより、ユーザーのストレージにフォルダを作成することができます Force Content Delete ユーザーが削除された時に、そのユーザーのコンテンツも強制的に削除します Group 既存のBoxのグループ情報を取得し、ユーザーが所属するグループを指定することができます Notify Owner on Delete ユーザーが削除された時に、管理者に通知を送ることができます Role Boxにおけるユーザーの権限を指定することができます
ユーザーと共同管理者の権限の2種類の権限が設定できます
*ユーザープロビジョニングにより"管理者"の権限を書き換えることはできません
Transfer Docs on Delete Destination User とセットで使うフィールドです
コンテンツを保持しているユーザーが削除された時にファイルを転送するオプションを有効化します
1-1. コンテンツの管理方法の設定
Boxにおいてユーザーを削除する時に、ユーザーが保持しているコンテンツ(ファイルやフォルダ)の取り扱いについて設定する必要があります
1-1-1. ユーザーの削除とともにBoxユーザとコンテンツを削除する場合
- Optional Parameters > Force Content Delete を選択します
-
Value にチェックを入れます
このパラメータを有効化することで、OneLogin側からBoxユーザー及びコンテンツの削除を実施します
-
Include in User Provisioning にチェックを入れます
- [Save]をクリックします
1-1-2. コンテンツを確認してからBoxユーザとコンテンツを削除する場合
- Optional Parameters > Force Content Delete フィールドを選択します
-
Include in User Provisioning にチェックを入れます
- [Save]をクリックします
1-1-3. 削除するユーザーのコンテンツを他のユーザーに転送する
- Optional Parameters > Force Content Delete フィールドを選択します
-
Value にチェックを入れます
-
Include in User Provisioning にチェックを入れます
- [Save]をクリックします
- Optional Parameters > Destination User フィールドを選択します
- Value から - Macro - を選択します
- 赤枠のテキストボックスに転送先のメールアドレスを入力します
例)pentiobox@gmail.com
-
Include in User Provisioning にチェックを入れます
- [Save]をクリックします
1-2. ユーザー権限(Role)の設定
Boxのユーザー権限には 管理者・共同管理者・ユーザー の3種類の権限があります
OneLoginからユーザープロビジョニングで設定できるのは、共同管理者(Co-Admin)とユーザー(User) のみであり、管理者のユーザー権限を設定することはできません
また、管理者のユーザーにOneLoginのユーザープロビジョニングにより権限を書き換えることはできず、Boxの管理者権限はBox側で変更する必要があります
- Optional Parameters > Role フィールドを選択します
-
Value から設定するロールを選択します
-
Include in User Provisioning にチェックを入れます
- [Save]をクリックします
-
Rules タブに移動し、[Add Rule]をクリックします
- 任意の Name を入力します
- Conditions >[+]をクリックします
-
Conditions でマッピングの適用条件を設定します
左側のプルダウンではOneLoginのユーザーパラメータを選択します
例)Department
- 中央のプルダウンでは適用条件を選択します
例)equals・・・一致
- 右側のテキストボックスにはパラメータの値を入力します
例)情報システム部
- Actionsの上側のプルダウンではどのようなアクションを起こすか設定します
例)Set Role in Box
- Actionsの下側のプルダウンではアクションによって具体的に何を割り当てるかを設定します
例)Co-Admin
- [Update]をクリックします
以上のようにRoleの設定をOneLoginのユーザーパラメータを元にBoxのユーザー権限を柔軟に制御することができます。
1-3. グループの設定
OneLoginの機能により、Boxのグループを作成及び追加することが可能です。
Parametersタブには Group(Required Parameters), Groups(Optional Parameters) の2種類の値があります。
Group(Required Parameters) は、SAML just-in-time Provisioning と呼ばれる、SAML認証したタイミングと同時に値を書き換えるプロビジョニングを使うことができます。
Groups(Optional Parameters) は、 OneLoginがBoxのAPIを利用することにより実現するユーザープロビジョニングです。
ここでは、2種類のグループパラメータのうちどちらを使うべきかと、パラメータごとの設定例についてご説明します。
1-3-1. Boxのグループ管理はBox側で管理したい場合
*Boxアカウントを既に運用していて、ユーザープロビジョニングの導入にあたりグループ関係を維持したい、という方向けの設定となります。
-
Parameters > Optional Parameters >[Groups] をクリックします
- Include in User Provisioningにチェックを入れます
これによりBox側で作成したグループの情報を取得することができます
- [Save]をクリックします
- ルールを設定するためRules >[Add Rule] をクリックします
ルールを設定することにより、グループをOneLoginのユーザーパラメータに応じて変えることができます
- ルールの名前を入力します。ここではDepartment (OneLoginのユーザーパラメータ) が 情報システム部 のユーザーは Boxのグループ 情報システム部 に追加する場合という場合を想定します
例)情報システム部 -> 情報システム部(Box)
- Conditions >[+]をクリックします
- Conditionsにルールの適用条件を入力します
左側のプルダウンではOneLoginのユーザーパラメータを選択します
例)Department
- 中央のプルダウンでは適用条件を選択します
例)equals・・・一致
- 右側のテキストボックスにはパラメータの値を入力します
例)情報システム部
- Actionsの上側のプルダウンではどのようなアクションを起こすか設定します
例)Set Groups in Box・・・Box内のグループを設定する
- [From Existing]を選択します
- ユーザを追加するBox側のグループを選択します
例)情報システム部
- [Add]をクリックします
- グループが追加されたことを確認します
- [Update]をクリックします
以上のように、Roleの設定をOneLoginのユーザーパラメータを元にコントロールすることができます。
1-3-2. BoxのグループをOneLoginのユーザーパラメータを元に作成したい場合
*社内でBoxアカウントを取得したてであり、グループの制御をOneLoginのユーザーパラメータを使って制御したい、という方向けです。
- Parameters > [Group] をクリックします
-
Value に [Department]を選択します
この設定により、指定した Value の値をグループ名とするBoxのグループが作成されます
もしグループ名が既に存在すれば、そのグループに追加されます
- [Save]をクリックします
- More Actions > Reapply entitlement mappings を選択します
-
Users タブに移動し、対象ユーザーの Pending をクリックします
- [Approve]をクリックします
- 対象ユーザーの Provisioning State が Provisioned に変化したことを確認します
プロビジョニングの設定は以上です。
2. Boxのフォルダの自動作成手順
2-1. 準備
- OneLoginに管理者でログインし、[管理]をクリックします
- Applications > [Applications]をクリックします
- [Box]を選択します
- Parameters > Optional Parameters > [Folder] をクリックします
- Valueにプルダウン中の[ - Macro - ]を設定します
- そのすぐ下の入力欄にユーザのフォルダを作るのに必要な情報を入力します
例: folder_id/{lastname}
folder_idは、Boxのフォルダにアクセスした時のURLの末尾の数字です。例えば、フォルダにアクセスした時のURLが https://app.box.com/folder/135981580311 の場合、folder_id は 135981580311 となります
- [Include in User Provisioning]に チェックを入れます
- [Save]をクリックします
2-2. 自動作成
- Applicationsタブ > [Applications]をクリックします
- [Box]を選択します
- More Actions > Create user folders in Box を選択します
- [Confirm]をクリックします
- Usersタブを開き、ユーザーをクリックした後、以下のような画面になっていることを確認します
- [Save]をクリックします
- 最後にBoxでフォルダが作成されているかどうかを確認します
以上のように、OneLogin側でパラメータを用いて、Box側でのユーザのフォルダを自動作成することができます
ユーザープロビジョニングの無効化
- OneLoginに管理者でログインし、[管理]をクリックします
-
Applications メニューから[Applications]を選択します
- ご利用中の Box を選択します
-
Provisioning タブに移動し、Enable provisioning のチェックを外し、[Save]をクリックします
ユーザープロビジョニングの無効化は以上です。
トラブルシュート
4-1. ユーザーを削除しようとしたらエラーが出てしまった
以下のようなエラーが出た際は、削除しようとしたユーザーがコンテンツを所有しているのに削除されているためにエラーが出ます
この場合には、以下のいずれかを有効化し、削除するユーザーのコンテンツをどのように取り扱うかを設定してから再度実行してください
・1-1-1. ユーザーの削除とともにBoxユーザとコンテンツを削除する場合を参考にForce Content Deleteを有効化
・1-1-3. 削除するユーザーのコンテンツを他のユーザーに転送するを参考にTransfer Docs on Delete と Destination Userを有効化
4-2. APIの承認が無効化されてしまう
APIの承認時に下記画面のようなエラーが表示された場合はこちらのトラブルシュートをご活用ください
- エラー画面に記載されているクライアントIDをコピーします
例)y2fgg29h5e48h9paipaew3400l6hs53ly6j
- Boxに管理者としてログインし[管理コンソール]を開きます
- [統合]をクリックします
- [Platformアプリマネージャ]をクリックします
- [+]をクリックします
- クライアントIDの入力欄に先ほどコピーしたクライアントIDを貼り付けます
- [次へ]をクリックします
- [有効化]をクリックします
以上の操作により、APIの承認ができるようになります
4-3. ユーザーのメールアドレスを変更しようとしたらエラーが出てしまった
ユーザーのメールアドレスをOneLogin側で変更しようとしたときに以下のエラーが出てしまった時の対処法のご紹介です
Boxの仕様より、メールアドレスを変更する際には、まずOneLogin側で変更を行うのではなく、先にBox側で変更を行う必要があります
以下の手順でメールアドレスの変更を行います
- Boxに管理者としてログインし[管理コンソール]を開きます
- [ユーザーとグループ]をクリックします
- 変更したいユーザをクリックします
例)user
- [編集]をクリックします
- Box管理コンソールでユーザのメールアドレスを変更します
- OneLoginでユーザーのメールアドレスを変更し、[Save User]をクリックします
- Applications > Applications より、検索欄に Box と入力しコネクタを選択します
- Users タブに移動して Failed をクリックします
- [Retry] をクリックします
- プロビジョニングが成功したことを確認します
以上のようにBoxユーザのメールアドレスの変更は先にBoxで変更を行う必要がありますが、OneLogin側で変更したメールアドレス以外のユーザ情報はきちんとBox側に反映されます