Aracılığıyla paylaş


SSH Dosya Aktarım Protokolü (SFTP) kullanarak Azure Blob Depolama Bağlan

Bu makalede, SFTP istemcisi kullanarak Azure Depolama hesabının Blob Depolama uç noktasına nasıl güvenli bir şekilde bağlanabileceğiniz gösterilmektedir. Bağlandıktan sonra dosyaları karşıya yükleyip indirebilir, ayrıca dosya ve klasörlerdeki erişim denetim listelerini (ACL' ler) değiştirebilirsiniz.

Azure Blob Depolama için SFTP desteği hakkında daha fazla bilgi edinmek için bkz. Azure Blob Depolama'de SSH Dosya Aktarım Protokolü (SFTP).

Önkoşullar

  • Azure Blob Depolama için SFTP desteğini etkinleştirin. Bkz . SFTP desteğini etkinleştirme veya devre dışı bırakma.

  • SFTP istemcilerine erişimi yetkilendirme. Bkz . İstemcilere erişimi yetkilendirme.

  • Şirket içi bir ağdan bağlanıyorsanız, istemcinizin SFTP tarafından kullanılan 22 numaralı bağlantı noktası üzerinden giden iletişime izin verdiğinden emin olun.

SFTP istemcisini Bağlan

Dosyaları güvenli bir şekilde bağlamak ve aktarmak için herhangi bir SFTP istemcisini kullanabilirsiniz. Aşağıdaki örnekte, Open SSH kullanan bir Windows PowerShell oturumu gösterilmektedir.

PS C:\Users\temp> sftp contoso4.contosouser@contoso4.blob.core.windows.net

SFTP kullanıcı adı.storage_account_nameusername. Yukarıdaki storage_account_name örnekte "contoso4" ve username "contosouser" ifadesi yer alır. Birleştirilmiş kullanıcı adı "contoso4.contosouser" olur. Blob hizmeti uç noktası "contoso4.blob.core.windows.net".

Bağlantıyı tamamlamak için bir veya daha fazla istem yanıtlamanız gerekebilir. Örneğin, yerel kullanıcıyı parola kimlik doğrulamasıyla yapılandırdıysanız, bu parolayı girmeniz istenir. Bir konak anahtarına güvenmeniz de istenebilir. Geçerli konak anahtarları burada yayımlanır.

Özel etki alanı kullanarak Bağlan

Özel bir etki alanı kullanarak blob hizmet uç noktasına bağlanmak istiyorsanız, bağlantı dizesi olurmyaccount.myuser@customdomain.com. Kullanıcı için giriş dizini belirtilmemişse, bağlantı dizesi olurmyaccount.mycontainer.myuser@customdomain.com.

Önemli

Bağlantı girişiminin zaman aşımına neden olabileceğinden DNS sağlayıcınızın ara sunucu isteklerinde bulunmadığından emin olun.

Özel etki alanını blob hizmet uç noktasına eşlemeyi öğrenmek için bkz. Özel etki alanını Azure Blob Depolama uç noktasına eşleme.

Özel uç nokta kullanarak Bağlan

Özel uç nokta kullanarak blob hizmet uç noktasına bağlanmak istiyorsanız bağlantı dizesi olurmyaccount.myuser@myaccount.privatelink.blob.core.windows.net. Kullanıcı için giriş dizini belirtilmemişse, bu olur myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.

Not

Ağ yapılandırmasını "Seçili sanal ağlardan ve IP adreslerinden etkinleştirildi" olarak değiştirdiğinizden emin olun ve ardından özel uç noktanızı seçin. Aksi takdirde blob hizmet uç noktası genel olarak erişilebilir olmaya devam eder.

İnternet yönlendirmeyi kullanarak Bağlan

blob hizmet uç noktasına İnternet yönlendirme kullanarak bağlanmak istiyorsanız, bağlantı dizesi olurmyaccount.myuser@myaccount-internetrouting.blob.core.windows.net. Kullanıcı için giriş dizini belirtilmemişse, bu olur myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net.

Veri aktarma

Bağlandıktan sonra dosyaları karşıya yükleyebilir ve indirebilirsiniz. Aşağıdaki örnek, etkin bir Open SSH oturumu kullanarak adlı logfile.txt bir dosyayı karşıya yükler.

sftp> put logfile.txt
Uploading logfile.txt to /mydirectory/logfile.txt
logfile.txt
        100%    19    0.2kb/S    00.00

Aktarım tamamlandıktan sonra dosyayı Azure portalında görüntüleyebilir ve yönetebilirsiniz.

Depolama hesabında görünen karşıya yüklenen dosyanın ekran görüntüsü.

Not

Azure portalı Blob REST API'sini ve Data Lake Storage 2. Nesil REST API'sini kullanır. Azure portalında karşıya yüklenen bir dosyayla etkileşim kurabilmek, SFTP ile REST arasındaki birlikte çalışabilirliği gösterir.

Dosyaları bağlama ve aktarma hakkında yönergeler için SFTP istemcinizin belgelerine bakın.

Dosya veya dizinin ACL'sini değiştirme

SFTP istemcisi kullanarak sahip olan kullanıcının, sahip olan grubun ve ACL'nin diğer tüm kullanıcılarının izin düzeyini değiştirebilirsiniz. Ayrıca, sahip olan kullanıcının ve sahip olan grubun kimliğini de değiştirebilirsiniz. SFTP istemcileri için ACL desteği hakkında daha fazla bilgi edinmek için bkz . ACL'ler.

İzinleri değiştir

Sahip olan kullanıcının, sahip olan grubun veya bir ACL'nin diğer tüm kullanıcılarının izin düzeyini değiştirmek için yerel kullanıcının izni olmalıdır Modify Permission . Bkz. Kapsayıcılara izin verme.

Aşağıdaki örnek, bir dizinin ACL'sini konsola yazdırır. Ardından ACL'yi chmod 777olarak ayarlamak için komutunu kullanır. Her 7 biri sayısal biçimidir rwx (okuma, yazma ve yürütme). Bu nedenle 777 sahip olan kullanıcıya, sahip olan gruba ve diğer tüm kullanıcılara okuma, yazma ve yürütme izni verir. Bu örnek daha sonra güncelleştirilmiş ACL'yi konsola yazdırır. ACL'nin sayısal ve kısa formları hakkında daha fazla bilgi edinmek için bkz . İzinler için kısa formlar.

sftp> ls -l
drwxr-x---     1234     5678                0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chmod 777 dir1
Changing mode on /dir1
sftp> ls -l
drwxrwxrwx     1234     5678                0 Mon, 08 Jan 2024 16:54:06 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2

Not

Adlandırılmış kullanıcılar, adlandırılmış gruplar ve adlandırılmış güvenlik sorumluları için ACL girdileri ekleme veya değiştirme henüz desteklenmiyor.

Sahip olan kullanıcıyı değiştirme

Bir dizin veya blobun sahibi olan kullanıcıyı değiştirmek için yerel kullanıcının izni olmalıdır Modify Ownership . Bkz. Kapsayıcılara izin verme.

Aşağıdaki örnek, bir dizinin ACL'sini konsola yazdırır. Sahibi olan kullanıcının kimliği şeklindedir 0. Bu örnek, chown sahibi olan kullanıcının 1234 kimliğini ayarlamak için komutunu kullanır ve değişikliği konsola yazdırır.

sftp> ls -l
drwxr-x---        0        0                0 Mon, 08 Jan 2024 16:00:12 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chown 1234 dir1
Changing owner on /dir1
sftp> ls -l
drwxr-x---     1234        0                0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp>

Sahip olan grubu değiştirme

Bir dizin veya blobun sahip olan grubunu değiştirmek için yerel kullanıcının izni olmalıdır Modify Ownership . Bkz. Kapsayıcılara izin verme.

Aşağıdaki örnek, bir dizinin ACL'sini konsola yazdırır. Sahip olan grubun kimliği şeklindedir 0. Bu örnek, chgrp sahibi olan grubun 5678 kimliğini olarak ayarlamak için komutunu kullanır ve değişikliği konsola yazdırır.

sftp> ls -l
drwxr-x---     1234        0                0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chgrp 5678 dir1
Changing group on /dir1
sftp> ls -l
drwxr-x---     1234     5678                0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2