共用方式為


設定 Azure 檔案共享的目錄和檔案層級許可權

開始閱讀本文之前,請確定您已閱讀將共用層級權限指派給身分識別,確保您的共用層級權限及角色型存取控制 (RBAC) 已就緒。

指派共用層級權限之後,您可以在根、目錄或檔案層級設定 Windows 訪問控制清單 (ACL),也稱為 NTFS 權限。 雖然共用層級權限如同高階閘道管理員一樣,可以決定使用者是否可以存取共用,但 Windows ACL 會以更細微的層級運作,控制使用者可以在目錄或檔案層級執行的作業。

當使用者嘗試存取檔案/目錄時,會強制執行共用層級和檔案/目錄層級許可權。 如果其中一者之間有差異,則只會套用最嚴格的限制。 例如,如果使用者在檔案層級擁有讀取/寫入存取權,但在共用層級擁有讀取權,則使用者只能讀取該檔案。 如果情況反過來也是如此:如果使用者在共用層級擁有讀取/寫入存取權,但在檔案層級只擁有讀取權,則使用者還是只能讀取該檔案。

重要

若要設定 Windows ACL,您需要執行 Windows 的用戶端機器,且該用戶端機器具備無礙的連線能力,可連線至網域控制站。 如果使用 Active Directory Domain Services (AD DS) 或適用於混合式身分識別 的 Microsoft Entra Kerberos 驗證您的 Azure 檔案儲存體,這表示您需要無礙的連線能力,可連線至內部部署 AD。 如果您使用 Microsoft Entra Domain Services,則用戶端機器必須具備無礙的連線能力,可連線至位於 Azure、網域由 Microsoft Entra Domain Services 管理的網域控制站。

適用於

檔案共用類型 SMB NFS
標準檔案共用 (GPv2)、LRS/ZRS 是 否
標準檔案共用 (GPv2)、GRS/GZRS 是 否
進階檔案共用 (FileStorage)、LRS/ZRS 是 No

支援的 Windows ACL

Azure 檔案儲存體支援整組基本和進階 Windows ACL。

使用者 定義
BUILTIN\Administrators 內建安全性群組,代表檔案伺服器的系統管理員。 此群組是空的,而且沒有人員可以新增至該群組。
BUILTIN\Users 內建安全性群組,代表檔案伺服器的使用者。 依預設會包含 NT AUTHORITY\Authenticated Users。 若為傳統檔案伺服器,您可以設定每部伺服器的成員資格定義。 若為 Azure 檔案儲存體,則沒有主控伺服器,因此 BUILTIN\Users 包含與 NT AUTHORITY\Authenticated Users 相同的一組使用者。
NT AUTHORITY\SYSTEM 檔案伺服器作業系統的服務帳戶。 這類服務帳戶不適用於 Azure 檔案儲存體內容, 內含於根目錄中,與混合式案例的 Windows 檔案伺服器體驗一致。
NT AUTHORITY\Authenticated Users AD 中的所有使用者都可以取得有效的 Kerberos 權杖。
CREATOR OWNER 目錄或檔案中的每個物件都有該物件的擁有者。 如果有 ACL 指派給該物件的 CREATOR OWNER,則此物件擁有者的使用者即具有 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. 將 Azure RBAC 角色儲存體檔案資料 SMB 共用提升權限的參與者指派給這些使用者。
  3. 未來,每當您想要更新 ACL,您可以使用已授權的使用者之一,從具備無礙的連線能力、可連線至網域控制站的機器登入,然後編輯 ACL。

使用儲存體帳戶金鑰掛接檔案共用

設定 Windows ACL 之前,您必須先使用儲存體帳戶金鑰掛接檔案共用。 若要這樣做,請登入已加入網域的裝置(如果您的 AD 來源Microsoft Entra Domain Services,請以Microsoft Entra 使用者身分),開啟 Windows 命令提示字元,然後執行下列命令。 切記以您自己的值取代 <YourStorageAccountName><FileShareName><YourStorageAccountKey>。 如果 Z: 已被使用,請將它取代為可用的磁碟機代號。 您可以在 Azure 入口網站中找到儲存體帳戶金鑰,方法是瀏覽至儲存體帳戶,然後選取 [安全性 + 網路]>[存取金鑰],您也可以使用 PowerShell Cmdlet。Get-AzStorageAccountKey

