修正 NetDrive 的 Azure Blob 儲存體驗證錯誤

閱讀時間 5 分鐘 troubleshooting azure
Alex
AlexPrincipal Engineer
昨天還能正常運作的 Azure Blob 磁碟機,今天在 NetDrive 中突然驗證失敗。本文說明 SAS 權杖過期、帳戶金鑰輪替與儲存體防火牆規則等常見原因。

上週還能順利掛載的 Azure Blob 磁碟機,現在卻拒絕重新連線——檔案總管顯示磁碟機代號,但出現驗證錯誤,而不是你的建置成品,而且你的流程管線根本沒有任何變動。這幾乎總是三件事之一:SAS 權杖過期、NetDrive 尚未得知的帳戶金鑰輪替,或是儲存體帳戶防火牆規則開始封鎖該機器的公開 IP。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

將 Azure Blob 儲存體掛載為本機磁碟機

NetDrive 讓 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 與 macOS 上顯示為原生磁碟機 — 不需同步,也不需完整下載。

  • 使用帳戶金鑰或範圍限定的 SAS 權杖連線
  • 檔案瀏覽器可在掛載前先測試容器存取權
  • 背景上傳讓大型寫入作業不佔用關鍵路徑
WindowsmacOS
下載 NetDrive →

免費試用。提供終身與訂閱方案。

為何正常運作的 Azure Blob 磁碟機會突然驗證失敗

與密碼輸錯不同,Azure Blob 驗證失敗很少是「一開始就錯」。NetDrive 支援兩種 Azure Blob 儲存體的憑證類型:儲存體帳戶的主要或次要帳戶金鑰,或是範圍限定於容器的**共用存取簽章(SAS)**權杖。兩者都有各自的時效性——SAS 權杖在你產生時就設定了硬性的到期日,而帳戶金鑰則要等到有人在 Azure 入口網站重新產生它才會失效,而這會立即讓所有仍使用舊值的連線失效。

第三個原因與憑證完全無關:儲存體帳戶的網路防火牆。如果Networking → Firewalls and virtual networks設定為「Selected networks」而非「All networks」,Azure 會在檢查憑證之前就拒絕請求——而產生的錯誤看起來可能與金鑰錯誤一模一樣。

NetDrive 磁碟機管理員顯示用來開啟 Azure Blob 磁碟機連線設定的齒輪圖示

檢查一:SAS 權杖過期或帳戶金鑰輪替

先從這裡開始——它能解決大多數「昨天還能用,今天卻不行」的情況。

  1. Azure 入口網站中,開啟你的儲存體帳戶,確認磁碟機當初是用哪種憑證類型設定的。
  2. 如果你使用 SAS 權杖:前往Security + networking → Shared access signature,確認你產生的權杖上的Expiry date尚未過期。SAS 權杖通常會設定為 30 天、90 天或 365 天後到期——這個值在設定時可能看起來很寬裕。
  3. 如果你使用帳戶金鑰:前往Security + networking → Access keys,確認key1key2最近是否被重新產生過。重新產生金鑰會立即讓所有仍使用舊值的用戶端(包括 NetDrive)失效。
  4. 產生新的 SAS 權杖(至少需要對容器有 ReadWriteDeleteListAddCreate 權限),或複製目前的帳戶金鑰。
  5. 開啟 NetDrive → 點選受影響的 Azure Blob 磁碟機上的齒輪圖示以開啟其連線設定,並將新憑證貼到Authentication欄位。
  6. 點選Save,然後重新連線磁碟機。

檢查二:儲存體帳戶防火牆規則

如果憑證是最新的,但磁碟機仍無法驗證,接下來該檢查的就是儲存體帳戶的網路規則。

  1. 在 Azure 入口網站中,開啟該儲存體帳戶的Networking → Firewalls and virtual networks
  2. 如果設定為Enabled from selected virtual networks and IP addresses,除非明確允許該機器的公開 IP,否則 NetDrive 的請求會被拒絕。
  3. 找出該機器目前的公開 IP——透過瀏覽器搜尋或命令列工具都能輕鬆查到,而且值得直接確認,而不是假設它沒有變動。

檢查機器的公開 IP 位址,以便與 Azure 儲存體帳戶防火牆允許清單比對

  1. 將該 IP 加入Firewall → Address range,或者如果你的環境不需要限制 IP,可將規則切換為允許所有網路。
  2. 在 Azure 中儲存網路規則變更——可能需要一兩分鐘才會生效——然後在 NetDrive 中重試連線。

住家或辦公室網路連線使用動態 IP 是這裡常見的慣犯:防火牆規則在新增時是正確的,但之後 ISP 又分配了新的位址。

確認修復結果

更新憑證或防火牆規則後,重新連線磁碟機,並確認它確實在提供資料,而不只是在磁碟機清單中顯示「Connected」。

NetDrive 磁碟機管理員在重新連線後確認雲端磁碟機的連線狀態

在檔案總管或 Finder 中開啟已掛載的磁碟機,列出一個你認得的、有檔案的資料夾。如果目錄清單能正常顯示,且檔案能順利開啟,就代表憑證與網路路徑都正常運作。

總結

NetDrive 中的 Azure Blob 驗證失敗,追根究柢多半是 SAS 權杖過期、帳戶金鑰輪替或儲存體帳戶防火牆規則所致,而非最初設定時的輸入錯誤。先檢查憑證,因為排除起來比較快,再進一步檢查網路設定。若要瞭解初次連線的完整步驟,請參閱在 Windows 上使用 NetDrive 掛載 Azure Blob 儲存體;如果你的儲存體帳戶使用的是 Azure File Storage 而非 Blob,在 Windows 上掛載 Azure File Storage涵蓋了相對應的設定方式。

— Alex, NetDrive