設定 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 |
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。
- 在具備無礙的連線能力、可連線至網域控制站的機器上,使用使用者名稱和儲存體帳戶金鑰登入,提供權限給某些使用者 (或群組) 以編輯檔案共用的根層級權限。
- 將 Azure RBAC 角色儲存體檔案資料 SMB 共用提升權限的參與者指派給這些使用者。
- 未來,每當您想要更新 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
您可以使用 icacls 或 Windows 檔案總管設定 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。
- 開啟 Windows 檔案總管並以滑鼠右鍵按一下檔案/目錄,然後選取 [屬性]。
- 選取安全性索引標籤。
- 選取 [編輯..] 以變更權限。
- 您可以變更現有使用者的權限,或選取 [新增...],將權限授與新的使用者。
- 在新增使用者的提示視窗中,在 [輸入要選取的物件名稱] 方框中輸入您要授與權限的目標使用者名稱,然後選取 [檢查名稱] 以尋找目標使用者的完整 UPN 名稱。
- 選取 [確定]。
- 在 [安全性] 索引標籤中,選取您要授與新使用者的所有權限。
- 選取套用。
後續步驟
至此,您已啟用並設定使用 AD DS 進行身分識別型驗證,您可以掛接檔案共用。