다음을 통해 공유


Azure NetApp Files의 NAS 공유 권한 이해

Azure NetApp Files는 NAS 데이터를 보호하는 여러 가지 방법을 제공합니다. 해당 보안의 한 가지 측면은 사용 권한입니다. NAS에서 사용 권한은 다음 두 가지 범주로 나눌 수 있습니다.

  • 공유 액세스 권한은 NAS 볼륨을 탑재할 수 있는 사용자를 제한합니다. NFS는 IP 주소 또는 호스트 이름을 통해 공유 액세스 권한을 제어합니다. SMB는 사용자 및 그룹 ACL(액세스 제어 목록)을 통해 이를 제어합니다.
  • 파일 액세스 권한은 NAS 볼륨이 탑재된 후에 사용자 및 그룹이 수행할 수 있는 작업을 제한합니다. 파일 액세스 권한은 개별 파일 및 폴더에 적용됩니다.

Azure NetApp Files 사용 권한은 NAS 표준을 사용하여 친숙한 방법을 사용하는 관리자 및 최종 사용자를 위한 보안 NAS 볼륨 프로세스를 간소화합니다.

참고 항목

공유 및 파일에 대해 충돌하는 사용 권한이 나열되면 가장 제한적인 권한이 적용됩니다. 예를 들어 사용자가 공유 수준의 읽기 전용 액세스 권한과 파일 수준의 모든 권한을 가진 경우 사용자는 모든 수준에서 읽기 액세스 권한을 받습니다.

액세스 권한 공유

NAS 환경에서 보호되는 초기 진입점은 공유 자체에 대한 액세스입니다. 대부분의 경우 공유에 액세스해야 하는 사용자 및 그룹으로만 액세스를 제한해야 합니다. 공유 액세스 권한을 사용하면 처음에 공유를 탑재할 수 있는 사용자까지도 잠글 수 있습니다.

가장 제한적인 권한은 다른 사용 권한을 재정의하고 공유는 볼륨의 기본 진입점(액세스 제어가 가장 적음)이므로 공유 권한은 기본 파일 및 폴더보다 더 많은 액세스를 허용하는 깔때기 논리를 준수해야 합니다. 깔때기 논리는 보다 세분화되고 제한적으로 제어합니다.

Diagram of inverted pyramid of file access hierarchy.

NFS 내보내기 정책

Azure NetApp Files의 볼륨은 클라이언트 또는 클라이언트 집합에 액세스할 수 있는 경로를 내보내 NFS 클라이언트에 공유됩니다. NFSv3 및 NFSv4.x는 모두 동일한 방법을 사용하여 Azure NetApp Files: 내보내기 정책에서 NFS 공유에 대한 액세스를 제한합니다.

내보내기 정책은 원하는 액세스 순서로 나열되는 액세스 규칙 집합에 대한 컨테이너입니다. 이러한 규칙은 클라이언트 IP 주소 또는 서브넷을 사용하여 NFS 공유에 대한 액세스를 제어합니다. 클라이언트가 액세스를 허용하거나 명시적으로 거부하는 정책 내보내기 규칙에 나열되지 않는 경우 해당 클라이언트는 NFS 내보내기를 탑재할 수 없습니다. 규칙은 순차적으로 읽기 때문에 더 제한적인 정책 규칙이 클라이언트에 적용되는 경우(예: 서브넷을 통해) 해당 규칙을 먼저 읽고 적용합니다. 더 많은 액세스를 허용하는 이후의 정책 규칙은 무시됩니다. 이 다이어그램은 서브넷 0.0.0.0/0(모든 서브넷의 모든 클라이언트)이 읽기 전용으로 설정되어 있고 정책에 첫 번째로 나열되어 있기 때문에 IP가 10.10.10.10인 클라이언트가 볼륨에 읽기 전용으로 액세스하는 것을 보여 줍니다.

Diagram modeling export policy rule hierarchy.

Azure NetApp Files에서 사용할 수 있는 정책 내보내기 규칙 옵션

