共用方式為


裝載 Azure 檔案共用

開始閱讀本文前,請先確定您已閱讀 透過 SMB 設定目錄和檔案層級權限

本文所述的程序會確認您的 SMB 檔案共用和存取權限已正確設定,而且您可以掛接您的 SMB Azure 檔案共用。 請記住,共用層級的角色指派可能需要一些時間才會生效。

使用您已授與權限的身分識別認證來登入用戶端。

適用於

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

掛接必要條件

在可以掛接 Azure 檔案共用之前,請確定您已符合下列必要條件:

  • 如果您要從先前使用儲存體帳戶金鑰已連線至檔案共用的用戶端來掛接檔案共用,請確定您已將共用中斷連線、移除儲存體帳戶金鑰的持續性認證,且目前使用 AD DS 認證進行驗證。 如需如何在起始 AD DS 或 Microsoft Entra 認證的新連線之前,移除使用儲存體帳戶金鑰的快取認證並刪除現有的 SMB 連線,請遵循 常見問題頁面的兩步驟流程。
  • 您的用戶端必須具有與 AD DS 的未受限制網路連線能力。 如果您的電腦或 VM 處於 AD DS 所管理的網路之外,您會需要啟用 VPN 以連線到 AD DS 進行驗證。

從已加入網域的 VM 中裝載檔案共用

執行以下 PowerShell 腳本,或使用 Azure 入口網站持續掛接 Azure 檔案共用,並將它對應至 Windows 上的 Z: 磁碟驅動器。 如果 Z: 已被使用,請將它取代為可用的磁碟機代號。 腳本會檢查此儲存體帳戶是否可透過 TCP 連接埠 445 存取,這是 SMB 使用的連接埠。 請記得以您自己的值取代預留位置值。 如需詳細資訊,請參閱搭配 Windows 使用 Azure 檔案共用

除非您使用自訂網域名稱,否則即使您已為共用設定私人端點,您也應該使用尾碼 file.core.windows.net 來掛接 Azure 檔案共用。

$connectTestResult = Test-NetConnection -ComputerName <storage-account-name>.file.core.windows.net -Port 445
if ($connectTestResult.TcpTestSucceeded) {
    cmd.exe /C "cmdkey /add:`"<storage-account-name>.file.core.windows.net`" /user:`"localhost\<storage-account-name>`""
    New-PSDrive -Name Z -PSProvider FileSystem -Root "\\<storage-account-name>.file.core.windows.net\<file-share-name>" -Persist -Scope global
} else {
    Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port."
}

您也可以在 Windows 提示字元中使用 net-use 命令來掛接檔案共用。 請記住將 <YourStorageAccountName><FileShareName> 取代為您自己的值。

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName>

如果您遇到問題,請參閱 無法使用 AD 認證掛接 Azure 檔案共用

從未加入網域的 VM 或已加入不同 AD 網域的 VM 掛接檔案共用

未加入網域的 VM 或已加入與儲存體帳戶不同 AD 網域的 VM 可以存取 Azure 檔案共用,如果他們對域控制器沒有限制的網路連線,並提供明確的認證 (使用者名稱和密碼)。 存取檔案共享的使用者必須在已加入儲存體帳戶的 AD 網域中具有身分識別和認證。

若要從未加入網域的 VM 掛接檔案共用,請使用 username@domainFQDN 標記法,其中 domainFQDN 是完整網域名稱。 這可讓用戶端連絡網域控制站以要求並接收 Kerberos 票證。 您可以在 Active Directory PowerShell 中執行 (Get-ADDomain).Dnsroot ,以取得 domainFQDN 的值。

例如:

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:<username@domainFQDN>

注意

Azure 檔案儲存體不支援從未加入網域的 VM 或透過 Windows 檔案總管加入不同網域的 VM,將 SID 轉譯為 UPN 轉譯。 如果您想要透過 Windows 檔案總管檢視檔案/目錄擁有者或檢視/修改 NTFS 存取權限,則只能從網域加入的 VM 執行此動作。

使用自訂網域名稱掛接檔案共用

如果您不想使用後綴 file.core.windows.net 掛接 Azure 檔案共用,您可以修改與 Azure 檔案共用關聯的儲存體帳戶名稱後綴,然後新增標準名稱 (CNAME) 記錄,以將新的後綴路由至儲存體帳戶的端點。 下列指示僅適用於單一樹系環境。 若要瞭解如何設定具有兩個或多個樹系的環境,請參閱 搭配多個 Active Directory 樹系使用 Azure 檔案服務

注意

Azure 檔案儲存體僅支援使用儲存體帳戶名稱作為網域前置詞來設定 CNAMES。 如果您不想使用儲存體帳戶名稱作為前置詞,請考慮使用 DFS 命名空間

在此範例中,我們有 Active Directory 網域 onpremad1.com,而且有名為 mystorageaccount 儲存體帳戶,其中包含 SMB Azure 檔案共用。 首先,我們需要修改儲存體帳戶的 SPN 後綴,以將 mystorageaccount.onpremad1.com 對應至 mystorageaccount.file.core.windows.net

這可讓用戶端使用 net use \\mystorageaccount.onpremad1.com 掛接檔案共用,因為 onpremad1 中的用戶端會知道搜尋 onpremad1.com 以為該儲存體帳戶尋找適當資源。

若要使用此方法,請完成下列步驟:

  1. 請確定您已設定身分識別型驗證,並將 AD 使用者帳戶同步至 Microsoft Entra ID。

  2. 使用 setspn 工具修改記儲存體帳戶的 SPN。 您可以執行下列 Active Directory PowerShell 命令 (Get-AdDomain).DnsRoot 來找到 <DomainDnsRoot>

    setspn -s cifs/<storage-account-name>.<DomainDnsRoot> <storage-account-name>
    
  3. 使用 Active Directory DNS 管理員新增 CNAME 項目,然後針對儲存體帳戶所加入網域中的每個儲存體帳戶,執行下列步驟。 如果您使用私人端點,請新增 CNAME 項目以對應至私人端點名稱。

    1. 開啟 Active Directory DNS 管理員。
    2. 移至您的網域 (例如 onpremad1.com)。
    3. 移至「正向對應區域」。
    4. 選取以網域命名的節點 (例如 onpremad1.com),然後以滑鼠右鍵按一下 [新增別名 (CNAME)]
    5. 輸入您的儲存體帳戶名稱做為別名名稱。
    6. 針對完整網域名稱 (FQDN),輸入 <storage-account-name>.<domain-name>,例如 mystorageaccount.onpremad1.com。 FQDN 的主機名稱分必須符合記儲存體帳戶名稱。 否則,您會在 SMB 會話設定期間收到拒絕存取錯誤。
    7. 針對目標主機 FQDN,輸入 <storage-account-name>.file.core.windows.net
    8. 選取 [確定]。

您現在應該可以使用 storageaccount.domainname.com 掛接檔案共用。 您還可以使用儲存體帳戶金鑰來掛接檔案共用。

後續步驟

如果您在 AD DS 中建立以代表儲存體帳戶的身分識別位於強制執行密碼輪替的網域或 OU 中,您可能需要 更新 AD DS 中您的儲存體身分識別密碼