Azure 파일 공유의 파일은 Windows 10의 하나의 특정 프로필에서만 읽기 전용으로 열 수 있습니다. - (도메인 기반 인증을 사용하는 DFS-N)

Azure 파일 공유의 파일은 Windows 10의 하나의 특정 프로필에서만 읽기 전용으로 열 수 있습니다. - (도메인 기반 인증을 사용하는 DFS-N)

[환경 설정부터 설명하겠습니다.] 파일 공유를 위해 DFS-N 매핑, EX-를 사용합니다 \\Domain.local\Storageaccount. 이 매핑은 Windows Server 2012 R2 서버에서 DFS-N 역할로 호스팅됩니다.

DFS-N 서버에서 제가 작업 중인 폴더는 실제로 Azure에 있습니다. 예를 들어 - \\Domain.local\Storageaccount\FolderA\SubforbderB--> 이 폴더에는 \\storageaccount.file.core.windows.net.

Azure로 가는 터널이 있습니다. 인증은 도메인 기반 인증입니다. 따라서 사용자는 도메인 AD 인증을 통해 액세스 \\Domain.local\Storageaccount\하고 Kerberos 티켓을 Azure 파일에 반환하고 Azure에 대해서도 인증합니다.

여기서 이상한 점은 이 폴더를 AD 경로 대신 Azure 파일 공유 경로로 직접 매핑하는 해결 방법이 있다는 것입니다. \\storageaccount.file.core.windows.net\FolderA\SubforbderB이 방법은 완벽하게 작동했으며 사용자는 읽기-쓰기 액세스로 파일을 열 수 있습니다. 이는 문제가 AD 인증에 있음을 의미합니다. 이 문제는 동일한 방식으로 설정된 다른 폴더에서는 발생하지 않지만 상속이 없으므로 다른 사용자에게는 이 문제가 발생하지 않습니다.

[이제 문제를 설명하겠습니다]

현재 폴더가 있습니다 \\Domain.local\Storageaccount\FolderA\SubforbderB - SubforbderB. 이 폴더에는 상속이 해제되어 있습니다. 명시적으로 권한을 할당하고 있습니다. UserA가 폴더 내의 파일에 액세스하는 데 문제가 있습니다 \\Domain.local\Storageaccount\FolderA\SubforbderB. 파일을 열면 읽기 전용으로 열립니다. UserA는 NTFS 및 IAM RBAC 역할에 따라 모든 권한을 갖습니다. 다른 컴퓨터에서 UserA 계정을 테스트하고 해당 계정에 읽기-쓰기 액세스 권한이 있는지 확인했습니다. 동일한 Windows 10 컴퓨터의 다른 사용자 프로필에서 UserA와 동일한 액세스 권한을 가진 UserB 계정을 테스트했는데 UserB가 읽기-쓰기로 파일에 액세스할 수 있습니다. 이는 문제가 Windows 10 컴퓨터의 현재 사용자 프로필에 있다는 것을 증명합니다.

우리는 Windows 컴퓨터에서 프로필을 다시 생성하고 데이터를 백업 및 복원하기만 하면 이 문제가 해결된다는 것을 알고 있습니다. 그러나 사용자에게는 사용자 지정 사용자별 구성이 많기 때문에 새 프로필로 이동하기가 어렵습니다.

우리는 Microsoft Azure 팀 및 Windows 팀과 협력했으며 프로필을 다시 만드는 것 외에는 다른 솔루션을 제공하지 않습니다.

여러분 중 한 분이 과거에 이 문제에 직면하여 해결하셨기를 바랍니다.

우리가 시도한 작업은 다음과 같습니다. 자격 증명 관리자 지우기, 도메인 재가입, SFC, DISM 검사, Windows 업데이트, 파일 탐색기 맵 특정 레지스트리 찾기 및 해당 항목도 삭제했습니다.

Windows 사용자 프로필을 다시 만드는 것 외에 다른 제안 사항이 있습니까?

답변1

이 위치에 온프레미스 DC가 있었는데 어떻게든 이 DC를 폐기한 후 클라이언트가 Azure의 DC로 직접 인증하고 있습니다. "ACCESS KEY"를 사용하여 NTFS 권한을 다시 적용했습니다. 이제 모든 것이 예상대로 작동하고 있습니다.

답변2

저장소 파일 데이터 공유 기여자 Azure RBAC 역할을 할당하거나 다음 데이터 작업을 사용하여 사용자 지정 역할을 할당해야 할 수도 있습니다. 아래와 같이 쓰기용으로 Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write

{
  "assignableScopes": [
    "/"
  ],
  "description": "Allows for read, write, and delete access in Azure Storage file shares over SMB",
  "id": "/providers/Microsoft.Authorization/roleDefinitions/0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb",
  "name": "0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb",
  "permissions": [
    {
      "actions": [],
      "notActions": [],
      "dataActions": [
        "Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read",
        "Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write",
        "Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete"
      ],
      "notDataActions": []
    }
  ],
  "roleName": "Storage File Data SMB Share Contributor",
  "roleType": "BuiltInRole",
  "type": "Microsoft.Authorization/roleDefinitions"
}

그런데 사용자 프로필 공유의 경우 FSLogix를 추천합니다. FSLogix는 프로필 컨테이너를 활용하여 사용자 프로필을 캡슐화합니다. 이러한 컨테이너는 사용자 세션에 동적으로 연결되므로 사용자는 여러 세션에서 일관된 경험을 가질 수 있습니다. 프로필 컨테이너는 사용자별 데이터, 구성 및 설정을 저장하여 로그온 시간을 줄이고 성능을 향상시킵니다.

ACL을 가져오는 PowerShell

# Specify the path to the file or folder
$path = "C:\Path\To\Your\FileOrFolder"

# Get the NTFS ACL
$ntfsAcl = Get-Acl -Path $path

# Display the NTFS ACL
Write-Host "NTFS ACL:"
$ntfsAcl | Format-List

관련 정보