Připojení do Služby Azure Blob Storage pomocí protokolu SFTP (File Transfer Protocol)

Pomocí klienta SFTP se můžete bezpečně připojit ke koncovému bodu služby Blob Storage účtu služby Azure Storage a pak nahrát a stáhnout soubory. V tomto článku se dozvíte, jak povolit SFTP a pak se připojit ke službě Blob Storage pomocí klienta SFTP.

Další informace o podpoře SFTP pro Azure Blob Storage najdete v tématu SSH File Transfer Protocol (SFTP) ve službě Azure Blob Storage.

Předpoklady

  • Účet úložiště objektů blob bloku úrovně Premium úrovně Standard pro obecné účely verze 2 nebo Premium. SFTP můžete také povolit při vytváření účtu. Další informace o těchto typech účtů úložiště najdete v přehledu účtu úložiště.

  • Musí být povolena funkce hierarchického oboru názvů účtu. Pokud chcete povolit funkci hierarchického oboru názvů, přečtěte si téma Upgrade služby Azure Blob Storage s využitím funkcí Azure Data Lake Storage Gen2.

  • Pokud se připojujete z místní sítě, ujistěte se, že klient umožňuje odchozí komunikaci přes port 22 používaný protokolem SFTP.

Povolení podpory SFTP

V této části se dozvíte, jak povolit podporu SFTP pro existující účet úložiště. Pokud chcete zobrazit šablonu Azure Resource Manageru, která umožňuje podporu SFTP při vytváření účtu, přečtěte si téma Vytvoření účtu služby Azure Storage a kontejneru objektů blob přístupného pomocí protokolu SFTP v Azure. Chcete-li zobrazit rozhraní REST API místního uživatele a odkazy na rozhraní .NET, přečtěte si téma Místní uživatelé a třída LocalUser.

  1. Na webu Azure Portal přejděte ke svému účtu úložiště.

  2. V části Nastavení vyberte SFTP.

    Poznámka:

    Tato možnost se zobrazí jenom v případě, že je povolená funkce hierarchického oboru názvů účtu. Pokud chcete povolit funkci hierarchického oboru názvů, přečtěte si téma Upgrade služby Azure Blob Storage s využitím funkcí Azure Data Lake Storage Gen2.

  3. Vyberte Povolit SFTP.

    Enable SFTP button

    Poznámka:

    Pokud se na stránce konfigurace SFTP nezobrazí žádní místní uživatelé, budete muset přidat aspoň jednu z nich. Pokud chcete přidat místní uživatele, přečtěte si další část.

Zakázání podpory SFTP

V této části se dozvíte, jak zakázat podporu SFTP pro existující účet úložiště. Vzhledem k tomu, že podpora SFTP způsobuje hodinové náklady, zvažte zakázání podpory SFTP, pokud klienti k přenosu dat aktivně nepoužívají SFTP.

  1. Na webu Azure Portal přejděte ke svému účtu úložiště.

  2. V části Nastavení vyberte SFTP.

  3. Vyberte Zakázat SFTP.

    Screenshot of the disable SFTP button.

Konfigurace oprávnění

Azure Storage nepodporuje sdílený přístupový podpis (SAS) ani ověřování Microsoft Entra pro přístup ke koncovému bodu SFTP. Místo toho musíte použít identitu označovanou jako místní uživatel, kterou je možné zabezpečit pomocí hesla vygenerovaného službou Azure nebo dvojicí klíčů SSH. Pokud chcete udělit přístup k připojenému klientovi, musí mít účet úložiště identitu přidruženou k páru hesel nebo klíčů. Tato identita se nazývá místní uživatel.

V této části se dozvíte, jak vytvořit místního uživatele, zvolit metodu ověřování a přiřadit oprávnění pro tohoto místního uživatele.

Další informace o modelu oprávnění SFTP najdete v tématu Model oprávnění SFTP.

Tip

