SMB를 통해 디렉터리 및 파일 수준 권한 구성

이 문서를 시작하기 전에 ID에 공유 수준 권한 할당을 읽어 사용자의 공유 수준 권한이 Azure RBAC(역할 기반 액세스 제어)에 부합하는지 확인해야 합니다.

공유 수준 권한을 할당한 후 루트, 디렉터리 또는 파일 수준에서 NTFS 권한이라고도 하는 Windows ACL(액세스 제어 목록)을 구성할 수 있습니다. 공유 수준 권한은 사용자가 공유에 액세스할 수 있는지 여부를 결정하는 상위 수준 게이트키퍼 역할을 하지만, Windows ACL은 더 세분화된 수준에서 작동하여 디렉터리 또는 파일 수준에서 사용자가 수행할 수 있는 작업을 제어합니다.

사용자가 파일/디렉터리에 액세스하려고 할 때 공유 수준과 파일/디렉터리 수준 권한이 모두 적용되므로 둘 중 하나에 차이가 있는 경우 가장 제한이 많은 권한만 적용됩니다. 예를 들어 사용자가 파일 수준에서는 읽기/쓰기 액세스 권한을 가지고 있고 공유 수준에서는 읽기 액세스 권한만 가지고 있으면 해당 파일을 읽을 수만 있습니다. 반대의 경우에도 마찬가지로, 사용자가 공유 수준에서는 읽기/쓰기 액세스 권한이 있지만 파일 수준에서는 읽기 액세스 권한만 있으면 파일을 읽을 수만 있습니다.

Important

Windows ACL을 구성하려면 도메인 컨트롤러에 대한 네트워크 연결이 방해받지 않는 Windows를 실행하는 클라이언트 컴퓨터가 필요합니다. 하이브리드 ID용 AD DS(Active Directory Domain Services) 또는 Microsoft Entra Kerberos를 사용하여 Azure Files로 인증하는 경우 온-프레미스 AD에 대한 방해받지 않는 네트워크 연결이 필요합니다. Microsoft Entra Domain Services를 사용하는 경우 클라이언트 컴퓨터는 Azure에 있는 Microsoft Entra Domain Services에서 관리하는 도메인의 도메인 컨트롤러에 대한 네트워크 연결을 방해하지 않아야 합니다.

적용 대상

파일 공유 유형 SMB NFS
표준 파일 공유(GPv2), LRS/ZRS Yes No
표준 파일 공유(GPv2), GRS/GZRS Yes No
프리미엄 파일 공유(FileStorage), LRS/ZRS Yes No

Azure RBAC 권한

다음 표에는 이 구성과 관련된 Azure RBAC 권한이 포함되어 있습니다. Azure Storage Explorer를 사용하는 경우 파일 공유를 읽고 액세스하려면 읽기 권한자 및 데이터 액세스 역할도 필요합니다.

공유 수준 권한(기본 제공 역할) NTFS 권한 결과 액세스
스토리지 파일 데이터 SMB 공유 Reader 모든 권한, 수정, 읽기, 쓰기, 실행 읽기 및 실행
읽음 읽음
스토리지 파일 데이터 SMB 공유 Contributor 전체 컨트롤 수정, 읽기, 쓰기, 실행
수정 수정
읽기 및 실행 읽기 및 실행
읽음 읽음
쓰기 쓰기
스토리지 파일 데이터 SMB 공유 관리자 권한 Contributor 전체 컨트롤 수정, 읽기, 쓰기, 편집(사용 권한 변경), 실행
수정 수정
읽기 및 실행 읽기 및 실행
읽음 읽음
쓰기 쓰기

지원되는 Windows ACL

Azure Files는 기본 및 고급 Windows ACL 전체를 지원합니다.