Azure NetApp Files 볼륨을 만들 때 NFS 볼륨에 대한 액세스를 제어하기 위해 구성할 수 있는 몇 가지 옵션이 있습니다.

  • 인덱스: 정책 내보내기 규칙이 평가되는 순서를 지정합니다. 클라이언트가 정책의 여러 규칙에 속하는 경우 적용 가능한 첫 번째 규칙이 클라이언트에 적용되며 이후의 규칙은 무시됩니다.
  • 허용되는 클라이언트: 규칙이 적용되는 클라이언트를 지정합니다. 이 값은 클라이언트 IP 주소, 쉼표로 구분된 IP 주소 목록 또는 여러 클라이언트를 포함하는 서브넷일 수 있습니다. 호스트 이름 및 netgroup 값은 Azure NetApp Files에서 지원되지 않습니다.
  • 액세스: 루트가 아닌 사용자에게 허용되는 액세스 수준을 지정합니다. Kerberos를 사용하지 않는 NFS 볼륨의 경우 옵션은 읽기 전용, 읽기 및 쓰기 또는 액세스 권한 없음입니다. Kerberos를 사용하도록 설정된 볼륨의 경우 옵션은 Kerberos 5, Kerberos 5i 또는 Kerberos 5p입니다.
  • 루트 액세스: 지정된 클라이언트에 대한 NFS 내보내기에서 루트 사용자를 처리하는 방법을 지정합니다. "켜기"로 설정하면 루트가 루트가 됩니다. "끄기"로 설정하면 루트가 익명 사용자 ID 65534로 Squash됩니다.
  • chown 모드: 내보내기(chown)에서 변경 소유권 명령을 실행할 수 있는 사용자를 제어합니다. "제한됨"으로 설정하면 루트 사용자만 chown을 실행할 수 있습니다. "무제한"으로 설정하면 적절한 파일/폴더 권한이 있는 모든 사용자가 chown 명령을 실행할 수 있습니다.

Azure NetApp Files의 기본 정책 규칙

새 볼륨을 만들 때 기본 정책 규칙이 만들어집니다. 기본 정책은 내보내기 액세스를 시도하는 클라이언트에 대한 액세스를 제한하는 정책 규칙 없이 볼륨이 만들어지는 시나리오를 방지합니다. 규칙이 없으면 액세스 권한이 없습니다.

기본 규칙에는 다음 값이 포함됩니다.

  • 인덱스 = 1
  • 허용되는 클라이언트 = 0.0.0.0/0(모든 클라이언트에 액세스가 허용됨)
  • 액세스 = 읽기 및 쓰기
  • 루트 액세스 = 켜기
  • Chown 모드 = 제한됨

이러한 값은 볼륨을 만들 때 또는 볼륨을 만든 후에 변경할 수 있습니다.

Azure NetApp Files에서 NFS Kerberos를 사용하도록 설정된 정책 내보내기 규칙

NFS Kerberos는 Azure NetApp Files에서 NFSv4.1을 사용하는 볼륨에서만 사용할 수 있습니다. Kerberos는 사용 중인 Kerberos 유형에 따라 NFS 탑재에 대해 서로 다른 암호화 모드를 제공하여 추가 보안을 제공합니다.

Kerberos를 사용하도록 설정하면 정책 내보내기 규칙의 값이 변경되어 어떤 Kerberos 모드를 허용할지 지정할 수 있습니다. 둘 이상의 액세스가 필요한 경우 동일한 규칙에서 여러 Kerberos 보안 모드를 사용하도록 설정할 수 있습니다.

이러한 보안 모드에는 다음이 포함됩니다.

  • Kerberos 5: 초기 인증만 암호화.
  • Kerberos 5i: 사용자 인증 및 무결성 검사.
  • Kerberos 5p: 사용자 인증, 무결성 검사 및 개인 정보 보호. 모든 패킷이 암호화됩니다.

Kerberos 사용 클라이언트만 Kerberos를 지정하는 내보내기 규칙을 사용하여 볼륨에 액세스할 수 있습니다. Kerberos를 사용하는 경우 AUTH_SYS 액세스가 허용되지 않습니다.

루트 Squash

Azure NetApp Files 볼륨에 대한 루트 액세스를 제한하려는 경우 몇 가지 시나리오가 있습니다. 루트는 모드 비트 또는 ACL을 사용하여 루트에 대한 액세스를 명시적으로 거부하는 경우에도 NFS 볼륨의 모든 항목에 대한 무제한 액세스 권한을 가지므로 루트 액세스를 제한하는 유일한 방법은 특정 클라이언트의 루트가 더 이상 루트가 아니라는 것을 NFS 서버에 알리는 것입니다.

정책 내보내기 규칙에서 "루트 액세스: 끄기"를 선택하여 루트가 아닌 익명 사용자 ID인 65534로 루트를 Squash합니다. 즉, 지정된 클라이언트의 루트는 이제 사용자 ID 65534(일반적으로 NFS 클라이언트의 nfsnobody)이며, 해당 사용자에 대해 지정된 ACL/모드 비트를 기반으로 파일 및 폴더에 액세스할 수 있습니다. 모드 비트의 경우 액세스 권한은 일반적으로 "모든 사람" 액세스 권한에 속합니다. 또한 루트 Squash 규칙의 영향을 받는 클라이언트에서 "루트"로 작성된 파일은 nfsnobody:65534 사용자로 파일 및 폴더를 만듭니다. 루트가 루트여야 하는 경우 "루트 액세스"를 "켜기"로 설정합니다.

