다음을 통해 공유


SQL Server 2019 빅 데이터 클러스터에 대한 HDFS 권한 관리

적용 대상: SQL Server 2019(15.x)

중요

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

파일 시스템으로서의 HDFS는 파일 권한에 POSIX를 사용하는 Linux 기반 파일 시스템과 유사합니다. HDFS는 기존의 POSIX 권한 모델 외에도 POSIX ACL(액세스 제어 목록)을 지원합니다. 자세한 내용은 ACL에 관한 Apache Hadoop 문서를 참조하세요.

이어지는 섹션에서는 Azure Data CLI(azdata)를 사용하여 HDFS 파일 및 디렉터리 권한을 관리하는 방법의 예제를 제공합니다.

필수 조건

HDFS 셸

Azure Data CLI(azdata)의 hdfs 셸 기능을 사용하면 파일 및 디렉터리에 대한 HDFS 권한을 관리하는 명령을 셸에서 직접 실행할 수 있습니다. 기본 메커니즘은 WebHdfs 호출을 사용하여 명령을 실행합니다.

셸에서 다음 명령이 열립니다.

azdata bdc hdfs shell

hdfs 셸 도움말을 열고 명령을 실행하는 방법을 이해하려면 셸이 활성화된 후에 다음 명령을 실행합니다.

[hdfs] ?

다음 예제에서는 디렉터리를 만들고, 디렉터리를 나열하고, 디렉터리에 대한 권한을 수정하고, 명명된 사용자에게 디렉터리 sales에 대한 bob 읽기, 쓰기, 실행 액세스 권한을 부여하는 방법을 보여줍니다.

[hdfs] mkdir sales
[hdfs] ls
rwxr-xr-x  hdfs bdcadmins        0 Oct 09 18:02 system/
rwxrwxr-x admin bdcadmins        0 Oct 10 16:47 sales/
--xrwxrwxrwx  hdfs bdcadmins        0 Oct 09 18:03 tmp/
rwxrwxrwx  hdfs bdcadmins        0 Oct 09 17:59 user/

[hdfs] acl modify  '/sales/' 'user:bob:rwx'
acl modify: Change completed.
[hdfs] acl status  '/sales/'
{
  `AclStatus`: {
    `entries`: [
      `user:bob:rwx`,
      `group::r-x`
    ],
    `group`: `bdcadmins`,
    `owner`: `admin`,
    `permission`: `775`,
    `stickyBit`: false
  }
}

Azure Data CLI(azdata)를 사용하여 HDFS에서 디렉터리 만들기

경로 data/sales이라는 디렉터리를 만듭니다.

azdata bdc hdfs mkdir --path '/sales/data'

디렉터리 또는 파일의 소유자 변경

HDFS에서 디렉터리 data의 소유 사용자를 변경하고 소유 사용자로 alice를, 소유 그룹으로 salesgroup을 만듭니다. 소유자 변경은 소유자만 수행할 수 있습니다.

azdata bdc hdfs chown --owner alice --group 'salesgroup' --path '/sales/data'

chmod를 사용하여 파일 또는 디렉터리의 권한 변경

chmod를 사용하여 파일 및 디렉터리(소유자, 소유 그룹 등)에 대한 사용 권한을 변경합니다. 자세한 내용은 Linux 파일 시스템에서의 권한 변경을 참조하세요. hdfs에서 패턴은 동일합니다. 예시:

azdata bdc hdfs chmod --permission 750 --path /sales/data
azdata bdc hdfs chmod --permission 775 --path /sales/data/file.txt

디렉터리에 고정 비트 설정

의도치 않은 파일 삭제나 재배치가 이루어지지 않도록 디렉터리에 고정 비트를 설정합니다. 고정 비트는 파일을 삭제하거나 파일을 슈퍼 사용자, 디렉터리 소유자 또는 파일 소유자로 이동할 수 있는 권한을 제한합니다. 이 설정은 파일에 영향을 주지 않습니다. 아래 예제에서는 users로 사용 권한을 접두사로 지정하여 디렉터리 1에 고정 비트를 설정합니다.

azdata bdc hdfs chmod --path /sales/users --permission 1750

파일 및 디렉터리에 ACL 설정

HDFS의 파일 및 디렉터리에 ACL을 설정하려면 Azure Data CLI(azdata) 명령을 사용합니다.

디렉터리에 ACL을 설정하고 명명된 사용자에게 디렉터리 tom에 대한 data 읽기, 쓰기 및 실행 액세스를 제공합니다.

참고 항목

set 명령을 사용할 때는 소유 사용자, 소유 그룹 등에 ACL 사양을 포함한 전체 ACL 사양을 부여해야 합니다.

azdata bdc hdfs acl set --path '/sales' --aclspec  'user::rw-,user:tom:rwx,group::rw-,other::rw-'

디렉터리의 기본 ACL

기본 ACL을 사용하면 하위 디렉터리가 상위 디렉터리의 권한을 상속받을 수 있습니다. 기본 ACL은 디렉터리에만 있을 수 있습니다. 새 파일 또는 하위 디렉터리가 생성되면 상위 디렉터리의 기본 ACL이 자기 자신의 액세스 ACL로 자동 상속됩니다. 이러한 방식으로 새 하위 디렉터리가 만들어질 때 기본 ACL은 임의의 심층 디렉터리 수준을 통해 상속됩니다.

다음은 azdata를 사용하여 기본 ACL을 설정하는 예입니다.

azdata bdc hdfs acl set --path '/sale' --aclspec  'user::rw-,user:tom:rwx,group::rw-,other::rw-,default:group::rw-,default:user::rw-,default:other::rw-'