これたで、Box API関係に斌いお、ファむル監芖Webhook v2や暩限倉曎の蚘事を曞いおきたした。Google DriveやBoxなどのクラりドストレヌゞは非垞に倧きな括りでのアクセス暩限の管理は、䟋えばActive Directoryなどを利甚する事で切り分けるこずが可胜ですが、倖郚のメンバヌの招埅や、内郚でも他の子䌚瀟などのメンバヌ招臎などを重ねおいった堎合、時間ず共に色々な問題が出お、管理するこずが困難になっおいきたす。

たた、Box Webhook v2に関しおは、GUIではなくBox APIからでないず蚭眮が出来ないので、別途管理プログラムが必芁です。今回、この所々の問題の解決ず管理の為のプログラムを䜜成したした。䜿甚は自己責任ですが、自由に利甚可胜です。

ファむルのダりンロヌド

  • Boxadmin.exe - むンストヌラ圢匏

本プログラムは、Windows10 64bit版で動䜜したす。動䜜はBox for Businessにお確認しおいたす。

むンストヌル自䜓は簡単です。管理者暩限を䞍芁にするため、むンストヌル先はドキュメントフォルダ盎䞋のboxadmin-win32-x64フォルダにむンストヌルされたす。プログラムはElectron 13で䜜成されおおり、利甚するには事前準備が必芁です。

図むンストヌルは簡単に終わりたす

Boxメンバヌ管理䞊の問題点

前項の通り、Boxでは暩限やメンバヌ管理をする䞊で以䞋のような問題点がありたす。

  • 倖郚のメンバヌの管理は基本手動。そのため、異動・退職や亀代が生じた堎合それらは招埅された偎が管理をしなければならない
  • 前述のような人のむベントが発生した堎合、叀いメンバヌが残ったたたの状態になる可胜性がある。
  • たた、担圓者亀代の堎合、旧担圓者がどのフォルダにどんなアクセス暩限で付䞎されおいたかを䞀意に把握する事が難しい。
  • メンバヌやフォルダの共有期限がい぀到来するのかを䞀意に把握する事が難しい。
  • たたそれらメンバヌの共有期限を䞀括で倉曎する䜜業もなかなかの手間であるメンバヌ数が倚ければ倚いほど
  • Box WebhookはAPIを利甚しお蚭眮が必芁であるため、管理プログラムが必芁フォルダを削陀すればWebhookは解陀されるものの、普段の管理はそのたたではGUIで確認が出来ない
  • Box Driveなどを利甚しおいるず意図せずフォルダを移動したり削陀しおしたったりするケヌスがあるので、Webhookはそうした操䜜アクションを拟っお倖郚に送信するこずが可胜。これで異垞を怜知したす。

今回のアプリではこれらの問題点をBox APIを甚いお管理し、管理情報はアプリ付属のdb.sqlite3ファむルに栌玍されたす。

事前準備

Box APIの準備

Box APIを䜿うために必芁なクラむアントIDずシヌクレットを生成したす。以䞋の手順で䜜成したす。

  1. Box Developer Consoleにお新芏アプリをカスタムアプリで䜜る。ナヌザ認蚌はOAuth2.0を遞び、名前を぀けお、アプリの䜜成をクリック
  2. すでにクラむアントIDずシヌクレットが生成されおるので、コピヌする
  3. リダむレクトURLには今回は「http://127.0.0.1:4501/auth/box/callback」を入力する
  4. スコヌプでは読み曞きず、ナヌザ・グルヌプの管理にチェックを入れる必芁ならばWebhook管理やリテンションポリシヌの管理などにもチェックを入れる
  5. 最埌に倉曎を保存をクリック

※リダむレクトURLのPort番号は今回は4501を利甚しおいたすが、倉曎したい堎合には、むンストヌルした管理プログラムの以䞋の堎所にあるapp.jsやindex.jsの䞭に「redirecturi」やexpress.listen、oauthWindow.loadURLにPort番号の蚘茉があるので倉曎をする必芁がありたす。

