ライフサイクル設定でSageMaker StudioのJupyterLabのUIからファイルダウンロードの操作を表示させない

ライフサイクル設定でSageMaker StudioのJupyterLabのUIからファイルダウンロードの操作を表示させない

ライフサイクル設定でJupyterLabのダウンロードに関するモジュールを無効化することでUIにメニューを表示させないようにできました。
Clock Icon2025.04.18

データ事業本部の鈴木です。

SageMaker StudioのJupyterLabからのファイルダウンロードをさせないようにできないか調べていたところ、re:Postで以下のやりとりを見つけました。

https://repost.aws/knowledge-center/sagemaker-juypter-turn-off-download

ライフサイクル設定から該当する拡張機能を無効化することでUIからダウンロードはできなくなるとのことですが、実際どうなるのか試して確認してみました。

課題感

SageMaker Studioはユーザープロファイルに紐づいた実行ロールでAWSの各種サービスにアクセスします。
JupyterLabインスタンス上にはデータを持ってきて分析したいものの、ユーザーのローカルPC上にはダウンロードさせたくないということはあると思います。
re:Postのナレッジを参考に実現できるか調べてみました。

やってみた

1. ライフサイクル設定の作成

re:Postのナレッジにしたがい、以下のように2つの拡張機能でダウンロードを無効化するコマンドを設定したライフサイクル設定を作成しました。

jupyter labextension disable @jupyterlab/docmanager-extension:download
jupyter labextension disable @jupyterlab/filebrowser-extension:download

ライフサイクル設定

ライフサイクル設定は、検証用のドメインにアタッチしておきました。

検証用のドメインにライフサイクル設定をアタッチ

デフォルトには設定しませんでした。

2. 作成したライフサイクル設定を使わず起動した場合

まずはLifecycle Configurationの指定なしでスペースを起動しました。なお、今回使ったJupyterLabはVersion 4.3.5でした。

Lifecycle Configurationの指定なしでスペースを起動

JupyterLabからファイルを選んで右クリックすると、Downloadが選択でき、実際にファイルのダウンロードも可能でした。

ファイルのダウンロードも可能

3. 作成したライフサイクル設定を使って起動した場合

次に、作成したライフサイクル設定を指定してスペースを起動しました。

ライフサイクル設定を指定してスペースを起動

JupyterLabからファイルをブラウズすると、Downloadがなくなっていることを確認できました。

ファイルのダウンロードが選べなくなっている

JupyterLab拡張について

以下からJupyterLabのモジュールを確認できました。docmanager-extensionとfilebrowser-extensionも記載されています。

https://jupyterlab.readthedocs.io/en/latest/api/modules.html

JupyterLab拡張機能は以下のガイドに記載があります。気になる方はご確認ください。

https://jupyterlab.readthedocs.io/en/4.3.x/user/extensions.html

最後に

ライフサイクル設定でSageMaker StudioのJupyterLabのUIからファイルダウンロードの操作を表示させないようにする方法を試してみました。

SageMaker StudioはCode Editorなどもあるため、厳密には有効化してあるほかのアプリからダウンロードする口も全て使えなくする必要がありますが、軽く調べた限りだとすぐに情報はみつかりませんでした。どうしても気になる場合は不要なアプリにはアクセスできないようにするのがよさそうです。

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/studio-updated-migrate-ui.html#studio-updated-migrate-limit-apps

参考になりましたら幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.