授權 SSH File Transfer Protocol (SFTP) 用戶端存取 Azure Blob 儲存體

本文說明如何授權存取 SFTP 用戶端,讓您可以使用 SFTP 用戶端安全地連線到 Azure 儲存體 帳戶的 Blob 記憶體端點。

若要深入了解 Azure Blob 儲存體中的 SFTP 支援,請參閱 Azure Blob 儲存體中的 SSH 檔案傳輸通訊協定 (SFTP)。

必要條件

建立本機使用者帳戶

Azure 儲存體 不支援共用存取簽章(SAS)來存取 SFTP 端點。 相反地,你必須使用本地使用者身份或 Microsoft Entra ID 身份。 本機使用者可透過 Azure 產生的密碼或安全殼層 (SSH) 金鑰對受到保護。 若要授與連接用戶端的存取權,儲存體帳戶必須具有與密碼或金鑰組相關聯的身分識別。 該身分識別稱為本機使用者。 若要了解如何使用 Microsoft Entra ID,請參閱使用 Microsoft Entra ID 授權 SFTP 存取 Blob。

在本節中,您將學習如何建立本地使用者、選擇驗證方法,以及為該本地使用者分配權限。

若要深入了解 SFTP 權限模型,請參閱 SFTP 權限模型。

提示

本節說明如何為現有的儲存體帳戶設定本機使用者。 若要檢視在建立帳戶過程中設定本機使用者的 Azure Resource Manager 範本,請參閱在 Azure 上建立可以使用 SFTP 通訊協定存取的 Azure 儲存體帳戶和 Blob 容器。

選取驗證方法

您可以使用密碼或安全殼層 (SSH) 公開-私鑰組,驗證從 SFTP 用戶端連線的本機使用者。

重要

雖然您可以同時啟用這兩種驗證方法,但 SFTP 用戶端只能使用其中一種進行連線。 不支援多重驗證,即成功驗證需同時擁有有效密碼及有效的公私鑰配對。

  1. 在 Azure 入口網站中,前往您的儲存帳戶。

  2. 在 [設定] 下方,選取 SFTP,然後選取 [新增本機使用者]。

    [新增本機使用者] 按鈕的螢幕快照。

  3. 在 新增本地使用者 設定欄目中,輸入使用者名稱,然後選擇你想與該本地使用者關聯的認證方式。 您可以關聯密碼和/或 SSH 金鑰。

    如果你選擇 SSH 密碼,當你完成「 新增本地使用者 設定」面板的所有步驟時,你的密碼就會出現。 Azure 會產生 SSH 密碼,且密碼長度至少是 32 個字元。

    如果你選擇 SSH 金鑰對,請選擇 公鑰來源 來指定金鑰來源。

    [本機使用者設定] 窗格的螢幕快照。

    下表說明每個金鑰來源選項:

    選項 指引
    產生新的金鑰組 使用此選項以建立新的公開/私密金鑰組。 公開金鑰會以您提供的金鑰名稱儲存在 Azure 中。 你可以在新增本地使用者後下載私鑰。
    使用儲存在 Azure 中的現有金鑰 如果你想使用已經儲存在 Azure 中的公開金鑰,請使用這個選項。 若要在 Azure 中尋找現有的金鑰,請參閱清單金鑰。 當 SFTP 用戶端連線到 Azure Blob 儲存體時,這些用戶端必須提供與這個公開金鑰相關聯的私密金鑰。
    使用現有的公開金鑰 如果你想上傳儲存在 Azure 外的公開金鑰,請使用這個選項。 如果你沒有公開金鑰,但想在Azure外產生公鑰,請參考 用 ssh-keygen 生成金鑰。

    重要

    僅支援 OpenSSH 格式化的公鑰。 您提供的金鑰必須使用下列格式: <key type> <key data>。 例如,RSA 鍵長得很像這樣: ssh-rsa AAAAB3N...。 如果你的金鑰格式不同,請使用像 這樣的 ssh-keygen 工具將其轉換成 OpenSSH 格式。

  4. 選取 [下一步 ] 以開啟 組態窗格的 [許可權 ] 索引標籤。

授與容器權限

選擇要授與存取權的容器,以及您想要提供的存取層級。 這些權限適用於容器中的所有目錄和子目錄。 若要深入瞭解每個容器許可權,請參閱 容器許可權。

如果您想要在檔案和目錄層級授權存取權,您可以啟用 ACL 授權。

  1. 在 [ 許可權] 索引標籤中,選取您想要提供給此本機使用者的容器。 然後,選取您要讓這個本機使用者執行的作業類型。

    SFTP 本地使用者權限標籤的截圖,用於選擇容器存取權限。

    重要

    本機使用者至少必須具備一項容器權限,或具備對該容器主目錄的 ACL 權限。 否則,嘗試連接該容器會失敗。

  2. 如果你想透過與此容器中檔案和目錄相關的存取控制清單(ACL)授權存取,請選擇 「允許 ACL 授權 」的核取方塊。 若要深入瞭解如何使用 ACL 來授權 SFTP 用戶端,請參閱 ACL。

    您也可以透過將此本機使用者指派給群組 ID,將該使用者新增至群組。 該識別碼可以是任何您想要的數字或編號方式。 群組使用者讓你可以新增或移除使用者,而不需要重新套用 ACL 到整個目錄結構。 相反地,您可以只新增或移除群組中的使用者。

    群組標識碼和 ACL 授權複選框的螢幕快照。

    注意

    系統會自動產生本機使用者的使用者標識碼。 您無法修改此識別碼,但您可以在建立本機使用者後,於 編輯本機使用者 窗格中重新開啟該使用者,以查看該識別碼。

  3. 在 Home 目錄 編輯框中,輸入容器名稱或與該本地使用者相關的預設位置的目錄路徑(包括容器名稱)(例如: mycontainer/mydirectory)。

    若要深入了解主目錄,請參閱主目錄。

  4. 選擇 新增 按鈕來新增本地使用者。

    如果你啟用了密碼驗證,當本地使用者加入後,Azure 產生的密碼會出現在對話框中。

    重要

    您無法在日後擷取此密碼,因此請務必複製密碼,然後將它儲存在您可以找到的位置。

    如果你選擇產生新的金鑰對,當本地使用者加入後,系統會提示你下載該金鑰對的私鑰。

    注意

    本機使用者具有一個僅用於 SMB 驗證的 sharedKey 屬性。

下一步

  • 使用SFTP用戶端連線到 Azure Blob 儲存體。 請參閱 從 SFTP 用戶端連線。