SaaS

Slackで共有するファイルを自動でBoxへ格納!Box for Slack: Custom Files Storeを検証してみた

はじめに

セキュリティチームの ぐっちー です。Slack で共有するファイルをBoxに自動保管する機能「Box for Slack: Custom Files Store(カスタムファイルストア)」が提供開始されたので、検証して気になる点をまとめています。

前提条件・免責事項

  • 「Custom Files Store」は「Box for Slack」の機能の1つですが、「Box for Slack」の他の機能と有効化手順が異なりますので注意してください。
  • 利用するには以下のライセンスが必要です。
    • Slack:Enterprise Grid
    • Box:Enterprise 以上
  • 本ブログの内容は、2022年2月14日時点までの情報を元に作成しておりますが、クラウドサービスの仕様変更等に伴い、将来的に状況が変化することがございます。仕様変更が確認できた場合は可能な限り修正をしますが、最新の情報を常に維持することは難しい点についてはご了承ください。
  • 本機能は「Org全体」か「Workspace単位」での有効化となり、ユーザー単位やグループ単位、チャンネル単位の設定を行うことができません。Org全体だと影響範囲が大きいので、Workspaceを指定して動作を試してからOrg全体に適用するか検討してください。ちなみに、私がテストした内容は「気になる点」に記載しているので、参考まで。
  • 私が気になったさまざまな観点で検証をしておりますが、検証項目の網羅性を担保はしておりません。

設定手順

【管理者】Boxでアプリケーションの個別管理の設定を行う

まずBox側で「アプリケーションの個別管理の設定」を行い、SlackとBoxの環境の紐付けます。(参考
1) 管理者としてBox にサインインして、Box 管理コンソールを開きます。
2) 左のサイドバーで[アプリ]をクリックします。
3) [アプリケーションの個別管理]で、 [Box for Slack]を検索します。
4) [Box for Slack]の横にある[構成]をクリックします。

5) [Boxコンテンツレイヤーの設定] までスクロールダウンし、[Slack Enterprise Grid Org ID]と[Workspace ID]を入力します。

6) 「保存する」をクリックします。 

注意

「Slack Enterprise Grid Org ID」や「Workspace ID」がわからない場合は、Slack カスタマーサクセスマネージャーにお問い合わせください。

【管理者】Boxでカスタムアプリを有効にする

次に、Boxでカスタムアプリを有効にすることで、「Box for Slack: Custom Files Store」のBox側の設定を有効化します。(参考
1) 管理者としてBox にサインインして、Box 管理コンソールを開きます。
2) [アプリ] > [カスタムアプリマネージャ] に移動します。
3) [アプリの追加] をクリックします。
4) [クライアントID] フィールドに、0x3vedms8thsqqkphx49cgc5c03n6wj5と入力します。
5) [次へ] をクリックします。
6) 情報を確認し、[承認] をクリックします。

ユーザー】SlackでBox アプリをインストールする

次に、「Box for Slack」アプリをSlackにインストールします。この作業は全ユーザーが対象です。

注意

この設定はユーザー全員が実施する必要がありますが、初期導入の段階では最低でも管理者がこの手順を実施していれば問題ありません。後続の「Slack社に必要事項を連絡する」を終えた後でも、「SlackでBox アプリをインストールする」を実施していないユーザーは、「Box for Slack: Custom Files Store」が利用はできず、通常のファイルアップロードもできなくなります。

1) Slackから、左のサイドバー上部の [App]をクリックし、Box を検索します。 [App]が見当たらない場合、 「…その他」をクリックすると見つけることができます。

2) アプリページから、[Slack に追加]をクリックします。
3) 表示されるメッセージに従って Box にサインインし、Slack で認証します。
4) 「Box へのアクセスを許可」をクリックします。

【プライマリーオーナー】Slack社に連絡

ここまで準備が終わったら、「ワークスペースのプライマリーオーナー(注)」からSlack社(セールスフォース・ジャパン社)のカスタマーサクセスマネージャーに依頼し、機能を有効化してもらいます。プライマリーオーナー以外からの連絡は取り合ってくれないので注意してください。ちなみに私は、以下の文面で依頼をしたので、参考まで。