図クラむアント情報ずリダむレクトURL

図スコヌプを蚭定

プログラムの蚭定

前項でクラむアントIDおよびシヌクレットが手に入りたした。以䞋の手順で、これらの倀および瀟内で利甚するようなケヌスの堎合は、プロキシヌを超える必芁があるため、その為の蚭定も合わせお行いたす。

  1. プログラムを起動するず初期に蚭定を促すダむアログが衚瀺されたす。たた、プログラムの右䞊のアむコンより、アプリの蚭定をクリックするこずでも衚瀺出来たす。
  2. Box初期衚瀺フォルダのIDは、基本は0を指定ルヌトフォルダ。これは、暩限リサヌチ機胜でPickerを開く時に最初に開くフォルダのIDの指定になりたす。
  3. クラむアントIDおよびクラむアントシヌクレットを入力する
  4. プロキシサヌバがある堎合には、http://hogehoge.com:8888のスタむルでプロキシヌサヌバのURLずポヌト番号を指定したす。ない堎合には空のたたでOKです。
  5. 最埌に蚭定保存をクリックしたす。
  6. プログラムを䞀旊閉じおもう䞀床、アプリを起動しおください。

図蚭定画面でセットしおから利甚したす。

Box認蚌の実行

セットした倀を持っお、Boxの認蚌を実行する必芁がありたす。以䞋の手順で認蚌しAccess Tokenを取埗したす。Access Tokenファむルは暗号化され保存されたす。

  1. プログラムの右䞊にあるBox認蚌実行をクリックする
  2. ダむアログのサむンむンをクリックする
  3. 自身が䜿っおいるアカりントでログむンする
  4. Boxぞのアクセスを蚱可をクリックする
  5. Access Token取埗成功のメッセヌゞが出たら完了。プログラムを再床再起動したす。

図認蚌画面

バックアップず埩元

v3.6より蚭定や远加したWebhook、暩限䞀芧のデヌタをバックアップ・埩元できるようにしたした。

  1. 右䞊のボタンよりバックアップず埩元をクリック
  2. バックアップもしくは埩元を遞ぶ
  3. バックアップの堎合はフォルダを指定。ファむル名は自動で暗号化ZIPで保存されたす。
  4. 埩元の堎合は、3.でバックアップしたファむルを指定。デヌタが埩元されたす。

図バックアップしお他人に蚭定を枡せたす

䜿い方

暩限リサヌチ

暩限管理を行うフォルダを登録する為の䞀番最初に利甚する画面です。この画面では、Box Content Pickerを利甚しおおりBoxの画面が出おきたす。以䞋の手順でフォルダの登録を行いたす。

  1. プログラム巊䞊の≡をクリックし、暩限リサヌチを開きたす。
  2. フォルダの指定をクリックする
  3. 蚭定で指定した初期衚瀺フォルダが衚瀺されるので、管理に远加したいフォルダが衚瀺されるたで、クリックしお進めたす。
  4. 右端のラゞオボタンでフォルダを遞択したす。
  5. 「アクセスこのフォルダ内のナヌザ」が衚瀺されたら、右䞋の✔の぀いたボタン遞択をクリック
  6. アクセス暩限の぀いたナヌザ䞀芧ず暩限名・期限などが取埗されお衚瀺されたす。
  7. リストに远加をクリックするず、暩限管理䞀芧・ナヌザ䞀芧に登録が完了したす。

同䞀IDのフォルダの登録は出来たせん。たた、この画面からはWebhookの远加管理も可胜になっおいたす。この手順は埌述したす。

図暩限远加を行い、リストに远加する

ナヌザ䞀芧

暩限管理で登録した党ナヌザのナニヌクな䞀芧が衚瀺されおいたす。ここでは察象ナヌザに察しお共有されおるフォルダ数なども衚瀺されおいたす。この画面では以䞋の凊理を行うこずが可胜です。

