共用方式為


設定 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

Azure RBAC 權限

下表包含與此組態相關的 Azure RBAC 權限。 如果您使用 Azure 儲存體總管,您也需要讀者和資料存取角色,才能讀取/存取檔案共用。

共用層級權限 (內建角色) NTFS 權限 產生的存取權
儲存體檔案資料 SMB 共用讀者 完全控制、修改、讀取、寫入、執行 讀取 & 執行
讀取 讀取
儲存體檔案資料 SMB 共用參與者 完全控制 修改、讀取、寫入、執行
Modify Modify
讀取 & 執行 讀取 & 執行
讀取 讀取
寫入 寫入
儲存體檔案資料 SMB 共用提升權限的參與者 完全控制 修改、讀取、寫入、編輯 (變更權限)、執行
Modify Modify
讀取 & 執行 讀取 & 執行
讀取 讀取
寫入 寫入

支援的 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 之前,您必須先使用儲存體帳戶金鑰掛接檔案共用。 若要這樣做,登入已加入網域的裝置、開啟 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。 請改用 icacls。

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

使用 icacls 設定 Windows ACL

若要授與檔案共用下所有目錄和檔案的完整權限 (包括根目錄),請從可看見 AD 網域控制站的電腦執行下列 Windows 命令。 請記得使用您自己的值取代預留位置值。

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

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

使用 Windows 檔案總管設定 Windows ACL

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

  1. 開啟 Windows 檔案總管並以滑鼠右鍵按一下檔案/目錄,然後選取 [屬性]
  2. 選取安全性索引標籤。
  3. 選取 [編輯..] 以變更權限。
  4. 您可以變更現有使用者的權限,或選取 [新增...],將權限授與新的使用者。
  5. 在新增使用者的提示視窗中,在 [輸入要選取的物件名稱] 方框中輸入您要授與權限的目標使用者名稱,然後選取 [檢查名稱] 以尋找目標使用者的完整 UPN 名稱。
  6. 選取 [確定]。
  7. 在 [安全性] 索引標籤中,選取您要授與新使用者的所有權限。
  8. 選取套用

後續步驟

至此,您已啟用並設定使用 AD DS 進行身分識別型驗證,您可以掛接檔案共用