내보내기 정책 관리에 대한 자세한 내용은 NFS 또는 이중 프로토콜 볼륨에 대한 내보내기 정책 구성을 참조하세요.

정책 내보내기 규칙 순서 지정

정책 내보내기 규칙의 순서에 따라 적용 방법이 결정됩니다. NFS 클라이언트에 적용되는 목록의 첫 번째 규칙은 해당 클라이언트에 사용되는 규칙입니다. 정책 내보내기 규칙에 CIDR 범위/서브넷을 사용하는 경우 해당 범위의 NFS 클라이언트는 포함된 범위로 인해 원치 않는 액세스를 받을 수 있습니다.

다음 예제를 참조하세요.

Screenshot of two export policy rules.

  • 인덱스의 첫 번째 규칙은 허용되는 클라이언트 항목으로 0.0.0.0/0을 사용하는 기본 정책 규칙을 통해 모든 서브넷모든 클라이언트를 포함합니다. 이 규칙은 해당 Azure NetApp Files NFSv3 볼륨의 모든 클라이언트에 대한 "읽기 및 쓰기" 액세스를 허용합니다.
  • 인덱스의 두 번째 규칙은 NFS 클라이언트 10.10.10.10을 명시적으로 나열하며 루트 액세스가 없는(루트가 Squash됨) "읽기 전용"으로 액세스를 제한하도록 구성되어 있습니다.

즉, 클라이언트 10.10.10.10은 목록의 첫 번째 규칙에 따라0 액세스 권한을 받습니다. 다음 규칙은 액세스 제한에 대해 평가되지 않으므로 "읽기 전용"이 필요한 경우에도 10.10.10.10은 읽기 및 쓰기 액세스 권한을 받습니다. 루트도 Squash되지 않고 루트가 됩니다,

이 문제를 해결하고 원하는 수준으로 액세스를 설정하려면 원하는 클라이언트 액세스 규칙을 서브넷/CIDR 규칙 위에 배치하도록 규칙 순서를 다시 지정할 수 있습니다. 규칙을 끌거나 각 정책 내보내기 규칙의 행에 있는 ... 메뉴의 이동 명령을 사용하여 Azure Portal에서 정책 내보내기 규칙의 순서를 변경할 수 있습니다.

참고 항목

Azure NetApp Files CLI 또는 REST API를 사용하면 정책 내보내기 규칙을 추가 또는 제거만 할 수 있습니다.

SMB 공유

SMB 공유를 사용하면 최종 사용자가 Azure NetApp Files에서 SMB 또는 이중 프로토콜 볼륨에 액세스할 수 있습니다. SMB 공유에 대한 액세스 제어는 Azure NetApp Files 컨트롤 플레인에서 액세스 기반 열거형 및 검색할 수 없는 공유 기능과 같은 SMB 보안 옵션으로만 제한됩니다. 이러한 보안 옵션은 볼륨 편집 기능을 사용하여 볼륨을 만드는 동안 구성됩니다.

Screenshot of share-level permissions.

공유 수준 권한 ACL은 Azure NetApp Files가 아니라 Windows MMC 콘솔을 통해 관리됩니다.

Azure NetApp Files는 관리자의 보안을 강화하기 위해 여러 공유 속성을 제공합니다.

액세스 기반 열거형

액세스 기반 열거형은 공유에 대한 액세스가 허용된 사용자에게만 SMB의 파일 및 폴더의 열거(즉, 콘텐츠 나열)를 제한하는 Azure NetApp Files SMB 볼륨 기능입니다. 예를 들어 사용자가 액세스 기반 열거를 사용하도록 설정된 공유의 파일 또는 폴더를 읽을 수 있는 액세스 권한이 없는 경우 파일 또는 폴더가 디렉터리 목록에 표시되지 않습니다. 다음 예에서는 사용자(smbuser)가 Azure NetApp Files SMB 볼륨에서 "ABE"라는 폴더를 읽을 수 없습니다. contosoadmin만 액세스할 수 있습니다.

Screenshot of access-based enumeration properties.

아래 예에서는 액세스 기반 열거형을 사용할 수 없으므로 사용자가 SMBVolumeABE 디렉터리에 액세스할 수 있습니다.

Screenshot of directory without access-bassed enumeration.