株式会社セールスフォース・ジャパン
Slackカスタマーサクセス担当者様

お世話になります。
Slackのチャットで共有したファイルが自動でBoxに保管される機能「Box for Slack: Custom Files Store」について、有効化の依頼のためにご連絡いたしました。
https://blog.box.com/collaborate-seamlessly-box-slack-integration

既に、Box側でアプリケーションの個別管理の設定と、カスタムアプリの有効化、Slack側でBox for Slackの有効化を完了しておりますので、Custom Files Storeの有効化作業をお願いしたく存じます。
以下に、申請に必要な情報を記載してますので、ご確認ください。

<必要情報>
Slack OrgID:E********
Slack Workspace ID: T********
対象ワークスペース URL:***.slack.com
有効化の対象:Workspace 単位(注)
Box Enterprise ID: ********

以上、よろしくお願いします。

注意

もし、Org全体で「Box for Slack: Custom Files Store」を有効化する際には、「有効化の対象」でOrg全体を希望する旨を記載してください。また、Org全体で本機能を有効化する場合は、Slack社への連絡もOrgのプライマリーオーナーが実施する必要があります。
また、Slackカスタマーサクセスマネージャーがわからない場合は、サポート担当やSlack営業担当に依頼して繋いでもらう必要があります。

ちなみに、BoxのEnterprise IDは管理コンソールの [アカウントと請求] から確認できます。

動作確認

有効化した後は、ユーザーがアップロードしたローカルファイルは、Slackのサーバーを介さずに、Slackインターフェースから直接Boxに送信されます。以下の画像の赤枠内を見て分かる通り、Box上にデータが存在することがわかります。

Box for Slack: Custom Files Store有効化後のファイル共有

Box側では「Slackチャットファイル」というフォルダが生成され、Slackで共有されたフォルダが順々に保管されていきます。

気になった点

ファイルのアクセス権限

一番気になるのはファイルのアクセス権限周りで、意図しない情報の流出が起きる懸念がないかは最も重要な確認事項だと思います。そこで、ファイルのアクセス権設定の流れから、リスクがないか見ていきます。