請務必使用 net use Windows 命令在此階段掛接共用,切勿使用 PowerShell。 如果您使用 PowerShell 掛接共用,則 Windows 檔案總管或 cmd.exe 看不到共用,而且您無法設定 Windows ACL。

注意

您可能會看到完整控制 ACL 已套用至角色。 這通常已經提供指派權限的能力。 不過,因為有兩個層級的存取檢查 (共用層級和檔案/目錄層級),因此會受到限制。 只有具有 記憶體檔案數據 SMB 共用提升 參與者角色並建立新檔案或目錄的使用者,才能指派這些新檔案或目錄的許可權,而不需使用記憶體帳戶密鑰。 所有其他檔案/目錄權限指派都需要先使用記憶體帳戶金鑰連線到共用。

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

設定 Windows ACL

您可以使用 icaclsWindows 檔案總管設定 Windows ACL。 您也可以使用 Set-ACL PowerShell 命令。

如果內部部署檔案伺服器中的目錄或檔案已針對 AD DS 身分識別設定 Windows ACL,則您可以使用傳統檔案複製工具 (例如,Robocopy 或 Azure AzCopy v 10.4+) 將目錄或檔案複製到保存 ACL 的 Azure 檔案儲存體。 如果透過 Azure 檔案同步將目錄和檔案分層處理至 Azure 檔案儲存體,則會以原生格式延用和保存您的 ACL。

重要

如果您使用 Microsoft Entra Kerberos 作為 AD 來源,則必須將身分識別同步至Microsoft Entra 識別符,才能強制執行 ACL。 您可以針對未同步至 Microsoft Entra ID 的身分識別,設定檔案/目錄層級 ACL。 不過,不會強制執行這些 ACL,因為用於驗證/授權的 Kerberos 票證不會包含未同步的身分識別。 如果您使用內部部署 AD DS 作為 AD 來源,則無法在 ACL 中同步處理身分識別。 AD DS 會將這些 SID 放在 Kerberos 票證中,並強制執行 ACL。

使用 icacls 設定 Windows ACL

若要將完整許可權授與檔案共用下的所有目錄和檔案,包括根目錄,請從已將網路連線到 AD 域控制器的電腦上執行下列 Windows 命令。 請記得使用您自己的值取代預留位置值。 如果您的 AD 來源Microsoft Entra Domain Services,則 <user-upn><user-email>

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

如需如何使用 icacls 設定 Windows ACL,以及不同類型支援權限的相關詳細資訊,請參閱 icacls 的命令列參考

使用 Windows 檔案總管設定 Windows ACL

如果您登入已加入網域的 Windows 用戶端,您可以使用 Windows 檔案總管,將完整權限授與檔案共用下的所有目錄和檔案,包括根目錄在內。

重要

如果您的用戶端未加入網域,或您的環境有多個 AD 樹系,請勿使用 Windows 檔案總管來設定 ACL。 請改為使用 icacls。 這是因為 Windows 檔案總管 ACL 設定需要用戶端加入記憶體帳戶加入的 AD 網域。

請遵循下列步驟,使用 Windows 檔案總管 設定 ACL。

  1. 開啟 Windows 檔案總管,以滑鼠右鍵按兩下檔案/目錄,然後選取 [屬性]。
  2. 選取安全性索引標籤。
  3. 選取 [編輯..] 以變更權限。
  4. 您可以變更現有使用者的權限,或選取 [新增...],將權限授與新的使用者。
  5. 在新增使用者的提示視窗中,在 [輸入要選取的物件名稱] 方框中輸入您要授與權限的目標使用者名稱,然後選取 [檢查名稱] 以尋找目標使用者的完整 UPN 名稱。 您可能需要為內部部署 AD 指定功能變數名稱和網域 GUID。 您可以從網域管理員或已加入內部部署 AD 的用戶端取得這項資訊。
  6. 選取 [確定]。
  7. 在 [安全性] 索引標籤中,選取您要授與新使用者的所有權限。
  8. 選取套用

後續步驟

現在您已設定目錄和檔案層級許可權,您可以 掛接檔案共用