SageMaker Studio에서 다운로드 버튼을 비활성화하는 방법
많은 기업이 데이터 사이언스 팀의 작업을 지원하기 위해 클라우드 환경을 선택합니다. AWS SageMaker Studio를 선택한 경우 이 기사가 흥미로울 수 있습니다. 데이터 레이크와 데이터 과학자 환경을 모두 갖추면 쉽게 통합할 수 있습니다. 주어진 데이터 과학자가 볼 수 있는 데이터를 선택할 수 있습니다. 데이터 과학자가 SageMaker Studio 환경 내에서만 이 데이터를 사용할 수 있도록 하고 싶을 수 있습니다. 그러나 SageMaker Studio에는 데이터 과학자가 작업한 모든 데이터를 다운로드할 수 있는 다운로드 버튼이 있습니다. 데이터를 컴퓨터에 다운로드한 후에는 어디서나 누구와도 자유롭게 공유할 수 있습니다.
다행히도 이 다운로드 버튼을 비활성화할 수 있습니다. 최근에는 SageMaker 노트북의 다운로드 버튼만 비활성화할 수 있었습니다. This article from Ujjwal Bhardwaj는 SageMaker 노트북에서 비활성화하는 방법을 보여줍니다.
그러나 AWS는 SageMaker Studio를 업데이트했으며 이제 다운로드 버튼도 비활성화할 수 있습니다. 이 업데이트를 통해 JupyterLab 버전 3을 사용하도록 Studio를 구성할 수 있습니다. 이 버전에서 JupyterLab은 다운로드 버튼을 비롯한 일부 기능을 리팩터링했습니다. 이제 이러한 기능은 JupyterLab 코어에 하드코딩된 대신 기본적으로 JupyterLab에 포함된 플러그인입니다. 즉, 이제 이러한 플러그인을 비활성화할 수 있으며 UI에 표시되지 않습니다.
JupyterLab UI에 다운로드 버튼이 포함된 플러그인은 다음과 같습니다.
이러한 플러그인을 비활성화하는 몇 가지 방법이 있습니다. 가장 간단한 방법은 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 수명 주기 구성을 생성해야 합니다. 수명 주기 구성은 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 스택 또는 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 도메인에서 사용자 프로필을 생성할 때 수명 주기 구성을 바인딩할 수 있습니다.
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에 있는 파일을 다운로드하지 못하도록 효과적으로 차단합니다. 또한 다운로드 플러그인을 비활성화하면 인터페이스에서 모든 다운로드 버튼만 제거됩니다. 이것은 파일을 다운로드할 수 있는 다른 수단이 있는 경우 해당 수단도 차단된다는 의미는 아닙니다.
Reference
이 문제에 관하여(SageMaker Studio에서 다운로드 버튼을 비활성화하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rogiia/how-to-disable-the-download-button-in-sagemaker-studio-i37텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)