SSH-fájlátviteli protokoll (SFTP) támogatása az Azure Blob Storage-hoz
A Blob Storage mostantól támogatja az SSH-fájlátviteli protokollt (SFTP). Ez a támogatás lehetővé teszi, hogy biztonságosan csatlakozzon a Blob Storage-hoz egy SFTP-ügyfél használatával, lehetővé téve az SFTP használatát a fájlhozzáféréshez, a fájlátvitelhez és a fájlkezeléshez.
Íme egy videó, amely további információkat közöl erről.
Az Azure biztonságos adatátvitelt tesz lehetővé a Blob Storage-fiókokba az Azure Blob Service REST API, az Azure SDK-k és az olyan eszközök használatával, mint az AzCopy. Az örökölt számítási feladatok azonban gyakran használnak hagyományos fájlátviteli protokollokat, például az SFTP-t. Az egyéni alkalmazásokat frissítheti a REST API-k és az Azure SDK-k használatára, de csak jelentős kódmódosításokkal.
A funkció megjelenése előtt, ha SFTP-vel szeretné továbbítani az adatokat az Azure Blob Storage-ba, akkor vagy egy harmadik féltől származó terméket kell vásárolnia, vagy saját megoldást kell vezénylnie. Az egyéni megoldásokhoz virtuális gépeket (VM-eket) kell létrehoznia az Azure-ban egy SFTP-kiszolgáló üzemeltetéséhez, majd egy összetett architektúra frissítéséhez, javításához, kezeléséhez, méretezéséhez és karbantartásához.
Az Azure Blob Storage SFTP-támogatásával mostantól egyetlen kattintással engedélyezheti a Blob Storage-fiókok SFTP-támogatását. Ezután beállíthat helyi felhasználói identitásokat a hitelesítéshez, hogy az SFTP-vel csatlakozzon a tárfiókhoz a 22-s porton keresztül.
Ez a cikk az Azure Blob Storage SFTP-támogatását ismerteti. Ha tudni szeretné, hogyan engedélyezheti az SFTP-t a tárfiókhoz, olvassa el a Csatlakozás az Azure Blob Storage-hoz az SSH-fájlátviteli protokoll (SFTP) használatával című témakört.
Feljegyzés
Az SFTP egy platformszintű szolgáltatás, így a 22-es port akkor is megnyílik, ha a fiókbeállítás le van tiltva. Ha az SFTP-hozzáférés nincs konfigurálva, akkor minden kérés leválasztódik a szolgáltatásról.
SFTP és a hierarchikus névtér
Az SFTP-támogatáshoz engedélyezni kell a hierarchikus névteret. A hierarchikus névtér ugyanúgy rendezi az objektumokat (fájlokat) könyvtárak és alkönyvtárak hierarchiájába, mint a számítógépen lévő fájlrendszer. A hierarchikus névtér lineárisan skálázható, és nem csökkenti az adatkapacitást vagy a teljesítményt.
A hierarchikus névtér különböző protokollokat támogat. Az SFTP az elérhető protokollok egyike. Az alábbi képen több protokollon és REST API-on keresztüli tárelérés látható. A könnyebb olvashatóság érdekében ez a kép a REST kifejezést használja az Azure Data Lake Storage REST API-ra való hivatkozáshoz.
SFTP-engedélymodell
Az SFTP-ügyfelek nem engedélyezhetők Microsoft Entra-identitásokkal. Az SFTP ehelyett az identitáskezelés új, helyi felhasználóknak nevezett formáját használja.
A helyi felhasználóknak jelszóval vagy SSH-val kell hitelesítő adatokat használniuk a hitelesítéshez. Egy tárfiókhoz legfeljebb 8000 helyi felhasználó lehet.
A hozzáférési engedélyek beállításához hozzon létre egy helyi felhasználót, és válassza ki a hitelesítési módszereket. Ezután a fiók minden tárolójához megadhatja, hogy milyen szintű hozzáférést szeretne biztosítani a felhasználónak.
Figyelemfelhívás
A helyi felhasználók nem működnek együtt más Azure Storage-engedélymodellekkel, például az RBAC-vel (szerepköralapú hozzáférés-vezérlés) és az ABAC-vel (attribútumalapú hozzáférés-vezérléssel). A hozzáférés-vezérlési listák (ACL-ek) az előzetes verzió szintjén támogatottak a helyi felhasználók számára.
Jeff például csak olvasási engedéllyel rendelkezik (RBAC-n vagy ABAC-n keresztül szabályozható) a Microsoft Entra-identitáson keresztül a tároló con1-ben tárolt foo.txt fájlhoz. Ha Jeff NFS-en keresztül éri el a tárfiókot (ha nem gyökér-/szuperfelhasználóként van csatlakoztatva), a Blob REST-hez vagy a Data Lake Storage REST-hez, a rendszer kikényszeríti ezeket az engedélyeket. Ha azonban Jeff rendelkezik egy helyi felhasználói identitással is, amely törlési engedéllyel rendelkezik a tároló con1-ben lévő adatokhoz, akkor a helyi felhasználói identitás használatával törölheti foo.txt az SFTP-vel.
Az SFTP támogatásának engedélyezése nem akadályozza meg, hogy más típusú ügyfelek használják a Microsoft Entra-azonosítót. Azok a felhasználók, amelyek az Azure Portal, az Azure CLI, az Azure PowerShell-parancsok, az AzCopy, valamint az Azure SDK-k és az Azure REST API-k használatával férnek hozzá a Blob Storage-hoz, továbbra is használhatják az Azure Blob Storage biztonsági beállításának teljes szélességét a hozzáférés engedélyezéséhez. További információ: Hozzáférés-vezérlési modell az Azure Data Lake Storage-ban.
Hitelesítési módszerek
Az SFTP-n keresztül csatlakozó helyi felhasználókat jelszóval vagy egy nyilvános-privát SSH-kulcspair használatával hitelesítheti. A hitelesítés mindkét formáját konfigurálhatja, és lehetővé teheti a helyi felhasználók számára, hogy kiválasszanak egyet. A többtényezős hitelesítés azonban nem támogatott, mivel a sikeres hitelesítéshez érvényes jelszóra és érvényes nyilvános-titkos kulcspárra is szükség van.
Jelszavak
Nem állíthat be egyéni jelszavakat, inkább az Azure hoz létre egyet. Ha a jelszóhitelesítést választja, a rendszer a helyi felhasználó konfigurálásának befejezése után adja meg a jelszót. Győződjön meg arról, hogy másolja a jelszót, és mentse olyan helyre, ahol később megtalálja. Ezt a jelszót nem fogja tudni újból lekérni az Azure-ból. Ha elveszíti a jelszót, létre kell hoznia egy újat. Biztonsági okokból nem állíthatja be a jelszót.
SSH-kulcspárok
A nyilvános-privát kulcspár a Secure Shell (SSH) hitelesítésének leggyakoribb formája. A titkos kulcs titkos, és csak a helyi felhasználó számára ismert. A nyilvános kulcs tárolása az Azure-ban történik. Amikor egy SSH-ügyfél helyi felhasználói identitással csatlakozik a tárfiókhoz, egy nyilvános kulccsal és aláírással ellátott üzenetet küld. Az Azure ellenőrzi az üzenetet, és ellenőrzi, hogy a felhasználót és a kulcsot felismeri-e a tárfiók. További információ: Az SSH és a kulcsok áttekintése.
Ha privát-nyilvános kulcspáros hitelesítést választ, létrehozhat egyet, használhat egy már az Azure-ban tároltat, vagy megadhatja az Azure-nak egy meglévő nyilvános-privát kulcspár nyilvános kulcsát. Helyi felhasználónként legfeljebb 10 nyilvános kulcs lehet.
Tárolóengedélyek
Tárolószintű engedélyek esetén kiválaszthatja, hogy mely tárolókhoz szeretne hozzáférést biztosítani, és milyen hozzáférési szintet szeretne biztosítani (olvasási, írási, listázási, törlési, létrehozási, tulajdonosi és módosítási engedélyek). Ezek az engedélyek a tároló összes könyvtárára és alkönyvtárára vonatkoznak. Minden helyi felhasználónak 100 tárolóhoz adhat hozzáférést. A tárolóengedélyek helyi felhasználó létrehozása után is frissíthetők. Az alábbi táblázat részletesebben ismerteti az egyes engedélyeket.
Engedély | Szimbólum | Leírás |
---|---|---|
Olvasás | r | |
Írás | w | |
Lista | l | |
Törlés | d | |
Létrehozás | c | |
Tulajdonos módosítása | o | |
Engedélyek módosítása | p |
Ha írási műveleteket hajt végre a blobokon az alkönyvtárakban, olvasási engedély szükséges a címtár megnyitásához és a blobtulajdonságok eléréséhez.
Hozzáférés-vezérlési lista (ACL-ek)
Fontos
Ez a funkció jelenleg előzetes verzióban érhető el. A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Az ACL-ek lehetővé teszik a "finomszemcsés" hozzáférés biztosítását, például írási hozzáférést egy adott könyvtárhoz vagy fájlhoz. Az ACL-ekről további információt az Azure Data Lake Storage hozzáférés-vezérlési listáiban (ACL-ekben) talál.
Ha helyi felhasználót szeretne engedélyezni ACL-ek használatával, először engedélyeznie kell az ACL-engedélyezést a helyi felhasználó számára. Lásd: Engedély megadása tárolókhoz.
Feljegyzés
Bár az ACL számos különböző identitástípus jogosultsági szintjét definiálhatja, csak a tulajdonos felhasználó, a tulajdonoscsoport és az összes többi felhasználói identitás használható a helyi felhasználók engedélyezéséhez. Az elnevezett felhasználók és az elnevezett csoportok még nem támogatottak a helyi felhasználói engedélyezéshez.
Az alábbi táblázat az ACL-engedélyezéshez használt helyi felhasználó tulajdonságait ismerteti.
Tulajdonság | Leírás |
---|---|
UserId | |
Csoportazonosító | |
AllowAclAuthorization |
Az ACL-engedélyek kiértékelése
Az ACL-ek kiértékelése csak akkor történik meg, ha a helyi felhasználó nem rendelkezik a művelet végrehajtásához szükséges tárolóengedélyekkel. A hozzáférési engedélyek rendszer általi kiértékelésének módja miatt nem használhat ACL-t a tárolószintű engedélyek által már megadott hozzáférés korlátozására. Ennek az az oka, hogy a rendszer először kiértékeli a tárolóengedélyeket, és ha ezek az engedélyek megfelelő hozzáférési engedélyt adnak, a rendszer figyelmen kívül hagyja az ACL-eket.
Fontos
Ahhoz, hogy egy helyi felhasználó olvasási vagy írási hozzáférést biztosítson egy fájlhoz, a helyi felhasználónak végrehajtási engedélyeket kell adnia a tároló gyökérmappájára és a fájlhoz vezető mappák hierarchiájának minden mappájára. Ha a helyi felhasználó a tulajdonos vagy a tulajdonos csoport, akkor végrehajtási engedélyeket alkalmazhat a tulajdonos felhasználóra vagy a tulajdonoscsoportra. Ellenkező esetben a Végrehajtási engedélyt minden más felhasználóra alkalmaznia kell.
ACL-ek módosítása SFTP-ügyféllel
Bár az ACL-engedélyek bármely támogatott Azure-eszközzel vagy SDK-val módosíthatók, a helyi felhasználók is módosíthatják őket. Ahhoz, hogy egy helyi felhasználó módosíthassa az ACL-engedélyeket, először meg kell adnia a helyi felhasználó Modify Permissions
engedélyét. Lásd: Engedély megadása tárolókhoz.
A helyi felhasználók csak a tulajdonos felhasználó, a tulajdonoscsoport és az ACL összes többi felhasználójának engedélyszintje módosíthatók. Az ACL-bejegyzések hozzáadása vagy módosítása nevesített felhasználókhoz, elnevezett csoportokhoz és nevesített biztonsági tagokhoz még nem támogatott.
A helyi felhasználók módosíthatják a tulajdonos felhasználó és a tulajdonoscsoport azonosítóját is. Valójában csak a helyi felhasználók módosíthatják a tulajdonos felhasználó vagy a tulajdonoscsoport azonosítóját helyi felhasználói azonosítóra. Egy Azure-eszköz vagy SDK használatával még nem hivatkozhat helyi felhasználói azonosítóra az ACL-ben. A címtár vagy blob tulajdonosi vagy tulajdonosi csoportjának módosításához a helyi felhasználónak engedélyt kell adnia Modify Ownership
.
Példák megtekintéséhez tekintse meg egy fájl vagy könyvtár ACL-jének módosítása című témakört.
Kezdőkönyvtár
Az engedélyek konfigurálása során beállíthatja a helyi felhasználó otthoni könyvtárát. Ha nincs más tároló megadva egy SFTP-kapcsolatkérésben, akkor a kezdőkönyvtár az a könyvtár, amelyhez a felhasználó alapértelmezés szerint csatlakozik. Vegyük például az Open SSH használatával küldött alábbi kérést. Ez a kérés nem ad meg tároló- vagy könyvtárnevet a sftp
parancs részeként.
sftp myaccount.myusername@myaccount.blob.core.windows.net
put logfile.txt
Ha egy felhasználó mycontainer/mydirectory
kezdőkönyvtárát állítja be, akkor az adott könyvtárhoz csatlakoznak. Ezután a logfile.txt
fájl fel lesz töltve a fájlba mycontainer/mydirectory
. Ha nem állította be a kezdőkönyvtárat, a kapcsolati kísérlet sikertelen lesz. Ehelyett a csatlakozó felhasználóknak meg kell adniuk egy tárolót a kéréssel együtt, majd SFTP-parancsokkal kell navigálniuk a célkönyvtárhoz a fájl feltöltése előtt. Az alábbi példa a következőket mutatja be:
sftp myaccount.mycontainer.myusername@myaccount.blob.core.windows.net
cd mydirectory
put logfile.txt
Feljegyzés
A kezdőkönyvtár csak az a kezdeti könyvtár, amelyben a csatlakozó helyi felhasználó található. A helyi felhasználók a megfelelő tárolóengedélyek birtokában a tároló bármely más elérési útját is elérhetik, amelyhez csatlakoznak.
Támogatott algoritmusok
Számos különböző SFTP-ügyfél használatával csatlakozhat biztonságosan és vihet át fájlokat. A csatlakozó ügyfeleknek az alábbi táblázatban megadott algoritmusokat kell használniuk.
Típus | Algoritmus |
---|---|
Gazdagépkulcs 1 | rsa-sha2-256 2 rsa-sha2-512 2 ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 |
Kulcscsere | ecdh-sha2-nistp384 ecdh-sha2-nistp256 diffie-hellman-group14-sha256 diffie-hellman-group16-sha512 diffie-hellman-group-exchange-sha256 |
Rejtjelek/titkosítás | aes128-gcm@openssh.com aes256-gcm@openssh.com aes128-ctr aes192-ctr aes256-ctr |
Integritás/MAC | hmac-sha2-256 hmac-sha2-512 hmac-sha2-256-etm@openssh.com hmac-sha2-512-etm@openssh.com |
Nyilvános kulcs | ssh-rsa 2 rsa-sha2-256 rsa-sha2-512 ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 |
1 A közzétett gazdagépkulcsok itt találhatók. 2 RSA kulcsnak legalább 2048 bit hosszúságúnak kell lennie.
Az Azure Blob Storage-hoz elérhető SFTP-támogatás kriptográfiai algoritmusokra vonatkozó támogatása biztonsági megfontolásokból korlátozott. Nyomatékosan javasoljuk az ügyfelek számára a Microsoft Biztonságfejlesztési életciklus (SDL) jóváhagyott algoritmusainak használatát az adatok biztonságos eléréséhez.
Jelenleg a Microsoft Security SDL-nek megfelelően nem tervezzük támogatni a következőket: ssh-dss
, , diffie-hellman-group14-sha1
, diffie-hellman-group1-sha1
, diffie-hellman-group-exchange-sha1
, hmac-sha1
hmac-sha1-96
. Az algoritmusok támogatása a jövőben változhat.
Csatlakozás az SFTP-vel
Első lépésként engedélyezze az SFTP-támogatást, hozzon létre egy helyi felhasználót, és rendeljen hozzá engedélyeket a helyi felhasználóhoz. Ezután bármilyen SFTP-ügyféllel biztonságosan csatlakozhat, majd fájlokat továbbíthat. Részletes útmutatásért lásd : Csatlakozás az Azure Blob Storage-hoz az SSH-fájlátviteli protokoll (SFTP) használatával.
Hálózati szempontok
Az SFTP egy platformszintű szolgáltatás, így a 22-es port akkor is megnyílik, ha a fiókbeállítás le van tiltva. Ha az SFTP-hozzáférés nincs konfigurálva, akkor minden kérés megszakad a szolgáltatástól. Az SFTP használatakor érdemes lehet korlátozni a nyilvános hozzáférést tűzfal, virtuális hálózat vagy privát végpont konfigurációjával. Ezek a beállítások az alkalmazásrétegen vannak kényszerítve, ami azt jelenti, hogy nem az SFTP-hez tartoznak, és hatással lesznek az összes Azure Storage-végponttal való kapcsolatra. További információ a tűzfalakról és a hálózati konfigurációról: Azure Storage-tűzfalak és virtuális hálózatok konfigurálása.
Feljegyzés
A protokollréteg TLS-támogatásának meghatározására szolgáló naplózási eszközök a minimálisan szükséges verzió mellett TLS-verziókat is visszaadhatnak, ha közvetlenül a tárfiók végpontján futnak. További információ: A Transport Layer Security (TLS) minimálisan szükséges verziójának kényszerítése tárfiókra irányuló kérelmek esetén.
Ismert támogatott ügyfelek
Az alábbi ügyfelek kompatibilis algoritmusokkal rendelkeznek az Azure Blob Storage SFTP-jével. Ha problémát tapasztal a csatlakozással, tekintse meg az Azure Blob Storage SSH-fájlátviteli protokoll (SFTP) támogatásával kapcsolatos korlátozásokat és ismert problémákat. Ez a lista nem teljes, és idővel változhat.
- AsyncSSH 2.1.0+
- Axway
- Cyberduck 7.8.2+
- edtFTPjPRO 7.0.0+
- FileZilla 3.53.0+
- Five9
- libssh 0.9.5+
- Maverick Legacy 1.7.15+
- Moveit 12.7
- Öszvér 2.1.2+
- OpenSSH 7.4+
- paramiko 2.8.1+
- phpseclib 1.0.13+
- PuTTY 0,74+
- QualysML 12.3.41.1+
- RebexSSH 5.0.7119.0+
- Salesforce
- ssh2js 0.1.20+
- sshj 0.27.0+
- SSH.NET 2020.0.0+
- WinSCP 5.10+
- Workday
- XFB. Átjáró
- JSCH 0.1.54+
- curl 7.85.0+
- AIX1
- MobaXterm v21.3
1 A beállítást a következőre kell állítani AllowPKCS12KeystoreAutoOpen
: no
.
Korlátozások és ismert problémák
Árképzés és számlázás
Az SFTP engedélyezése óránkénti költséggel jár. A legfrissebb díjszabási információkért tekintse meg az Azure Blob Storage díjszabását.
Tipp.
A passzív díjak elkerülése érdekében fontolja meg az SFTP engedélyezését csak akkor, ha aktívan használja az adatok átvitelére. Az SFTP-támogatás engedélyezésével és letiltásával kapcsolatos útmutatásért lásd : Csatlakozás az Azure Blob Storage-hoz az SSH-fájlátviteli protokoll (SFTP) használatával.
A mögöttes tárfiók tranzakciós, tárolási és hálózati árai érvényesek. A rendszer minden SFTP-tranzakciót olvasási, írási vagy egyéb tranzakcióvá konvertál a tárfiókokon. Ez magában foglalja az összes SFTP-parancsot és API-hívást. További információ: Az Azure Blob Storage teljes számlázási modelljének ismertetése.
Kapcsolódó tartalom
- SSH-fájlátviteli protokoll (SFTP) támogatása az Azure Blob Storage-hoz
- SSH-fájlátviteli protokoll (SFTP) támogatásának engedélyezése vagy letiltása az Azure Blob Storage-ban
- Hozzáférés engedélyezése az Azure Blob Storage-hoz egy SSH-fájlátviteli protokoll (SFTP) ügyfélről
- Csatlakozás az Azure Blob Storage-hoz az SSH-fájlátviteli protokoll (SFTP) használatával
- Az Azure Blob Storage SSH-fájlátviteli protokoll (SFTP) támogatásával kapcsolatos korlátozások és ismert problémák
- Gazdagépkulcsok az Azure Blob Storage SSH-fájlátviteli protokolljának (SFTP) támogatásához
- Az SSH File Transfer Protocol (SFTP) teljesítményével kapcsolatos szempontok az Azure Blob Storage-ban