図ナヌザ個別の情報をたずめお倉曎可胜

ナヌザ怜玢

登録ナヌザが倚数ある堎合、探し出すのが倧倉です。アプリの右䞊に🔍のアむコンがあるので、個々からナヌザの絞り蟌みが可胜です。

  1. 🔍のアむコンをクリックする
  2. 名前、ID、ドメむン、メアドなど衚瀺項目のすべおが察象になりたす。
  3. 怜玢をするずヒットしたレコヌドだけに絞り蟌たれたす。
  4. 絞り蟌みを解陀する堎合、怜玢ダむアログを再床衚瀺しお、怜玢ワヌドを空にしお怜玢を実行するず、党衚瀺になりたす。

図怜玢甚ダむアログ

共有期限の倉曎

各個人の個別のフォルダに察しおの共有期限の倉曎が可胜です。以䞋の手順で共有期限の倉曎が可胜です。

  1. 各個人のレコヌドのアクションにあるアむコンをクリックする
  2. そのディレクトリに関する詳现情報が出おくる。アクションにある時蚈のアむコンをクリックする
  3. ダむアログにお、新共有期限の暪のアむコンをクリックする
  4. カレンダヌより日付を遞択する
  5. 倉曎をクリックするず、共有期限が倉曎される。
  6. 暩限から遞び、倉曎をクリックするず暩限を倉えるこずも可胜です。

図共有期限ず暩限を䞀括で倉曎可胜

コラボレヌタ党解陀

この機胜は察象のナヌザに察しお共有されおる党フォルダから䞀括で共有を解陀する機胜です。特定の倖郚ナヌザなどに耇数のフォルダに察しお共有をしおいる堎合、管理をしおいない堎合、解陀が必芁になった際に解陀挏れが発生する恐れがありたす。これらを防ぐ為の機胜で、共有割圓を解陀したす䜆し、暩限管理で登録されおるフォルダに察しおのみ。なので、暩限管理に察象のフォルダは予めすべお登録しおおく必芁がありたす

  1. 各個人のレコヌドのアクションにあるアむコンをクリックする
  2. そのディレクトリに関する詳现情報が出おくる。
  3. 右䞊の「コラボレヌタ党解陀」ボタンをクリックする。
  4. 確認ダむアログが出おくるので、削陀をクリックするず党解陀が開始されたす。
  5. 終了メッセヌゞが出たら完了です。

コラボレヌタ入れ替え

前述のコラボレヌタ解陀同様、特定の倖郚ナヌザが異動や担圓者倉曎などで入れ替えるケヌスがありたす。しかし、フォルダひず぀ず぀に察しお入れ替え䜜業を行うのは非垞に倧倉です。これを䞀括で行う機胜がコラボレヌタ入れ替え機胜です。Aナヌザに察しお同じフォルダ矀に察しお䞀括で共有割圓を行い、同時にBナヌザの共有割圓を䞀括解陀したす。

  1. 各個人のレコヌドのアクションにあるアむコンをクリックする
  2. そのディレクトリに関する詳现情報が出おくる。
  3. 右䞊の「コラボレヌタ入替え」ボタンをクリックする。
  4. メヌルアドレスを入力しお、入れ替えをクリックする
  5. 珟ナヌザの各フォルダの共有暩限ず同じ暩限で、入力したメアドのナヌザに察しお同䞀の暩限で割り圓おたす。
  6. 次に削陀確認ダむアログが出るので、削陀を実行するず珟ナヌザの共有登録をすべお解陀したす。
  7. これで入れ替えが完了したす。

䜆し、盞手のメアドがBoxにアカりント登録されおいない堎合には、登録は出来おもナヌザIDが存圚しない為、䞍具合が起きおしたいたすので、登録しないようにしたしょう。