다음 예에서는 액세스 기반 열거형을 사용하므로 SMBVolumeABE 디렉터리가 사용자에게 표시되지 않습니다.

Screenshot of directory with two sub-directories.

사용 권한은 개별 파일로도 확장됩니다. 아래 예에서는 액세스 기반 열거형을 사용할 수 없으므로 ABE-file이 사용자에게 표시됩니다.

Screenshot of directory with two-files.

액세스 기반 열거형을 사용하는 경우 ABE-file이 사용자에게 표시되지 않습니다.

Screenshot of directory with one file.

검색할 수 없는 공유

Azure NetApp Files의 검색할 수 없는 공유 기능은 Windows 탐색기에서 보거나 "net view"에서 공유를 나열할 때 공유를 숨겨 클라이언트가 SMB 공유를 검색하지 못하도록 제한합니다. 공유의 절대 경로를 알고 있는 최종 사용자만 공유를 찾을 수 있습니다.

다음 이미지에서는 SMBVolume에 대해 검색할 수 없는 공유 속성을 사용할 수 없으므로 볼륨이 파일 서버 목록에 표시됩니다(\\servername 사용).

Screenshot of a directory that includes folder SMBVolume.

Azure NetApp Files의 SMBVolume에서 검색할 수 없는 공유를 사용하면 파일 서버의 동일한 보기에서 SMBVolume이 제외됩니다.

다음 이미지에서 공유 SMBVolume에는 Azure NetApp Files에서 검색할 수 없는 공유가 활성화되어 있습니다. 이 공유가 활성화되어 있으면 파일 서버의 최상위 수준 보기가 이와 같습니다.

Screenshot of a directory with two sub-directories.

목록의 볼륨을 볼 수 없더라도 사용자가 파일 경로를 알고 있으면 액세스할 수 있습니다.

Screenshot of Windows Explorer with file path highlighted.

SMB3 암호화

SMB3 암호화는 NAS 환경에서 보안을 강화하기 위해 SMB 클라이언트에 유선으로 암호화를 적용하는 Azure NetApp Files SMB 볼륨 기능입니다. 다음 이미지는 SMB 암호화를 사용하지 않도록 설정한 경우 네트워크 트래픽의 화면 캡처를 보여 줍니다. 파일 이름 및 파일 핸들과 같은 중요한 정보가 표시됩니다.

Screenshot of packet capture with SMB encryption disabled.

SMB 암호화를 사용하도록 설정하면 패킷이 암호화된 것으로 표시되고 중요한 정보를 볼 수 없습니다. 대신 "암호화된 SMB3 데이터"로 표시됩니다.

Screenshot of packet capture with SMB encryption enabled.

SMB 공유 ACL

SMB 공유는 공유를 탑재하고 액세스할 수 있는 사용자에 대한 액세스를 제어하고 Active Directory 도메인의 사용자 및 그룹에 대한 액세스 수준도 제어할 수 있습니다. 평가되는 첫 번째 사용 권한 수준은 공유 ACL(액세스 제어 목록)입니다.

SMB 공유 권한은 파일 권한보다 더 기본적입니다. 읽기, 변경 또는 모든 권한만 적용합니다. 공유 권한은 파일 권한으로 재정의할 수 있고 파일 권한은 공유 권한으로 재정의할 수 있습니다. 준수되는 권한은 가장 제한적인 권한입니다. 예를 들어 "모든 사람" 그룹에 공유에 대한 모든 권한이 부여되고(기본 동작) 특정 사용자가 파일 수준 ACL을 통해 폴더에 대한 읽기 전용 액세스 권한을 가지고 있는 경우 해당 사용자에게는 읽기 권한이 적용됩니다. ACL에 명시적으로 나열되지 않은 다른 모든 사용자는 모든 권한을 갖습니다.

반대로 특정 사용자의 공유 권한은 "읽기"로 설정되어 있지만 해당 사용자의 파일 수준 권한은 모든 권한으로 설정되어 있으면 "읽기" 권한이 적용됩니다.

이중 프로토콜 NAS 환경에서 SMB 공유 ACL은 SMB 사용자에게만 적용됩니다. NFS 클라이언트는 공유 액세스 규칙에 대해 정책 및 규칙 내보내기를 활용합니다. 따라서 특히 dual=protocol NAS 볼륨의 경우 공유 수준 ACL보다 파일 및 폴더 수준에서 사용 권한을 제어하는 것이 좋습니다.

ACL을 구성하는 방법을 알아보려면 Azure NetApp Files에서 SMB 공유 ACL 관리를 참조하세요.

다음 단계