Amazon FSx for Windows File Server 설정 – ABE(access-based enumeration)로 폴더 관리해 보기

Amazon FSx for Windows File Server에서 ABE(access-based enumeration)를 설정해서 폴더를 관리해 보는 방법에 대해서 정리해 봤습니다.
2022.09.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon FSx for Windows File Server에서 ABE(access-based enumeration)를 설정해서 폴더를 관리해 보는 방법에 대해서 정리해 봤습니다.

그 외, FSx for Windows File Server 설정에 관해서는 아래 블로그를 참고해 주세요.

ABE(access-based enumeration) 란?

ABE(access-based enumeration) 즉, 액세스 기반 열거는 사용자에게 액세스 권한이 없는 파일과 폴더를 숨길 수 있습니다.

공유되고 있는 드라이브에서 관리자만 볼 수 있는 폴더를 지정해, 보다 안전하게 관리할 수 있습니다.

ABE(access-based enumeration) 설정해 보기

설정하기에 앞서, AWS Directory Service, Amazon FSx for Windows File Server가 생성되어 있는 상태여야 합니다.

생성하는 방법에 대해서는 아래 블로그를 참고해 주세요.

PS> $cred = Get-Credential 'Admin@aws.classmethod-jw.kr'
PS> $params = @{
    ComputerName = 'amznfsxxxxxxxxx.aws.classmethod-jw.kr'
    Credential = $cred
    ConfigurationName = 'FSxRemoteAdmin'
    SessionOption = (New-PSSessionOption -UICulture 'en-US')
    ScriptBlock = {
        Get-FSxSmbShare
    }
}
Invoke-Command @params | Select-Object Name, Path, FolderEnumerationMode

Name  Path     FolderEnumerationMode
----  ----     ---------------------
D$    D:\                          1
IPC$                               1
share D:\share                     1

다음 명령어로 ABE가 설정되어 있는지 확인합니다.

0일 경우 설정되어 있는 상태이며, 1일 경우 설정되어 있지 않은 상태를 뜻합니다.

PS> $cred = Get-Credential 'Admin@aws.classmethod-jw.kr'
PS> $params = @{
    ComputerName = 'amznfsxxxxxxxxx.aws.classmethod-jw.kr'
    Credential = $cred
    ConfigurationName = 'FSxRemoteAdmin'
    SessionOption = (New-PSSessionOption -UICulture 'en-US')
    ScriptBlock = {
        Set-FSxSmbShare -Name 'share' -FolderEnumerationMode AccessBased
    }
}
Invoke-Command @params

Confirm
Are you sure you want to perform this action?
Performing operation 'Modify' on Target 'AMZNFSXUJIMZCLF,share'.
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): Y

이어서 다음 명령어로 ABE를 설정합니다.

PS> $cred = Get-Credential 'Admin@aws.classmethod-jw.kr'
PS> $params = @{
    ComputerName = 'amznfsxxxxxxxxx.aws.classmethod-jw.kr'
    Credential = $cred
    ConfigurationName = 'FSxRemoteAdmin'
    SessionOption = (New-PSSessionOption -UICulture 'en-US')
    ScriptBlock = {
        Get-FSxSmbShare
    }
}
Invoke-Command @params | Select-Object Name, Path, FolderEnumerationMode

Name  Path     FolderEnumerationMode
----  ----     ---------------------
D$    D:\                          1
IPC$                               1
share D:\share                     0

마지막으로 설정이 제대로 되었는지 확인해 보면 share D:\share가 0으로 나타나는 것을 확인할 수 있습니다. 이제 공유 폴더에 권한을 부여하면, 특정 사용자에게만 폴더를 보이게 할 수 있고, 볼 수 없게 설정할 수 있습니다. 이러한 방식으로 다같이 사용하는 공유 폴더를 보다 안전하게 관리할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.

참고