사용자 정의
BUILTIN\Administrators 파일 서버의 관리자를 나타내는 기본 제공 보안 그룹입니다. 이 그룹은 비어 있으며 아무도 추가할 수 없습니다.
BUILTIN\Users 파일 서버의 사용자를 나타내는 기본 제공 보안 그룹입니다. 기본적으로 NT AUTHORITY\Authenticated Users을(를) 포함합니다. 기존 파일 서버의 경우 서버당 멤버 자격 정의를 구성할 수 있습니다. Azure Files에는 호스팅 서버가 없으므로 BUILTIN\Users에는 NT AUTHORITY\Authenticated Users와 동일한 사용자 집합이 포함됩니다.
NT AUTHORITY\SYSTEM 파일 서버의 운영 체제에 대한 서비스 계정입니다. 이러한 서비스 계정은 Azure Files 컨텍스트에서 적용되지 않습니다. 이는 하이브리드 시나리오에 대한 Windows 파일 서버 환경과 일치하도록 루트 디렉터리에 포함되어 있습니다.
NT AUTHORITY\Authenticated Users 유효한 Kerberos 토큰을 가져올 수 있는 모든 AD 사용자입니다.
CREATOR OWNER 디렉터리 또는 파일 개체마다 해당 개체의 소유자가 있습니다. 해당 개체의 CREATOR OWNER에 할당된 ACL이 있는 경우 이 개체의 소유자인 사용자에게 ACL에서 정의한 개체에 대한 권한이 있습니다.

파일 공유의 루트 디렉터리에 포함되는 권한은 다음과 같습니다.

  • BUILTIN\Administrators:(OI)(CI)(F)
  • BUILTIN\Users:(RX)
  • BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
  • NT AUTHORITY\Authenticated Users:(OI)(CI)(M)
  • NT AUTHORITY\SYSTEM:(OI)(CI)(F)
  • NT AUTHORITY\SYSTEM:(F)
  • CREATOR OWNER:(OI)(CI)(IO)(F)

이러한 고급 권한에 대한 자세한 내용은 icacls에 대한 명령줄 참조를 참조하세요.

작동 방식

Windows ACL을 구성하고 편집하는 데 사용할 수 있는 두 가지 방법은 다음과 같습니다.

  • 매번 사용자 이름 및 스토리지 계정 키로 로그인: ACL을 구성할 때마다 도메인 컨트롤러에 대한 네트워크 연결이 방해받지 않는 컴퓨터에서 스토리지 계정 키를 사용하여 파일 공유를 탑재합니다.

  • 일회성 사용자 이름/스토리지 계정 키 설정:

참고 항목

모든 새 파일/디렉터리는 구성된 루트 권한을 상속하므로 이 설정은 새로 생성된 파일 공유에 적용됩니다. 기존 ACL과 함께 마이그레이션된 파일 공유의 경우 또는 새 파일 공유에 기존 권한이 있는 온-프레미스 파일/디렉터리를 마이그레이션하는 경우 마이그레이션된 파일이 구성된 루트 ACL을 상속하지 않기 때문에 이 접근 방식이 작동하지 않을 수 있습니다.

  1. 도메인 컨트롤러에 대한 네트워크 연결이 방해받지 않는 컴퓨터에 사용자 이름과 스토리지 계정 키를 사용하여 로그인하고 일부 사용자(또는 그룹)에게 파일 공유 루트에 대한 권한을 편집할 수 있는 권한을 부여합니다.
  2. 해당 사용자에게 스토리지 파일 데이터 SMB 공유 높은 권한 기여자 Azure RBAC 역할을 할당합니다.
  3. 나중에 ACL을 업데이트하고 싶을 때마다 권한 있는 사용자 중 한 명을 사용하여 도메인 컨트롤러에 대한 네트워크 연결이 방해받지 않는 컴퓨터에서 로그인하고 ACL을 편집할 수 있습니다.

스토리지 계정 키를 사용하여 파일 공유 탑재

Windows ACL을 구성하기 전에 먼저 스토리지 계정 키를 사용하여 파일 공유를 탑재해야 합니다. 이렇게 하려면 도메인에 가입된 디바이스에 로그인하고 Windows 명령 프롬프트를 열고 다음 명령을 실행합니다. <YourStorageAccountName>, <FileShareName>, <YourStorageAccountKey>를 사용자 고유의 값으로 바꾸어야 합니다. Z:가 이미 사용 중인 경우 사용 가능한 드라이브 문자로 대체합니다. 스토리지 계정으로 이동하고 보안 + 네트워킹>액세스 키를 선택하거나 Get-AzStorageAccountKeyPowerShell cmdlet을 사용하여 Azure Portal에서 스토리지 계정 키를 찾을 수 있습니다.

