AppStream 및 WorkSpaces 환경에서 네트워크 공유폴더(FSx for Windows File Server)를 개인디스크로 지정하여 자동으로 연결하는 방안

3분 분량
콘텐츠 수준: 중급
0

해당 기사에서는 도메인에 가입되어 있는 AppSteram 및 WorkSpaces 사용자 개별에게 개인권한만 부여된 네트워크 공유 디스크를 자동으로 생성하여 만드는 방안에 대해서 소개 합니다

사전 요구 사항

  • Amazon FSx for Windows File Server 가 필요합니다. 다만 EC2 인스턴스를 생성하고 도메인에 조인한 뒤 윈도우 파일공유 기능를 통해서도 구현이 가능합니다. (EC2인스턴스를 통한 윈도우 파일공유 기능을 통해서는 Advanced Sharing 기능을 통해 개별 유저 별로 제한된 디스크 공간을 제공할수 있습니다.)
  • AD 그룹정책으로 구현 시 최초 1회 접속 후 재접속을 해야 개인 디스크 드라이버가 연결 될수 있습니다.

도메인 사용자에게 공유할 Root 디렉토리 권한 설정 하기

  1. Amazon FSx for Windows File Server에서 Share 하위에 폴더를 생성합니다. 기본적으로 Authenticated Users 와 Admin 권한이 들어가 있습니다.

여기에 이미지 설명 입력

  1. Advanced 를 누른 뒤 Authenticated Users를 삭제 합니다. 그리고 Disable inheritance 를 눌러 상속을 차단합니다.

여기에 이미지 설명 입력

  1. 그리고 Convert inherited permissions into explicit permissions on this object를 선택합니다.

여기에 이미지 설명 입력

  1. domain users를 추가합니다. 그리고 Show advanced permission을 선택합니다.

여기에 이미지 설명 입력

  1. Traverse folder/execute file, Create folders, Write attributes, Write extended attributes 를 선택합니다.

여기에 이미지 설명 입력

  1. This Folder Only를 선택합니다.

여기에 이미지 설명 입력

**도메인 사용자에게 사용할 . vbs 스크립트 작성 하기 **

(\FSx 파일서버 DNS name\share\PersonalDisk 라는 네트워크 폴더에 위에서 소개한 권한의 설정이 필요합니다.)

아래에서 \FSx 파일서버 DNS name\share\PersonalDisk <- 이부분만 실제 사용하는 네트워크 경로 위치로 변경합니다.

Personal Disk.vbs:

On error resume next

Set objNetwork = WScript.CreateObject("WScript.Network") strUserName = objNetwork.UserName strDirectory = "\FSx 파일서버 DNS name\share\PersonalDisk" & "" & strUserName

Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FolderExists(strDirectory) Then Set objFolder = objFSO.GetFolder(strDirectory) Else Set objFolder = objFSO.CreateFolder(strDirectory) End If

Set objShell = CreateObject("Wscript.Shell") If objFSO.FolderExists(strDirectory) Then intRunError = objShell.Run("%COMSPEC% /c Echo Y| cacls " _ & strDirectory & " /E /C /G " & strUserName & ":F", 2, True) End If

strDriveLetter = "P:" objNetwork.MapNetworkDrive strDriveLetter,strDirectory

strNewName = "Personal Data" Set objShell = CreateObject("Shell.Application") objShell.NameSpace(strDriveLetter).Self.Name = strNewName

Set objShell = nothing Set objFSO = nothing Set objFolder = nothing Set objNetwork = nothing

objNetwork.MapNetworkDrive strDriveLetter, strDirectory _ & "" & objNetwork.UserName

Wscript.quit

**도메인 사용자에게 사용할 . vbs 스크립트 테스트 하기 **

  1. 위의 스크립트를 워크스페이스 사용자 바탕화면에 복사합니다.

  2. 스크립트를 실행합니다.

  3. AD 또는 FSx 를 관리하는 인스턴스에서 Domian\Admin으로 로그온한 뒤 아래 스토리지폴더를 확인합니다.

\FSx 파일서버 DNS name\share\PersonalDisk

  1. PersonalDisk 하위에 워크스페이스 사용자 ID로 폴더가 생성되고 아래와 같이 권한이 셋팅되었는지 확인합니다.

Admin은 도메인 관리자 이고 dongjae는 사용자 계정명입니다. 이렇게 2개의 계정의 권한만 Security 에 있어야 합니다.

여기에 이미지 설명 입력

  1. 아래처럼 다른 사용자가 해당 경로로 접근을 시도하면 권한 오류가 발생합니다. 개인 디스크는 사용자와 관리자(Admin) 만 접근가능합니다.

여기에 이미지 설명 입력

**도메인 사용자에게 사용할 . vbs 스크립트 그룹정책으로 적용하기 **

  1. 적용할 OU를 선택합니다. Users 개체가 있어야 합니다.

  2. User Configuration -> Policies -> Windows Settings -> Scripts -> Logon 을 선택합니다.

여기에 이미지 설명 입력

  1. Show Files를 클릭한 후 위의 생성된 스크립트를 폴더에 추가합니다. 그리고 Add를 눌러 해당 스크립트를 추가합니다.

여기에 이미지 설명 입력

  1. 그리고 Active Directory Users and Computers 를 클릭 한 후 적용할 User 계정의 속성에서 Profile를 선택합니다. 그후 드라이브 명과 연결위치를 적용합니다.

\FSx 파일서버 DNS name\share\PersonalDisk%username% <-이렇게 지정하면 %username%가 계정명으로 변경됩니다.

여기에 이미지 설명 입력

5.위의 설정은 다중으로도 설정이 가능합니다. 적용할 사용자를 Drag 합니다. 그후 아래와 같이 속성을 누른 후 Profile를 설정합니다.

여기에 이미지 설명 입력

위의 설정을 마치면 아래와 같이 WorkSpaces에서 생성한 파일을 AppStream에서 사용하고 AppStream에서 사용한 파일을 WorkSapces 에서 바로 사용이 가능합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

[1] Amazon FSx를 사용하여 도메인 사용자를 위한 홈 폴더 생성 https://docs.aws.amazon.com/ko_kr/fsx/latest/WindowsGuide/walkthrough04-fsx-with-appstream2.html#fsx-personal-persistent

profile pictureAWS
지원 엔지니어
게시됨 2달 전228회 조회
댓글 없음

관련 콘텐츠