Azure Blob Depolama için SSH Dosya Aktarım Protokolü (SFTP) desteği
Blob depolama artık SSH Dosya Aktarım Protokolü'ne (SFTP) destek veriyor. Bu destek bir SFTP uç noktası aracılığıyla Blob Depolama güvenli bir şekilde bağlanmanıza olanak tanıyarak dosya erişimi, dosya aktarımı ve dosya yönetimi için SFTP kullanmanıza olanak tanır.
Burada size bu konuda daha fazla bilgi veren bir video bulabilirsiniz.
Azure, Azure Blob hizmeti REST API'sini, Azure SDK'larını ve AzCopy gibi araçları kullanarak Blob Depolama hesaplarına güvenli veri aktarımı sağlar. Ancak eski iş yükleri genellikle SFTP gibi geleneksel dosya aktarım protokollerini kullanır. Rest API ve Azure SDK'larını kullanmak için özel uygulamaları güncelleştirebilirsiniz, ancak yalnızca önemli kod değişiklikleri yaparak.
Bu özelliğin yayımlanmasından önce verileri Azure Blob Depolama aktarmak için SFTP kullanmak istiyorsanız üçüncü taraf bir ürün satın almak veya kendi çözümünüzü düzenlemeniz gerekirdi. Özel çözümler için, SFTP sunucusunu barındırmak için Azure'da sanal makineler (VM) oluşturmanız ve ardından karmaşık bir mimariyi güncelleştirmeniz, düzeltme eki uygulamanız, yönetmeniz, ölçeklendirmeniz ve korumanız gerekir.
Artık Azure Blob Depolama için SFTP desteğiyle Tek bir tıklamayla Blob Depolama hesapları için SFTP uç noktasını etkinleştirebilirsiniz. Ardından, 22 numaralı bağlantı noktası üzerinden SFTP ile depolama hesabınıza bağlanmak üzere kimlik doğrulaması için yerel kullanıcı kimlikleri ayarlayabilirsiniz.
Bu makalede Azure Blob Depolama için SFTP desteği açıklanmaktadır. Depolama hesabınız için SFTP'yi etkinleştirmeyi öğrenmek için bkz. SSH Dosya Aktarım Protokolü(SFTP) kullanarak Azure Blob Depolama Bağlan.
Not
SFTP platform düzeyinde bir hizmet olduğundan, hesap seçeneği devre dışı bırakılsa bile 22 numaralı bağlantı noktası açılır. SFTP erişimi yapılandırılmamışsa, tüm istekler hizmetle bağlantıyı keser.
SFTP ve hiyerarşik ad alanı
SFTP desteği hiyerarşik ad alanının etkinleştirilmesini gerektirir. Hiyerarşik ad alanı, nesneleri (dosyaları) bilgisayarınızdaki dosya sisteminin düzenleyeceği şekilde bir dizin ve alt dizin hiyerarşisi halinde düzenler. Hiyerarşik ad alanı doğrusal olarak ölçeklendirilir ve veri kapasitesini veya performansını düşürmez.
Hiyerarşik ad alanı tarafından farklı protokoller desteklenir. SFTP bu kullanılabilir protokollerden biridir. Aşağıdaki görüntüde birden çok protokol ve REST API aracılığıyla depolama erişimi gösterilmektedir. Daha kolay okunması için bu görüntü, Azure Data Lake Storage 2. Nesil REST API'sine başvurmak için 2. Nesil REST terimini kullanır.
SFTP izin modeli
Azure Blob Depolama, SFTP aracılığıyla Microsoft Entra kimlik doğrulamasını veya yetkilendirmesini desteklemez. Bunun yerine, SFTP yerel kullanıcılar adlı yeni bir kimlik yönetimi biçimi kullanır.
Yerel kullanıcıların kimlik doğrulaması için parola veya Secure Shell (SSH) özel anahtar kimlik bilgisi kullanması gerekir. Depolama hesabı için en fazla 2000 yerel kullanıcınız olabilir.
Erişim izinlerini ayarlamak için yerel bir kullanıcı oluşturacak ve kimlik doğrulama yöntemlerini seçeceksiniz. Ardından, hesabınızdaki her kapsayıcı için bu kullanıcıya vermek istediğiniz erişim düzeyini belirtebilirsiniz.
Dikkat
Yerel kullanıcılar RBAC (rol tabanlı erişim denetimi) ve ABAC (öznitelik tabanlı erişim denetimi) gibi diğer Azure Depolama izin modelleriyle birlikte çalışmaz. ACL'ler (erişim denetim listeleri) önizleme düzeyinde yerel kullanıcılar için desteklenir.
Örneğin, Jeff'in kapsayıcı con1'de depolanan dosya foo.txt için Microsoft Entra kimliği aracılığıyla salt okunur izni (RBAC veya ABAC aracılığıyla denetlenebilir) vardır. Jeff depolama hesabına NFS (kök/süper kullanıcı olarak bağlanmadığında), Blob REST veya Data Lake Storage 2. Nesil REST üzerinden erişiyorsa, bu izinler uygulanır. Ancak, Jeff'in con1 kapsayıcısı içindeki veriler için silme iznine sahip bir yerel kullanıcı kimliği de varsa, yerel kullanıcı kimliğini kullanarak SFTP aracılığıyla foo.txt silebilir.
SFTP özellikli depolama hesaplarında Azure portalı, Azure CLI, Azure PowerShell komutları, AzCopy, Azure SDK'ları ve Azure REST API'leri aracılığıyla Blob Depolama erişen kullanıcıların kimliğini doğrulamak ve yetkilendirmek için Azure Blob Depolama güvenlik ayarlarının tamamını kullanabilirsiniz. Daha fazla bilgi edinmek için bkz. Azure Data Lake Storage 2. Nesil'de erişim denetimi modeli.
Kimlik doğrulama yöntemleri
Parola veya Secure Shell (SSH) ortak-özel anahtar bölmesi kullanarak SFTP aracılığıyla bağlanan yerel kullanıcıların kimliğini doğrulayabilirsiniz. Her iki kimlik doğrulama türünü de yapılandırabilir ve hangisinin kullanılacağını yerel kullanıcıların seçmesine izin vekleyebilirsiniz. Ancak, başarılı kimlik doğrulaması için hem geçerli bir parola hem de geçerli bir ortak-özel anahtar çifti gereken çok faktörlü kimlik doğrulaması desteklenmez.
Parolalar
Özel parolalar ayarlayamazsınız; Azure sizin için bir parola oluşturur. Parola kimlik doğrulamasını seçerseniz, yerel kullanıcı yapılandırmayı tamamladıktan sonra parolanız sağlanır. Bu parolayı kopyalayıp daha sonra bulabileceğiniz bir konuma kaydettiğinizden emin olun. Bu parolayı Azure'dan yeniden alamazsınız. Parolayı kaybederseniz yeni bir parola oluşturmanız gerekir. Güvenlik nedeniyle parolayı kendiniz ayarlayamazsınız.
SSH anahtar çiftleri
Ortak-özel anahtar çifti, Secure Shell (SSH) için en yaygın kimlik doğrulama biçimidir. Özel anahtar gizlidir ve yalnızca yerel kullanıcı tarafından bilinmelidir. Ortak anahtar Azure'da depolanır. Bir SSH istemcisi yerel kullanıcı kimliği kullanarak depolama hesabına bağlandığında, ortak anahtar ve imza içeren bir ileti gönderir. Azure iletiyi doğrular ve kullanıcının ve anahtarın depolama hesabı tarafından tanındığını denetler. Daha fazla bilgi edinmek için bkz . SSH ve anahtarlara genel bakış.
Özel-ortak anahtar çifti ile kimlik doğrulaması yapmayı seçerseniz, bir anahtar oluşturabilir, Azure'da zaten depolanmış bir anahtar kullanabilir veya Azure'a mevcut ortak-özel anahtar çiftinin ortak anahtarını sağlayabilirsiniz. Yerel kullanıcı başına en fazla 10 ortak anahtara sahip olabilirsiniz.
Kapsayıcı izinleri
Kapsayıcı düzeyinde izinler için, erişim vermek istediğiniz kapsayıcıları ve hangi erişim düzeyini sağlamak istediğinizi seçebilirsiniz (Okuma, Yazma, Listeleme, Silme, Oluşturma, Sahipliği Değiştirme ve İzinleri Değiştirme). Bu izinler kapsayıcıdaki tüm dizinlere ve alt dizinlere uygulanır. Her yerel kullanıcıya en fazla 100 kapsayıcıya erişim vekleyebilirsiniz. Kapsayıcı izinleri, yerel kullanıcı oluşturulduktan sonra da güncelleştirilebilir. Aşağıdaki tabloda her izin daha ayrıntılı olarak açıklanmaktadır.
İzin | Simge | Açıklama |
---|---|---|
Okundu | r | |
Write | w | |
Liste | l | |
Sil | d | |
Oluşturma | c | |
Sahipliği Değiştir | o | |
İzinleri Değiştir | ös |
Alt dizinlerdeki bloblarda yazma işlemleri gerçekleştirirken, dizini açmak ve blob özelliklerine erişmek için Okuma izni gerekir.
ACL'ler
Dizin veya blob düzeyi izinleri için, ADLS 2. Nesil ACL'ler tarafından kullanılan sahip olan kullanıcıyı, sahip olan grubu ve modu değiştirebilirsiniz. Çoğu SFTP istemcisi bu özellikleri değiştirmek için komutları kullanıma sunar. Aşağıdaki tabloda yaygın komutlar daha ayrıntılı olarak açıklanmaktadır.
Command | Gerekli Kapsayıcı İzni | Açıklama |
---|---|---|
Çolak | o | |
chgrp | o | |
chmod | ös |
Sahibi olan kullanıcıyı ve sahip olan grubu değiştirmek için gereken kimlikler, Yerel Kullanıcılar için yeni özelliklerin bir parçasıdır. Aşağıdaki tabloda her yeni Yerel Kullanıcı özelliği daha ayrıntılı olarak açıklanmaktadır.
Özellik | Açıklama |
---|---|
Kullanıcı Kimliği | |
Groupıd | |
AllowAclAuthorization |
İstenen ACL'ler yapılandırıldıktan ve Yerel Kullanıcı etkinleştirildikten AllowAclAuthorization
sonra, isteklerini yetkilendirmek için ACL'leri kullanabilir. RBAC'ye benzer şekilde, kapsayıcı izinleri ACL'lerle birlikte çalışabilir. Yalnızca yerel kullanıcı yeterli kapsayıcı izinlerine sahip değilse ACL'ler değerlendirilir. Daha fazla bilgi edinmek için bkz. Azure Data Lake Storage 2. Nesil'de erişim denetimi modeli.
Giriş dizini
İzinleri yapılandırdıkça, yerel kullanıcı için bir giriş dizini ayarlama seçeneğiniz vardır. SFTP bağlantı isteğinde başka bir kapsayıcı belirtilmezse, giriş dizini kullanıcının varsayılan olarak bağlandığı dizindir. Örneğin, Open SSH kullanılarak yapılan aşağıdaki isteği göz önünde bulundurun. Bu istek, komutun sftp
bir parçası olarak bir kapsayıcı veya dizin adı belirtmez.
sftp myaccount.myusername@myaccount.blob.core.windows.net
put logfile.txt
Kullanıcının mycontainer/mydirectory
giriş dizinini olarak ayarlarsanız, bu dizine bağlanır. logfile.txt
Ardından, dosya öğesine mycontainer/mydirectory
yüklenir. Giriş dizinini ayarlamadıysanız bağlantı girişimi başarısız olur. Bunun yerine, bağlantı kullanıcılarının istekle birlikte bir kapsayıcı belirtmesi ve ardından bir dosyayı karşıya yüklemeden önce hedef dizine gitmek için SFTP komutlarını kullanması gerekir. Aşağıdaki örnekte bu gösterilmektedir:
sftp myaccount.mycontainer.myusername@myaccount.blob.core.windows.net
cd mydirectory
put logfile.txt
Not
Giriş dizini yalnızca bağlanan yerel kullanıcının yerleştirildiği ilk dizindir. Yerel kullanıcılar, uygun kapsayıcı izinlerine sahipse bağlandıkları kapsayıcıda başka herhangi bir yola gidebilir.
Desteklenen algoritmalar
Güvenli bir bağlantı kurup dosyaları aktarmak için birçok farklı SFTP istemcisi kullanabilirsiniz. Bağlanan istemcilerin aşağıdaki tabloda belirtilen algoritmaları kullanması gerekir.
Tür | Algoritma |
---|---|
Konak anahtarı 1 | rsa-sha2-256 2 rsa-sha2-512 2 ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 |
Anahtar değişimi | ecdh-sha2-nistp384 ecdh-sha2-nistp256 diffie-hellman-group14-sha256 diffie-hellman-group16-sha512 diffie-hellman-group-exchange-sha256 |
Şifreleme | aes128-gcm@openssh.com aes256-gcm@openssh.com aes128-ctr aes192-ctr aes256-ctr |
Bütünlük/MAC | hmac-sha2-256 hmac-sha2-512 hmac-sha2-256-etm@openssh.com hmac-sha2-512-etm@openssh.com |
Ortak anahtar | ssh-rsa 2 rsa-sha2-256 rsa-sha2-512 ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 |
1 Konak anahtarları burada yayımlanır. 2 RSA anahtarlarının uzunluğu en az 2048 bit olmalıdır.
Azure Blob Depolama için SFTP desteği şu anda şifreleme algoritması desteğini güvenlikle ilgili önemli noktalara dayanarak sınırlar. Müşterilerin verilerine güvenle erişmek için Microsoft Security Development Lifecycle (SDL) onaylı algoritmaları kullanmasını kesinlikle öneririz.
Şu anda, Microsoft Güvenlik SDL'sine uygun olarak şunları desteklemeyi planlamıyoruz: ssh-dss
, , diffie-hellman-group14-sha1
diffie-hellman-group1-sha1
, diffie-hellman-group-exchange-sha1
, , hmac-sha1
, hmac-sha1-96
. Algoritma desteği gelecekte değiştirilebilir.
SFTP ile Bağlan
Başlamak için SFTP desteğini etkinleştirin, yerel bir kullanıcı oluşturun ve bu yerel kullanıcı için izinler atayın. Ardından, dosyaları güvenli bir şekilde bağlamak ve aktarmak için herhangi bir SFTP istemcisini kullanabilirsiniz. Adım adım yönergeler için bkz. SSH Dosya Aktarım Protokolü(SFTP) kullanarak Azure Blob Depolama Bağlan.
Bilinen desteklenen istemciler
Aşağıdaki istemciler Azure Blob Depolama için SFTP ile uyumlu algoritma desteğine sahiptir. Bağlanırken sorun yaşıyorsanız Azure Blob Depolama için bkz. SSH Dosya Aktarım Protokolü (SFTP) desteğiyle ilgili sınırlamalar ve bilinen sorunlar. Bu liste kapsamlı değildir ve zaman içinde değişebilir.
- AsyncSSH 2.1.0+
- Axway
- Cyberduck 7.8.2+
- edtFTPjPRO 7.0.0+
- FileZilla 3.53.0+
- libssh 0.9.5+
- Maverick Legacy 1.7.15+
- Taşıma 12.7
- 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+
- İş günü
- XFB. Ağ geçidi
- JSCH 0.1.54+
- curl 7.85.0+
- AIX1
- MobaXterm v21.3
1 seçeneği olarak no
ayarlanmalıdırAllowPKCS12KeystoreAutoOpen
.
Sınırlamalar ve bilinen sorunlar
Fiyatlandırma ve faturalama
SFTP uç noktasını etkinleştirmenin saatlik maliyeti vardır. En son fiyatlandırma bilgileri için bkz. fiyatlandırma Azure Blob Depolama.
İpucu
Pasif ücretlerden kaçınmak için SFTP'yi yalnızca verileri aktarmak için etkin bir şekilde kullandığınızda etkinleştirmeyi göz önünde bulundurun. SFTP desteğini etkinleştirme ve devre dışı bırakma hakkında yönergeler için bkz. SSH Dosya Aktarım Protokolü(SFTP) kullanarak Azure Blob Depolama Bağlan.
Temel alınan depolama hesabı için işlem, depolama ve ağ fiyatları geçerlidir. Tüm SFTP işlemleri depolama hesaplarınızdaki Okuma, Yazma veya Diğer işlemlere dönüştürülür. Bu, tüm SFTP komutlarını ve API çağrılarını içerir. Daha fazla bilgi edinmek için bkz. Azure Blob Depolama için tam faturalama modelini anlama.
Ayrıca bkz.
- SSH Dosya Aktarım Protokolü (SFTP) kullanarak Azure Blob Depolama Bağlan
- Azure Blob Depolama için SSH Dosya Aktarım Protokolü (SFTP) desteğiyle ilgili sınırlamalar ve bilinen sorunlar
- Azure Blob Depolama için SSH Dosya Aktarım Protokolü (SFTP) desteği için konak anahtarları
- Azure Blob depolamada SSH Dosya Aktarım Protokolü (SFTP) performans konuları