PowerShell이 아니라 net use Windows 명령을 사용하여 이 단계에서 공유를 탑재하는 것이 중요합니다. PowerShell을 사용하여 공유를 탑재하는 경우 공유가 Windows 파일 탐색기 또는 cmd.exe 표시되지 않으며 Windows ACL을 구성하는 데 문제가 있습니다.

참고 항목

역할에 이미 적용된 모든 권한 ACL을 볼 수 있습니다. 이는 일반적으로 이미 사용 권한을 할당하는 기능을 제공합니다. 그러나 두 수준(공유 수준 및 파일 수준)에 액세스 검사가 있기 때문에 이 기능은 제한됩니다. SMB 상승된 기여자 역할이 있고 새 파일 또는 폴더를 만드는 사용자만 스토리지 계정 키를 사용하지 않고 해당 특정 새 파일 또는 디렉터리에 대한 사용 권한을 할당할 수 있습니다. 다른 모든 파일/디렉터리 권한 할당을 위해서는 먼저 스토리지 계정 키를 사용하여 공유를 탑재해야 합니다.

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:localhost\<YourStorageAccountName> <YourStorageAccountKey>

Windows ACL 구성

icacls 또는 Windows 파일 탐색기를 사용하여 Windows ACL을 구성할 수 있습니다. Set-ACL PowerShell 명령을 사용할 수도 있습니다.

Important

환경에 여러 AD DS 포리스트가 있는 경우 Windows 탐색기를 사용하여 ACL을 구성하지 마세요. 대신 icacls를 사용합니다.

AD DS ID에 따라 Windows ACL이 구성된 온-프레미스 파일 서버에 디렉터리 또는 파일이 있는 경우 Robocopy 또는 Azure AzCopy v 10.4 이상과 같은 기존의 파일 복사 도구를 사용하여 ACL을 유지하는 Azure Files로 복사할 수 있습니다. 디렉터리와 파일이 Azure 파일 동기화를 통해 Azure Files로 계층화되는 경우 ACL은 해당 원시 형식으로 전달되고 유지됩니다.

설정된 권한을 적용하려면 ID를 동기화해야 합니다. 동기화되지 않은 ID에 대해 ACL을 설정할 수 있지만 동기화되지 않은 ID는 인증/권한 부여에 사용되는 Kerberos 티켓에 존재하지 않기 때문에 이러한 ACL은 적용되지 않습니다.

icacls로 Windows ACL 구성

루트 디렉터리를 포함하여 파일 공유 아래의 모든 디렉터리 및 파일에 대한 전체 권한을 부여하려면 AD 도메인 컨트롤러에 가시적으로 연결된 컴퓨터에서 다음 Windows 명령을 실행합니다. 예제의 자리 표시자 값은 실제 값으로 바꾸세요.

icacls <mapped-drive-letter>: /grant <user-upn>:(f)

icacls를 사용하여 Windows ACL을 설정하는 방법과 지원되는 여러 권한 유형에 대한 자세한 내용은 icacls용 명령줄 참조를 참조하세요.

Windows 파일 탐색기를 사용하여 Windows ACL 구성

도메인에 가입된 Windows 클라이언트에 로그온한 경우 Windows 파일 탐색기를 사용하여 루트 디렉터리를 포함하여 파일 공유 아래의 모든 디렉터리와 파일에 대한 모든 권한을 부여할 수 있습니다. 클라이언트가 도메인에 가입되지 않은 경우 Windows ACL을 구성하기 위해 icacls를 사용합니다.

  1. Windows 파일 탐색기를 열고 파일/디렉터리를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  2. 보안 탭을 선택합니다.
  3. 편집..을 선택하여 권한을 변경합니다.
  4. 기존 사용자의 권한을 변경하거나 추가...를 선택하여 새 사용자에게 권한을 부여할 수 있습니다.
  5. 새 사용자 추가 프롬프트 창에서 선택할 개체 이름 입력 상자에 권한을 부여하려는 대상 사용자 이름을 입력하고 이름 확인을 선택하여 대상 사용자의 전체 UPN 이름을 찾습니다.
  6. 확인을 선택합니다.
  7. 보안 탭에서 새 사용자에게 부여할 권한을 모두 선택합니다.
  8. 적용을 선택합니다.

다음 단계

이제 AD DS를 사용하여 ID 기반 인증을 사용하도록 설정하고 구성했으므로 파일 공유를 탑재할 수 있습니다.