.png)
[まず、環境の設定方法を説明します] ファイル共有には、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 へのトンネルがあります。認証はドメイン ベースの認証です。したがって、ユーザーは\\Domain.local\Storageaccount\
ドメイン AD 認証を使用してアクセスし、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 コンピューターの別のユーザー プロファイルで UserB アカウントを UserA と同じアクセス権でテストしたところ、UserB は読み取り/書き込みでファイルにアクセスできます。これは、Windows 10 コンピューターの現在のユーザー プロファイルに問題があることを証明しています。
Windows コンピューターでプロファイルを再作成し、データをバックアップして復元するだけで、この問題は解決できることはわかっています。ただし、ユーザーにはユーザー固有のカスタム構成が多数あるため、新しいプロファイルに移行するのは困難です。
私たちは Microsoft Azure チームおよび Windows チームと協力しましたが、プロファイルを再作成する以外の解決策は提供されていません。
皆さんの中に、この問題に遭遇し、過去に解決した方がいらっしゃることを願っています。
私たちが試したことは次のとおりです: 資格情報マネージャーのクリア、ドメインへの再参加、SFC、DISM スキャン、Windows アップデート、ファイル エクスプローラー マップ固有のレジストリの検索、それらもクリア。
Windows ユーザー プロファイルを再作成する以外に何か提案はありますか?
答え1
この場所にオンプレミスの DC がありましたが、この DC を廃止した後、クライアントは Azure の DC で直接認証するようになりました。「アクセス キー」を使用して 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