ファイルを投稿したユーザー(管理者ではなくエンドユーザー)は、ファイル投稿時に以下4つの権限から、ファイルアクセス権を選択する流れとなります。

  1. Boxユーザーのみ確認できるリンクを作成
    • URLを知っている社内Boxユーザーがアクセス可能
    • ファイルのプレビューとダウンロードが可能
  2. 公開共有リンクを作成(要注意
    • URLを知っていればインターネットから誰でもアクセス可能
    • ファイルのプレビューとダウンロードが可能
  3. Slackチャンネルにいる社内ユーザーを「編集者」として招待する
    • ただし、「Slack for Box」のアプリを有効化していないユーザーには招待されない
    • 社外のユーザーには権限をつけられない
    • 後からチャンネルにユーザーを追加したり削除した場合も、当初付与された権限は変わりません
  4. Slackチャンネルにいる社内ユーザーを「閲覧者」として招待する
    • ただし、「Slack for Box」のアプリを有効化していないユーザーには招待されない
    • 社外のユーザーには権限をつけられない
    • 後からチャンネルにユーザーを追加したり削除した場合も、当初付与された権限は変わりません

上記の4つのファイル投稿ユーザーの設定のうち、最も気になるのは「公開共有リンク」です。これを設定してしまうと、第三者でもURLさえわかってしまえば、インターネットを通じてアクセスが可能になります。

これに対して管理者としては、Box側の管理設定により制限することが可能です。[Enterprise設定] > [コンテンツと共有] > [共有リンクを許可する対象]を[該当なし、共有制限]に設定すると、「公開共有リンク」の作成を抑止できます。この設定はテナント全体の設計に係わるので、整合性を考慮してどのような設定にするか検討してください。

注意

公開共有リンク設定とする時に、Slack側の操作でリンクにパスワードを設定することはできません。一方、ファイル共有した後に、ファイル共有したユーザーがBox側の設定で、パスワードを後から付加することはできます。(参考

また、Boxのライセンスをマクニカ社や当社から購入いただいている場合は、「Hakomanager」という無料ツールを利用して、公開共有リンクを削除することが可能です。

フォルダ構造

Slackからファイルをアップロードすると、ユーザーごとに作成される「Slackチャットファイル」のフォルダーに保存されます。このフォルダは個人ごとにプライベートフォルダとして作成されるので、他のユーザーにBox経由でファイルを盗み見られる可能性は低いです。(ただし、管理者からは確認できます。)

この場合の、フォルダの所有権は「ファイルを投稿したユーザー(=「Box for Slack」アプリを有効化したユーザー)」が持ちます。また、通常のBoxファイル同様にコラボレーターを招待することで、他のユーザーにファイル権限をつけることができます。

注意

Slackチャンネル毎にフォルダーを自動的に作成する機能や、格納するフォルダを指定する機能は現状ありません。ただ、Slackチャンネル毎にフォルダーを自動的に作成する機能に関しては、今後機能追加されていく方向性とのことです。

Boxライセンスを持っていないユーザー

この機能では、ファイルをアップロードするために、Boxアカウントをユーザー単位で、Slackに連携させることを必要としています。そのため、Boxのライセンスを持っていないユーザーはこの機能を利用することができません。ファイルの投稿を実施しようとすると、以下の様にブロックされてしまいます。

ワークアラウンドとしては、Boxライセンスを持っていないユーザーがファイルを展開したい場合は、一旦クラウドストレージ(SharePoint/Google Drive等)に格納して、そのURLをチャットで共有する手段が考えられます。

ゲストアカウント

ゲストアカウント(シングルチャンネルゲスト・マルチチャンネルゲスト)に関しては、「Boxライセンスを持っていないユーザー」と同様に、ファイルをアップロードすることができません。

また、ゲストのユーザーにBoxのライセンスを割り当てたとしても、Slackのゲストアカウントはアプリを有効化することができない仕様なので、ゲストユーザーは「Box for Slack: Custom Files Store」を利用することはできません。ワークアラウンドは、「Boxライセンスを持っていないユーザー」と同様で、クラウドストレージの共有URLを利用する形式となります。Boxのライセンスがある場合は極力にBoxを活用して、Box内にコンテンツを集約することをお勧めします。

Slackコネクト

「Box for Slack: Custom Files Store」はSlackコネクト利用時、条件によって挙動が異なります。

上記の図の前提条件として「自社」と表現している企業のみが「Box for Slack: Custom Files Store」を有効化している状況とします。

まず、「自社」で作成したチャンネルを利用して、Slackコネクトを利用している場合、自社ユーザーからのファイル共有はBoxに格納されます(上記Aパターン)が、他社ユーザーからのファイル共有は、通常通り添付されます(上記Bパターン)。ただし、パターンAにおいて、他社ユーザーをBoxのファイルにアクセスさせたい場合は、自社ユーザーが公開共有リンク(インターネットから誰でもアクセス可能)を作成する必要があるため、注意が必要です。

一方、「他社」で作成したチャンネルを利用して、Slackコネクトを利用している場合、自社ユーザーからのファイル共有はSlack上から削除されBoxにも格納されません(上記Cパターン)が、他社ユーザーからのファイル共有は、通常通り添付されます(上記Dパターン)。

Cパターンの場合の挙動

他製品との食い合わせ

あまり一般的なユースケースではないかもしれませんが、他製品との食い合わせも少しだけ気になるところです。例えば、SlackのアップロードファイルをNetskopeのAPI IntrospectionでDeleteする機能を実装していた場合、それは利用できなくなります。理由としては、NetskopeのAPI Introspectionでは、Slackのコンテンツストレージの情報をAPI経由で取得し、制御をかけますが、「Box for Slack: Custom Files Store」を有効化した後はSlackのコンテンツストレージに情報が格納されないためです。

当然、これに類する機能などを別の製品で実現していた場合は、利用できなくなる可能性がありますので、利用前にテストすることをお勧めします。

その他

その他、気になったことを過剰書きで書いておきます。

  • これは監査などで「情報の転送行為」にあたると解釈される可能性がありますが、社内のセキュリティ規定や業界のレギュレーションで情報の転送が禁止されている場合は注意が必要です。有効化する前に、該当する禁止事項がないか確認するようにしてください。
  • Boxで実施する公開共有リンクの自動削除設定は、「Box for Slack: Custom Files Store」でアップロードしたファイルに対しても利用可能です。(参考
  • 「Box for Slack: Custom Files Store」でアップロードしたファイルを別のフォルダに移動させた場合でも、アクセス範囲は設定したアクセス範囲が引き継がれます。
  • Slack社に本機能有効化の依頼をした直後に、対象のSlack Workspaceが重くなったような感覚がありました。有効化作業が影響しているかどうかは検証不可能ですが、参考までに書いておきます。

現時点で有効なユースケース

上記の「気になる点」を踏まえて、現時点での有効なケースは以下の様なケースがあるかと思いました。今後アップデートがあり、状況も変わるかもしれませんが、現時点では有効なケースは限定的です。

  • ゲストユーザーがおらず、Slackコネクトも利用していない企業が、Boxに資料を集約したいというケース
  • Slackにファイル添付を自社のセキュリティポリシーで禁止しており、全て手作業でBoxにアップロードしてURL共有しているケース
    • このセキュリティポリシーを徹底する用途では有用だと思います。

今後の可能性

統合コンテンツ管理の加速

「気になった点」ではネガティブな内容ばかり指摘してしまいましたが、一方でBox利用推進の視点から、この機能について大きく期待をしております。この機能の一番のメリットは、「各所に分散していたファイルをBoxに統合できる」という点です。

当社では、Boxにコンテンツを集め、コラボレーションの中心とすることで、ユーザーの利便性の向上と、コンテンツ管理の効率化、同時に社内外とのコミュニケーションの活性化を実現してきました。(Boxの詳細は製品ページ参照)

そのため、当社ではコンテンツを極力Box側に集めるために、メールの添付ファイルはmxHeroを利用してBoxに自動格納したり、ZoomのレコーディングをBoxに保管させる取り組みなどをしています。

一方、Slackの添付ファイルに対しては最適解がなく、コンテンツを分散させないために、手作業でBoxに格納して、リンクの共有などを行なってきました。そこで登場した「Box for Slack: Custom Files Store」は、この作業を効率化し、Boxを中心としたコンテンツの管理を大幅に加速させるポテンシャルがある機能であると感じています。

Boxの高度なセキュリティ利用との統合

Boxには沢山の高度なセキュリティ機能がついています。紹介していたらキリがないので、ここでは具体的に触れませんが、Slackで共有するファイルがBoxに自動で格納されることによって、Box側のセキュリティ機能の恩恵を受けることができるという点も非常に魅力の1つだと思います。Box上に守るべきコンテンツ(資産)を集めて監視のポイントを集約し、Boxを厳重に防御する構成はセキュリティ運用の視点からも効率的です。

現状は、現状はゲストユーザーやSlackコネクトなど外部ユーザーとの連携に弱い印象であるため、Box側のセキュリティ機能の恩恵を受けられる段階ではないと考えています。しかし、今後のアップデートでゲストユーザーやSlackコネクトなど外部ユーザーとの連携部分が強化されれば、Boxの機能を駆使したデータセキュリティ施策を打てるのではと期待しています。

終わりに

現時点では、「Box for Slack: Custom Files Store」を利用できるか否かはユースケース次第ではありますが、「気になる点」に記載したデメリットを考慮すると、ユースケースも限定的になってくると考えています。
しかし、「今後の可能性」に記載した様に、今後のアップデート次第では大きなメリットを享受できる可能性を秘めた機能だと思いますので、Slack側にフィードバックを上げながら、継続してウォッチしていきたいと思います。気になった点があれば、コメントをいただけると嬉しいです!!

また、次は「Microsoft Teams」と「Box」の統合について同様のブログを書く予定ですので、そちらも是非ご覧ください。

ぐっち

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