V této části se dozvíte, jak nakonfigurovat místní uživatele pro existující účet úložiště. Pokud chcete zobrazit šablonu Azure Resource Manageru, která v rámci vytváření účtu konfiguruje místního uživatele, přečtěte si téma Vytvoření účtu služby Azure Storage a kontejneru objektů blob přístupného pomocí protokolu SFTP v Azure.

  1. Na webu Azure Portal přejděte ke svému účtu úložiště.

  2. V části Nastavení vyberte SFTP a pak vyberte Přidat místního uživatele.

    Add local users button

  3. V podokně Přidat místní konfiguraci uživatele přidejte jméno uživatele a pak vyberte metody ověřování, které chcete přidružit k tomuto místnímu uživateli. Můžete přidružit heslo nebo klíč SSH.

    Důležité

    I když můžete povolit obě formy ověřování, klienti SFTP se můžou připojit pouze jedním z nich. Vícefaktorové ověřování, kdy se pro úspěšné ověření nevyžaduje platné heslo i platný pár veřejného a privátního klíče.

    Pokud vyberete heslo SSH, zobrazí se vaše heslo, až dokončíte všechny kroky v podokně Přidat místní konfiguraci uživatele . Hesla SSH se generují v Azure a mají délku minimálně 32 znaků.

    Pokud vyberete pár klíčů SSH, vyberte Zdroj veřejného klíče a určete zdroj klíče.

    Local user configuration pane

    Následující tabulka popisuje jednotlivé možnosti zdroje klíčů:

    Možnost Pokyny
    Vygenerování nového páru klíčů Tuto možnost použijte k vytvoření nového páru veřejného a privátního klíče. Veřejný klíč je uložený v Azure s názvem klíče, který zadáte. Privátní klíč lze stáhnout po úspěšném přidání místního uživatele.
    Použití existujícího klíče uloženého v Azure Tuto možnost použijte, pokud chcete použít veřejný klíč, který je již uložený v Azure. Pokud chcete najít existující klíče v Azure, přečtěte si téma Seznam klíčů. Když se klienti SFTP připojují ke službě Azure Blob Storage, musí tito klienti poskytnout privátní klíč přidružený k tomuto veřejnému klíči.
    Použití existujícího veřejného klíče Tuto možnost použijte, pokud chcete nahrát veřejný klíč uložený mimo Azure. Pokud nemáte veřejný klíč, ale chcete ho vygenerovat mimo Azure, přečtěte si téma Generování klíčů pomocí nástroje ssh-keygen.

    Poznámka:

    Možnost existujícího veřejného klíče aktuálně podporuje pouze veřejné klíče ve formátu OpenSSH. Zadaný klíč musí mít tento formát: <key type> <key data>. Například klíče RSA by vypadaly nějak takto: ssh-rsa AAAAB3N.... Pokud je klíč v jiném formátu, ssh-keygen můžete ho například použít k převodu do formátu OpenSSH.

  4. Výběrem možnosti Další otevřete kartu Oprávnění kontejneru v podokně konfigurace.

  5. Na kartě Oprávnění kontejneru vyberte kontejnery, které chcete zpřístupnit tomuto místnímu uživateli. Pak vyberte, které typy operací chcete povolit, aby tento místní uživatel provedl.

    Container permissions tab

    Důležité

    Místní uživatel musí mít alespoň jedno oprávnění ke kontejneru, ke kterému se připojuje, jinak pokus o připojení selže.

  6. Do textového pole Domovského adresáře zadejte název kontejneru nebo cestu k adresáři (včetně názvu kontejneru), která bude výchozím umístěním přidruženým k tomuto místnímu uživateli.

    Další informace o domovském adresáři najdete v tématu Domovský adresář.

  7. Vyberte tlačítko Přidat a přidejte místního uživatele.

    Pokud jste povolili ověřování heslem, po přidání místního uživatele se vygenerované heslo Azure zobrazí v dialogovém okně.

    Důležité

    Toto heslo nebudete moct načíst později, proto ho nezapomeňte zkopírovat a pak ho uložte na místo, kde ho najdete.

    Pokud jste se rozhodli vygenerovat nový pár klíčů, zobrazí se výzva ke stažení privátního klíče tohoto páru klíčů po přidání místního uživatele.

    Poznámka:

    Místní uživatelé mají sharedKey vlastnost, která se používá pouze pro ověřování SMB.

Připojení klienta SFTP

K bezpečnému připojení a přenosu souborů můžete použít libovolného klienta SFTP. Následující snímek obrazovky ukazuje relaci Prostředí Windows PowerShell, která k připojení používá ověřování pomocí open SSH a hesla a pak nahraje soubor s názvem logfile.txt.

Connect with Open SSH

Poznámka:

Uživatelské jméno SFTP je storage_account_name.username. V příkladu storage_account_name výše je contoso4 a username je "contosouser". Kombinované uživatelské jméno se stane contoso4.contosouser pro příkaz SFTP.

Poznámka:

Může se zobrazit výzva k důvěryhodnosti klíče hostitele. Tady jsou publikovány platné klíče hostitele.

Po dokončení přenosu můžete soubor zobrazit a spravovat na webu Azure Portal.

Uploaded file appears in storage account

Poznámka:

Azure Portal používá rozhraní REST API pro objekty blob a rozhraní REST API Data Lake Storage Gen2. Schopnost pracovat s nahraným souborem na webu Azure Portal ukazuje interoperabilitu mezi SFTP a REST.

Pokyny k připojení a přenosu souborů najdete v dokumentaci klienta SFTP.

Připojení pomocí vlastní domény

Při použití vlastních domén je připojovací řetězec myaccount.myuser@customdomain.com. Pokud pro uživatele nebyl zadán domovský adresář, je to myaccount.mycontainer.myuser@customdomain.com.

Důležité

Ujistěte se, že váš poskytovatel DNS nepožádá o proxy požadavky. Zprostředkovávání může při pokusu o připojení způsobit vypršení časového limitu.

Připojení s využitím privátního koncového bodu

Při použití privátního koncového bodu je myaccount.myuser@myaccount.privatelink.blob.core.windows.netpřipojovací řetězec . Pokud pro uživatele nebyl zadán domovský adresář, je to myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.

Poznámka:

Ujistěte se, že změníte konfiguraci sítě na Povoleno z vybraných virtuálních sítí a IP adres, a vyberte privátní koncový bod, jinak bude běžný koncový bod SFTP stále veřejně přístupný.

Aspekty sítí

SFTP je služba na úrovni platformy, takže port 22 se otevře i v případě, že je možnost účtu zakázaná. Pokud není nakonfigurovaný přístup SFTP, všechny požadavky obdrží odpojení od služby. Při použití protokolu SFTP můžete chtít omezit veřejný přístup prostřednictvím konfigurace brány firewall, virtuální sítě nebo privátního koncového bodu. Tato nastavení se vynucují na aplikační vrstvě, což znamená, že nejsou specifická pro protokol SFTP a budou mít vliv na připojení ke všem koncovým bodům služby Azure Storage. Další informace o bránách firewall a konfiguraci sítě najdete v tématu Konfigurace bran firewall služby Azure Storage a virtuálních sítí.

Poznámka:

Nástroje pro audit, které se pokoušejí určit podporu protokolu TLS ve vrstvě protokolu, můžou kromě minimální požadované verze vracet i minimální požadovanou verzi při přímém spuštění na koncovém bodu účtu úložiště. Další informace najdete v tématu Vynucení minimální požadované verze protokolu TLS (Transport Layer Security) pro požadavky na účet úložiště.

Viz také