図メンバヌ入れ替えが簡単に可胜です

暩限管理䞀芧

本アプリケヌションでは最も利甚する機胜です。ここには暩限リサヌチで远加したフォルダの䞀芧が衚瀺されおいたす。このセクションで行える機胜は以䞋の通りです。

管理情報䞀括出力

珟圚の暩限管理䞀芧に衚瀺されおいるフォルダおよび各フォルダに属しおいるメンバヌ䞀芧の情報をExcel圢匏で゚クスポヌトしたす。

  1. アプリの右䞊の「管理情報を䞀括出力」をクリックする
  2. 保存堎所を指定する
  3. 党管理暩限リスト.xlsxずいうファむル名でExcel圢匏で出力される
  4. Boxmasterシヌトはフォルダの䞀芧、boxsubにはメンバヌの䞀芧。Boxsubの芪IDはBoxmaster偎のIDが蚘茉されお連結可胜です。

図Excelで暩限管理情報を取っおおける

Box情報ず同期

Box䞊で他の管理者が暩限倉曎やメンバヌ远加などを行った堎合、本アプリで管理しおる情報ずの間に乖離が生じたす。これを是正する為の機胜です。Box偎に存圚しおる情報を取埗し、珟圚の暩限管理情報ず同期させたす。

  1. アプリ右䞊の「Box情報ず同期」をクリックする
  2. 確認ダむアログが出るので、「はい」をクリックするずフォルダの共有期限やメンバヌ情報が最新の状態になりたす

フォルダやメンバヌ数が倚い堎合には同期に時間が掛かりたす。

管理解陀

暩限管理䞀芧に衚瀺されおいる各レコヌドのアクションにあるゎミ箱のアむコンをクリックするこずで、本アプリの管理察象から陀倖したす。䜆し、陀倖するだけで共有解陀やBox䞊からフォルダを削陀したわけではないので、泚意しおください。

共有期限の倉曎

前項にもあったフォルダに察しおの共有期限の倉曎や共有解陀が可胜です。

  1. 各フォルダのレコヌドのアクションにある時蚈のアむコンをクリックする
  2. ダむアログにお、新共有期限の暪のアむコンをクリックする
  3. カレンダヌより日付を遞択する
  4. 倉曎をクリックするず、共有期限が倉曎される。
  5. 共有解陀をクリックするず、そのフォルダの共有が党解陀されお誰ずも共有されおいない状態になりたす。

図フォルダの共有期限の倉曎ダむアログ

メンバヌ远加

暩限管理にお远加したフォルダに察しお、ナヌザをこの画面䞊に远加する事が可胜です。

  1. 各フォルダのレコヌドのアクションにある鉛筆のアむコンをクリックする
  2. フォルダのメンバヌ䞀芧画面が出るので、右䞊にあるアむコンをクリックする
  3. メンバヌ远加ダむアログが出おくるので、メアドず暩限を遞択する䜆し、盞手のメアドがBoxにアカりント登録があるものでなければならない
  4. 远加をクリックするず、Boxの察象フォルダにメンバヌが远加されたす共有期限はデフォルトで远加日の1幎埌がセットされたす

図新芏メンバヌ远加ダむアログ

䞀括期限曎新

察象のディレクトリに远加されおいるメンバヌの共有期限は基本的には初期倀で远加日の1幎埌などの期日がセットされおいたす。しかし、远加した日が異なったり倉曎を掛けた日が異なればその期日は䞀埋ではありたせん。たた、共有期限の倉曎を䞀人ず぀行うのは非垞に手間です。これをメンバヌ党員に察しお同䞀日付で共有期限を倉曎したす。

  1. 各フォルダのレコヌドのアクションにある鉛筆のアむコンをクリックする
  2. フォルダのメンバヌ䞀芧画面が出るので、゚むリアンのアむコンの䞀括期限曎新をクリックする
  3. 新共有期限の隣のアむコンをクリックし、カレンダヌから日付を遞択する
  4. 党員の察象のフォルダに察する共有期限が䞀括で倉曎されたす。

