다음을 통해 공유


Azure NetApp Files에 대한 NFSv4.1 ID 도메인 구성

NFSv4는 ID 인증 도메인의 개념을 도입합니다. Azure NetApp Files는 항목 값 defaultv4iddomain.com을 인증 도메인으로 사용하고 NFS 클라이언트는 자체 구성을 사용하여 해당 볼륨의 파일에 액세스하려는 사용자를 인증합니다. 기본적으로 NFS 클라이언트는 DNS 도메인 이름을 NFSv4 ID 도메인으로 사용합니다. idmapd.conf라는 NFSv4 구성 파일을 사용하여 이 설정을 재정의할 수 있습니다.

NFS 클라이언트 및 Azure NetApp Files의 인증 도메인 설정이 일치하지 않으면 NFSv4 사용자 및 그룹 매핑이 실패할 수 있으므로 파일 액세스가 거부될 수 있습니다. 이 경우 제대로 일치하지 않는 사용자 및 그룹은 idmapd.conf 파일(일반적으로 nobody:99)에 구성된 사용자 및 그룹을 압축하고 이벤트는 클라이언트에 로그됩니다.

이 문서에서는 사용자/그룹 매핑의 기본 동작과, 적절히 인증하고 액세스를 허용하도록 NFS 클라이언트를 올바르게 구성하는 방법을 설명합니다. 

사용자/그룹 매핑의 기본 동작

루트 사용자 매핑은 Azure NetApp Files와 NFS 클라이언트 간에 불일치가 있는 경우 발생하는 결과를 보여 줍니다. 애플리케이션의 설치 프로세스에서는 루트 사용자를 사용해야 하는 경우가 많습니다. root에 대한 액세스를 허용하도록 Azure NetApp Files를 구성할 수 있습니다.

다음 디렉터리 목록 예제에서 사용자 root는 ID 인증 도메인에 대한 기본 구성 localdomain을 사용하는 Linux 클라이언트에 볼륨을 탑재합니다. 이는 Azure NetApp Files의 기본 구성 defaultv4iddomain.com과 다릅니다.

Screenshot of file directory output.

디렉터리의 파일 목록에서 file1은 루트 사용자가 소유해야 하는 경우 nobody에 매핑되는 것으로 표시됩니다.

양쪽에서 인증 도메인을 조정하는 방법에는 Azure NetApp Files를 NFS 서버로 사용하는 것과 Linux를 NFS 클라이언트로 사용하는 것의 두 가지가 있습니다.

  1. 중앙 사용자 관리: AD DS(Active Directory Domain Services)와 같은 중앙 사용자 관리를 이미 사용하는 경우 LDAP를 사용하도록 Linux 클라이언트를 구성하고 AD DS에 구성된 도메인을 인증 도메인으로 설정할 수 있습니다. 서버 쪽에서 Azure NetApp Files에 대한 AD 도메인 서비스를 사용하도록 설정하고 LDAP 지원 볼륨을 만들어야 합니다. LDAP 지원 볼륨은 자동으로 AD DS에 구성된 도메인을 인증 도메인으로 사용합니다.

    이 프로세스에 대한 자세한 내용은 NFS 볼륨에 대한 AD DS(Active Directory Domain Services) LDAP 인증 사용을 참조하세요.

  2. Linux 클라이언트 수동 구성: Linux 클라이언트에 대한 중앙 사용자 관리를 사용하지 않는 경우 비 LDAP 지원 볼륨에 대해 Azure NetApp Files의 기본 인증 도메인과 일치하도록 Linux 클라이언트를 수동으로 구성할 수 있습니다.

이 섹션에서는 Linux 클라이언트를 구성하는 방법과 LDAP 지원 볼륨이 아닌 모든 볼륨에 대해 Azure NetApp Files 인증 도메인을 변경하는 방법을 중점적으로 설명합니다.

Azure NetApp Files에 대한 NFSv4.1 ID 도메인 구성

Azure Portal을 사용하여 모든 비 LDAP 볼륨에 대해 원하는 NFSv4.1 ID 도메인을 지정할 수 있습니다. 이 설정은 동일한 구독 및 지역의 모든 NetApp 계정에서 LDAP가 아닌 모든 볼륨에 적용됩니다. 동일한 NetApp 구독 및 지역의 LDAP 지원 볼륨에는 영향을 주지 않습니다.

기능 등록

Azure NetApp Files는 Azure Portal을 사용하여 구독의 모든 비 LDAP 볼륨에 대해 NFSv4.1 ID 도메인을 설정하는 기능을 지원합니다. 이 기능은 현지 미리 보기로 제공됩니다. 이 기능을 처음 사용하기 전에 등록해야 합니다. 등록 후 기능이 활성화되고 백그라운드에서 작동합니다.

  1. 기능 등록

    Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFNFSV4IDDomain
    
  2. 기능 등록 상태를 확인합니다.

    참고 항목

    RegistrationStateRegistered로 변경되기 전까지 최대 60분 동안 Registering 상태일 수 있습니다. 상태가 Registered이 될 때까지 기다린 후에 계속하세요.

    Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFNFSV4IDDomain
    

