SaaS

Slackで共有するファイルを自動でBoxへ格納する「Box for Slack: Custom Files Store」でファイルの格納先を指定する

セキュリティチームのぐっちーです。Box Advent Calendar 2023の12月24日が空いていたので、小ネタを投稿します。以前、Slackで共有するファイルを自動でBoxへ格納する「Box for Slack: Custom Files Store(SlackのコンテンツレイヤーとしてBoxを使用する)」1についてのブログを書きましたが、それが少し進化したよという小ネタを投下したいと思います。

ご注意
  • 本ブログの内容は2023年12月24日時点までの情報を元に作成しております。

「Box for Slack: Custom Files Store」のツリー構造

「Box for Slack: Custom Files Store」のツリー構造はやや複雑です。下記の図のように、かなり深い階層に分かれて保管されています。また、ユーザーはチャンネルごとにコラボレーターとして招待されるため、ファイルが散財しているように見えるという特性があります。

特定のフォルダを指定できるように!

以前までのツリー構造だと、ユースケースによっては若干使い勝手が悪かったのですが、いつかのアップデートで特定のフォルダを指定できるようになりました。2

Box 開発者コンソールでアプリ作成

Box 開発者コンソールでJWSのアプリ作成します。その際、アプリケーションのスコープとしては[Enterpriseのプロパティを管理する]の権限をつけてあげることが必要です。

Boxの格納場所に指定したいフォルダに共同所有者の権限をつける

「Box As File Storage」のAutomation Userに対して、Boxの格納場所に指定したいフォルダの共同所有者の権限をつける必要があります。ただ、「Box As File Storage」のユーザーのメールアドレスは管理コンソールからは見切れてしまっているので、「Box APIを使って設定」を先に実行し、そのエラーメッセージに含まれるメールアドレスを指定してあげると良いと思います。

Box APIを使って設定

設定方法としては、Box APIを使ってSlackチャンネルとBoxをマッピングしてあげる形となります。SlackのワークスペースID、チャンネルID、Boxの格納場所に指定したいフォルダのIDを指定して、以下のようにリクエストを飛ばします。

curl -X -L POST "https://api.box.com/2.0/integration_mappings/slack" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H 'content-type: application/json' \
     -d '{
          "partner_item": {
              "id": "<チャンネルID>",
              "type": "channel",
              "slack_workspace_id": "<ワークスペースID>"
          },
          "box_item": {
              "id": "<設定したいフォルダのID>",
              "type": "folder"
          }
      }'

Boxのフォルダ構造とSlackチャンネルのプレフィックスを一緒にするという使い方ができそう?

Boxのフォルダ構造とSlackチャンネルのプレフィックスを一緒にするという使い方ができそうというのがこの機能の良さそうなところです。例えば、プロジェクト資料フォルダというフォルダを作っておき、そのフォルダの配下に「Project A」「Project B」というチャンネルを作っておき、Slackにも同じように「pj-A」「pj-B」というチャンネルを作成して、そこと同期するような使い方です。ただ、手で設定していたら管理者が死んでしまいそうなので、一定の自動化が前提ではないと大変そうです。

注意点は変わらず

Slack Connectのチャンネルでは利用できない等の注意点は依然と変わっておりません。詳細は「Slackで共有するファイルを自動でBoxへ格納!Box for Slack: Custom Files Storeを検証してみた」をご確認いただけたら幸いです。

おわりに

SlackとBoxに関わらず、Boxは様々なクラウドサービスと連携してデータを統制することができる点が素晴らしい点です。今後も、Boxとさまざまなクラウドサービスを組み合わせた使い方を追求していきたいと思います。

注釈

  1. SlackのコンテンツレイヤーとしてBoxを使用する – Box Support ↩︎
  2. Slack統合マッピングを作成 – APIリファレンス – Box Developerドキュメント ↩︎

ぐっち

コンサル会社にてISO27017やISMAP等のセキュリティ規格案件を経験した後、クラティブに入社。セキュリティチーム所属ですが、最近は生成AI等を使ったシステムの開発や導入をやっています。趣味はダンス(Soul, Lock, Waack)です。