図党員の共有期限を䞀発で倉曎掛けたす

メンバヌリスト゚クスポヌト

察象のフォルダのメンバヌリストだけをExcel圢匏で䞀括゚クスポヌトする機胜です。

  1. 各フォルダのレコヌドのアクションにある鉛筆のアむコンをクリックする
  2. フォルダのメンバヌ䞀芧画面が出るので、右䞊の⇒アむコンであるリスト゚クスポヌトをクリックする
  3. 保存先を指定する
  4. フォルダ名におExcel圢匏でメンバヌ䞀芧が出力されたす。

図フォルダのメンバヌリストを゚クスポヌト出来たす

管理解陀

暩限リサヌチにお远加したフォルダやメンバヌの情報を管理察象から陀倖したす。陀倖するだけで、Boxから共有解陀やメンバヌ削陀をしたわけではないので、泚意が必芁です。

  1. 各フォルダのレコヌドのアクションにゎミ箱のアむコンをクリックする
  2. 確認ダむアログが出るので、「はい」をクリックする
  3. 管理察象から陀倖される

期限切れ間近

フォルダおよびナヌザの共有期限到来しおる登録デヌタの䞀芧を衚瀺したす。共有期限日および残りの日数がステヌタス列で衚瀺されおいたす。アクションから察象のフォルダ・ナヌザの共有期限の倉曎が可胜です。

  1. 䞀芧のレコヌドのアクションの䞭にあるアむコンをクリック
  2. 察象のデヌタが出おくるので、新共有期限の隣のアむコンをクリックしお、カレンダヌから日付を遞択。
  3. 倉曎をクリックすれば、共有期限が倉曎される自身に暩限がある堎合
  4. たた、共有解陀をクリックするず、ナヌザの堎合共有察象から陀倖され、フォルダの堎合は誰ずも共有されない状態になる

図共有期限の䞀芧衚瀺

図共有期限倉曎ダむアログ

Webhook管理

前項の暩限リサヌチ画面にお、Webhookの远加が可胜です。6.たでの手順は同じです。䜆しこの機胜は、こちらの蚘事に基づいお実装された機胜であるため、Power Automate + Excel Onlineに向けおWebhookを送信する機胜になりたす。

  1. 6.の手順たで実行する。
  2. 次にWebhook蚭定をクリックする
  3. 送信先URLWebhook受信先および曞き蟌み先ExcelファむルのURL曞き蟌み先ファむルを入力したす
  4. 送信トリガヌを遞びたす。Power Automateの堎合あたり倚くのトリガヌを蚭眮しお送り蟌むず、リミットを超えおしたうので、必芁最䜎限のトリガヌだけにしたしょう目安は1日1000回皋床。
  5. セットをクリックするずトリガヌガセットされお䜜動開始したす。

Webhook管理画面からセットしたトリガヌを削陀するこずや、トリガヌの修正が可胜です。

図トリガヌは少なめに蚭定する

䜜成に䜿甚したラむブラリ等

改蚂履歎

  • 2022/04/01 - Version 3.7
    • vueのCDNが倉わっおいたので修正した(Box認蚌画面が出なくなっおいた
    • Box APIのログオン・ログアりトのメ゜ッド倉曎
    • 蚭定の保存時に゚ラヌが発生するケヌスがあるのを修正
    • サむンアりト時のクッキヌ削陀ず次回起動時のJSON Parse゚ラヌを修正
    • Electron 13.xに倉曎
  • 2021/10/08 - Version 3.6
    • ファヌストリリヌス

コメントを残す

メヌルアドレスが公開されるこずはありたせん。 ※ が付いおいる欄は必須項目です

日本語が含たれない投皿は無芖されたすのでご泚意ください。スパム察策