Azure CLI 명령az feature registeraz feature show를 사용하여 기능을 등록하고 등록 상태를 표시할 수도 있습니다.

단계

  1. Azure NetApp Files 구독에서 NFSv4.1 ID 도메인을 선택합니다.

  2. 구성을 선택합니다.

  3. 기본 도메인 defaultv4iddomain.com을 사용하려면 기본 NFSv4 ID 도메인 사용 옆의 확인란을 선택합니다. 다른 도메인을 사용하려면 텍스트 상자의 선택을 취소하고 NFSv4.1 ID 도메인의 이름을 제공합니다.

    Screenshot with field to set NFSv4 domain.

  4. 저장을 선택합니다.

NFS 클라이언트에서 NFSv4.1 ID 도메인 구성

  1. NFS 클라이언트에서 /etc/idmapd.conf 파일을 편집합니다.
    #Domain 줄의 주석 처리를 제거합니다. 즉, 줄에서 #을 제거하고 localdomain 값을 다은과 같이 변경합니다.

    • 볼륨이 LDAP에 대해 사용하도록 설정되지 않은 경우 Domain = defaultv4iddomain.com을 지정하여 기본 도메인 defaultv4iddomain.com을 사용하거나 Azure NetApp Files에 구성된 대로 NFSv4.1 ID 도메인을지정합니다.
    • 볼륨이 LDAP에 사용하도록 설정된 경우 Domain을 NetApp 계정의 Active Directory 연결에 구성된 도메인으로 설정합니다. 예를 들어 contoso.com이 NetApp 계정에 구성된 도메인인 경우 Domain = contoso.com을 설정합니다.

    다음 예제에서는 변경 전 /etc/idmapd.conf의 초기 구성을 보여 줍니다.

    [General]
    Verbosity = O 
    Pipefs—Directory = /run/rpc_pipefs 
    # set your own domain here, if it differs from FQDN minus hostname 
    # Domain = localdomain 
    
    [Mapping] 
    Nobody-User = nobody 
    Nobody-Group = nogroup 
    

    다음 예제에서는 기본 도메인 defaultv4iddomain.com에 대해 비 LDAP NFSv4.1 볼륨의 업데이트된 구성을 보여 줍니다.

    [General]
    Verbosity = O 
    Pipefs—Directory = /run/rpc_pipefs 
    # set your own domain here, if it differs from FQDN minus hostname 
    Domain = defaultv4iddomain.com 
    
    [Mapping] 
    Nobody-User = nobody 
    Nobody-Group = nogroup 
    

    다음 예제에서는 LDAP가 사용하도록 설정된 NFSv4.1 볼륨의 업데이트된 구성을 보여 줍니다. 이 예제에서 contoso.com는 NetApp 계정에서 구성된 도메인입니다.

    [General]
    Verbosity = O 
    Pipefs—Directory = /run/rpc_pipefs 
    # set your own domain here, if it differs from FQDN minus hostname 
    Domain = contoso.com
    
    [Mapping] 
    Nobody-User = nobody 
    Nobody-Group = nogroup 
    
  2. 현재 탑재된 NFS 볼륨을 모두 분리합니다.

  3. /etc/idmapd.conf 파일을 업데이트합니다.

  4. NFS idmapper(nfsidmap -c)의 인증 키를 지웁니다.

  5. 필요에 따라 NFS 볼륨을 탑재합니다.

    Windows 또는 Linux VM용 볼륨 탑재를 참조하세요.

다음 예제에서는 결과로 생성된 사용자/그룹 변경 내용을 보여 줍니다.

Screenshot that shows an example of the resulting user/group change.

예제에서 볼 수 있듯이, 사용자/그룹이 이제 nobody에서 root로 변경되었습니다.

루트가 아닌 다른 사용자와 그룹의 동작

Azure NetApp Files는 로컬 사용자 및 그룹(NFS 클라이언트에서 로컬로 생성되고 사용자 및 그룹 ID로 표시됨) 및 NFSv4.1 볼륨의 파일 또는 폴더와 연결된 해당 소유권 및 권한을 지원합니다. 그러나 이 서비스는 NFS 클라이언트에서 로컬 사용자 및 그룹을 매핑하기 위해 자동으로 확인하지 않습니다. 한 호스트에서 만든 사용자 및 그룹은 다른 NFS 클라이언트에 있거나 없을 수 있으므로(또는 다른 사용자 및 그룹 ID로 존재) 아래 예제에 설명된 대로 올바르게 매핑되지 않습니다.

다음 예제에서 Host1에는 사용자 계정 3개(testuser01, testuser02, testuser03)가 있습니다.

Screenshot that shows that Host1 has three existing test user accounts.

Host2에서는 해당 사용자 계정이 없지만 두 호스트에 동일한 볼륨이 탑재됩니다.

Resulting configuration for NFSv4.1

이 문제를 해결하려면 NFS 클라이언트에서 누락된 계정을 만들거나 Azure NetApp Files가 중앙에서 관리되는 UNIX ID에 사용하는 LDAP 서버를 사용하도록 NFS 클라이언트를 구성합니다.

다음 단계