Как отключить кнопку загрузки в SageMaker Studio

Многие предприятия выбирают облачную среду для обеспечения работы своей команды специалистов по анализу данных. Если вы выбрали AWS SageMaker Studio, эта статья может вас заинтересовать. Наличие как озера данных, так и среды data scientist позволяет легко интегрировать их. Вы можете выбирать, какие данные сможет видеть каждый конкретный специалист по анализу данных. Возможно, вы захотите, чтобы специалист по анализу данных мог использовать эти данные только в среде SageMaker Studio. Однако в SageMaker Studio есть кнопка загрузки, которая позволяет специалистам по изучению данных загружать любые данные, над которыми они работали. После загрузки данных на свой компьютер они могут свободно делиться ими где угодно и с кем угодно.

К счастью, эту кнопку загрузки можно отключить. Недавно отключить кнопку загрузки можно было только в блокнотах SageMaker. В этой статье от Ujjwal Bhardwaj показано, как отключить ее в SageMaker Notebooks.

Но AWS обновила SageMaker Studio, и теперь в ней также можно отключить кнопку загрузки. Это обновление позволяет нам настроить Studio на использование JupyterLab версии 3. В этой версии JupyterLab переработал некоторые функции, включая кнопку загрузки. Теперь эти функции являются плагинами, включенными в JupyterLab по умолчанию, а не жестко закодированными в ядре JupyterLab. Это означает, что теперь эти плагины можно отключить, и они не будут отображаться в пользовательском интерфейсе.

Плагины, которые включают кнопку загрузки в пользовательском интерфейсе JupyterLab, следующие:

  • @jupyterlab/docmanager-extension:download
  • @jupyterlab/filebrowser-extension:download

Есть несколько способов отключить эти плагины. Самый простой — выполнить эти команды в терминале SageMaker Studio:

conda activate studio
jupyter labextension disable jupyterlab/docmanager-extension:download
jupyter labextension disable @jupyterlab/filebrowser-extension:download
restart-jupyter-server
Войти в полноэкранный режим Выйти из полноэкранного режима

Вы также можете использовать файлы конфигурации JupyterLab. Отредактируйте файл /opt/conda/envs/studio/etc/jupyter/labconfig/page_config.json со следующим содержимым:

{
  "disabledExtensions": {
    "@jupyterlab/docmanager-extension:download": true,
    "@jupyterlab/filebrowser-extension:download": true
  }
}
Войти в полноэкранный режим Выйти из полноэкранного режима

и выполните команду:

restart-jupyter-server
Войти в полноэкранный режим Выйти из полноэкранного режима

Возможно, вам также придется обновить страницу, чтобы увидеть, что изменения произошли.

Проблема этих подходов заключается в том, что изменения будут действовать только в течение сеанса. Чтобы сделать изменения постоянными, необходимо создать конфигурацию жизненного цикла Studio Lifecycle Configuration. Конфигурация жизненного цикла будет выполнять сценарий при запуске JupyterServer. В этом скрипте вы отредактируете файл из предыдущего примера.

Содержание сценария будет следующим:

echo "{" > /opt/conda/envs/studio/etc/jupyter/labconfig/page_config.json
echo " \"disabledExtensions\": {" >> /opt/conda/envs/studio/etc/jupyter/labconfig/page_config.json
echo " \"@jupyterlab/docmanager-extension:download\": true," >> /opt/conda/envs/studio/etc/jupyter/labconfig/page_config.json
echo " \"@jupyterlab/filebrowser-extension:download\": true" >> /opt/conda/envs/studio/etc/jupyter/labconfig/page_config.json
echo " }" >> /opt/conda/envs/studio/etc/jupyter/labconfig/page_config.json
echo "}" >> /opt/conda/envs/studio/etc/jupyter/labconfig/page_config.json
restart-jupyter-server
Войти в полноэкранный режим Выйти из полноэкранного режима

Существует множество способов создания конфигурации жизненного цикла. Вы можете сделать это через консоль, используя Cloudformation Stack, или через AWS CLI. Используя CLI, вы можете сделать следующее:

aws sagemaker create-studio-lifecycle-config 
  --region <your-region> 
  --studio-lifecycle-config-name my-studio-lcc 
  --studio-lifecycle-config-content $LCC_CONTENT 
  --studio-lifecycle-config-app-type JupyterServer 
Войти в полноэкранный режим Выйти из полноэкранного режима

$LCC_CONTENT — это строка с содержимым скрипта, описанного ранее. Затем, при создании профиля пользователя в домене SageMaker Domain, вы можете привязать к нему конфигурацию Lifecycle Configuration:

aws sagemaker create-user-profile --domain-id <DOMAIN-ID> 
  --user-profile-name <USER-PROFILE-NAME> 
  --region <REGION> 
  --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": ["<LIFECYCLE-CONFIGURATION-ARN-LIST>"] } }'
Вход в полноэкранный режим Выйти из полноэкранного режима

С этого момента каждый раз, когда специалист по обработке данных открывает свой экземпляр SageMaker Studio, он никогда не должен отображать кнопку загрузки. Это эффективно блокирует загрузку любых файлов, расположенных в их Studio, до тех пор, пока они не смогут самостоятельно отменить эти изменения со своего терминала. Также обратите внимание, что отключение плагина загрузки только удаляет все кнопки загрузки из интерфейса. Это не означает, что если существуют другие способы загрузки файлов, они также будут заблокированы.

Оцените статью
devanswers.ru
Добавить комментарий