İçeriğe geç
Eren Gaygusuz
Geri dön

IAM Kullanıcı Bilgileriyle WinSCP Üzerinden AWS S3 Dosyalarını İndirme

Bu yazıda IAM kullanıcı bilgilerini kullanarak WinSCP üzerinden AWS S3 dosyalarını görüntülemeyi ve indirmeyi anlatıyorum. Orijinal anlatım public ve private S3 bucket davranışını da karşılaştırdığı için önce iki bucket hazırlanıyor, ardından IAM access key bilgileriyle WinSCP bağlantısı kuruluyor.

Temel fikir şu: dosyalar S3 üzerinde durur, kimin erişeceğini IAM belirler, WinSCP ise IAM access key ID ve secret access key bilgilerini kullanarak S3 istemcisi gibi bağlanır.

IAM bilgileriyle WinSCP üzerinden AWS S3 dosyalarını indirme akışı

İçindekiler

İçindekileri aç

S3 Bucket Oluşturma

Amazon S3 Buckets sayfasından başlayıp public erişim testi için bir bucket oluşturun. S3 bucket adları global olarak benzersiz olmalıdır; bu yüzden ekran görüntüsündeki örnek ad yerine kendi bucket adınızı kullanmanız gerekir.

Amazon S3 bucket listesini açıp bucket oluşturma işlemini başlatma

Bu ekranda S3 bucket adı girme ve AWS region seçme adımını görüyoruz.

S3 bucket adı girme ve AWS region seçme

Public bucket testi için Block all public access seçeneğini kapatıp uyarıyı onaylayın. Bu adım yalnızca public object access davranışını görmek içindir. Gerçek projelerde bucket gerçekten public asset sunmuyorsa public access kapalı kalmalıdır.

Public S3 bucket testi için Block all public access ayarını kapatma

Bu ekranda Bucket versioning, tags, encryption ayarlarını inceleyip S3 bucket oluşturma adımını görüyoruz.

Bucket versioning, tags, encryption ayarlarını inceleyip S3 bucket oluşturma

Bucket oluşturulduktan sonra bucket listesinden açın ve Permissions sekmesine geçin. Bir bucket’ın public olarak okunabilmesi için public access ayarı ile bucket policy birlikte doğru yapılandırılmalıdır.

Yeni oluşturulan S3 bucket'ı bucket listesinden açma

Bu ekranda S3 bucket Permissions sekmesini açma adımını görüyoruz.

S3 bucket Permissions sekmesini açma

Bu ekranda Public S3 bucket için bucket policy editor ekranını açma adımını görüyoruz.

Public S3 bucket için bucket policy editor ekranını açma

Örnek policy, bucket içindeki tüm objeler için public read izni verir. example-bucket-ex kısmını kendi bucket adınızla değiştirmelisiniz:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": ["s3:GetObject"],
      "Resource": ["arn:aws:s3:::example-bucket-ex/*"]
    }
  ]
}

Bu ekranda Boş S3 bucket policy editor ekranını açma adımını görüyoruz.

Boş S3 bucket policy editor ekranını açma

Bu ekranda S3 objeleri için public read bucket policy ekleme adımını görüyoruz.

S3 objeleri için public read bucket policy ekleme

Bu ekranda S3 bucket policy değişikliklerini kaydetme adımını görüyoruz.

S3 bucket policy değişikliklerini kaydetme

Policy kaydedildiğinde bucket permissions ekranında bucket’ın public erişilebilir olduğu görünür.

S3 bucket'ın public erişilebilir olduğunu doğrulama

Karşılaştırma için ikinci bir bucket oluşturun. Bu kez Block all public access ayarını açık bırakın. Böylece daha sonra biri public, biri private olmak üzere iki bucket üzerinden erişim farkını görebilirsiniz.

Private access testi için ikinci S3 bucket oluşturma

Bu ekranda Private S3 bucket için Block all public access ayarını açık bırakma adımını görüyoruz.

Private S3 bucket için Block all public access ayarını açık bırakma

Bu ekranda Public ve private S3 bucket’ları bucket listesinde görüntüleme adımını görüyoruz.

Public ve private S3 bucket'ları bucket listesinde görüntüleme

S3 Erişimi İçin IAM Kullanıcısı Oluşturma

WinSCP’nin S3’e bağlanabilmesi için kimlik doğrulaması yapabilecek credential bilgilerine ihtiyacı vardır. Bu örnekte programmatic access için bir IAM kullanıcısı oluşturup S3 policy bağlıyorum.

AWS Console aramasından IAM servisini açma

Bu ekranda IAM Users sayfasını açma adımını görüyoruz.

IAM Users sayfasını açma

Bu ekranda IAM Add users akışını başlatma adımını görüyoruz.

IAM Add users akışını başlatma

Bir user name girin ve access key tabanlı programmatic access seçeneğini işaretleyin. İşlem sonunda oluşacak access key ID ve secret access key bilgileri WinSCP içinde kullanılacaktır.

Access key programmatic access ile IAM kullanıcısı oluşturma

Gerekli S3 izinlerini ekleyin. Orijinal örnekte demo kolaylığı için AmazonS3FullAccess kullanılmış. Gerçek bir projede ise yalnızca gerekli bucket ve action izinlerini içeren daha dar bir policy tercih edilmelidir.

IAM policy eklemek için attach existing policies directly seçme

Bu ekranda Demo IAM kullanıcısı için AmazonS3FullAccess policy seçme adımını görüyoruz.

Demo IAM kullanıcısı için AmazonS3FullAccess policy seçme

Bu ekranda IAM user tags adımını boş geçme adımını görüyoruz.

IAM user tags adımını boş geçme

IAM kullanıcı ayarlarını gözden geçirip kullanıcıyı oluşturun. Oluşturma sonrasında credential bilgilerini hemen indirin veya kopyalayın. Secret access key hassastır; source control’e eklenmemeli, ekran görüntülerinde paylaşılmamalı ve düz metin olarak korunmasız saklanmamalıdır.

IAM kullanıcı ve bağlı S3 policy bilgilerini gözden geçirme

Bu ekranda Oluşturulan IAM kullanıcı credential dosyasını indirme adımını görüyoruz.

Oluşturulan IAM kullanıcı credential dosyasını indirme

Bu ekranda Hassas değerleri gizlenmiş IAM access key CSV dosyasını görüntüleme adımını görüyoruz.

Hassas değerleri gizlenmiş IAM access key CSV dosyasını görüntüleme

S3 Objelerini Yükleme ve Test Etme

Bucket’lara küçük bir test dosyası yükleyin. Ekran görüntülerinde abc.zip kullanılmış; S3 object access ve WinSCP download davranışını test etmek için herhangi bir küçük dosya yeterlidir.

Zip dosyasını hazırlama ve boş S3 bucket'ı açma

Bu ekranda Zip dosyasını S3 bucket’a yükleme adımını görüyoruz.

Zip dosyasını S3 bucket'a yükleme

Yükleme tamamlandıktan sonra object detaylarını açın. Public bucket için Object URL doğrudan tarayıcıdan açılabilir; çünkü bucket policy s3:GetObject izni veriyor.

Yüklenen zip objesini S3 bucket içinde görüntüleme

Bu ekranda Yüklenen S3 object detaylarını açma adımını görüyoruz.

Yüklenen S3 object detaylarını açma

Bu ekranda Public S3 object URL bilgisini kopyalama veya açma adımını görüyoruz.

Public S3 object URL bilgisini kopyalama veya açma

Bu ekranda Public S3 object URL adresini tarayıcıdan test etme adımını görüyoruz.

Public S3 object URL adresini tarayıcıdan test etme

Aynı yükleme veya erişim testini private bucket için de tekrarlayın. Private bucket public URL ile objeyi açmamalıdır; fakat IAM kullanıcısı yetkiliyse WinSCP gibi authenticated S3 client üzerinden objelere erişebilir.

Karşılaştırma için private S3 bucket'ı açma

Bu ekranda Yüklenen S3 dosyası için object URL bilgisini kontrol etme adımını görüyoruz.

Yüklenen S3 dosyası için object URL bilgisini kontrol etme

Bu ekranda S3 object erişim davranışını tarayıcıda test etme adımını görüyoruz.

S3 object erişim davranışını tarayıcıda test etme

WinSCP ile S3’e Bağlanma

WinSCP’yi açıp yeni site oluşturun. File protocol olarak Amazon S3 seçin ve CSV dosyasındaki IAM access key bilgilerini girin.

Kullanılacak bağlantı ayarları:

Bu ekranda IAM bilgileriyle WinSCP içinde Amazon S3 bağlantısı yapılandırma adımını görüyoruz.

IAM bilgileriyle WinSCP içinde Amazon S3 bağlantısı yapılandırma

Login sonrası WinSCP, IAM kullanıcısının erişebildiği S3 bucket’ları listeler. Buradan bucket içine girip object seçebilir ve local dosya sistemine indirebilirsiniz.

WinSCP içinde erişilebilir S3 bucket listesini görüntüleme

Özet

IAM access key ve doğru S3 izinleriyle WinSCP, S3 objelerini görüntülemek ve indirmek için masaüstü istemcisi olarak kullanılabilir. Public bucket erişimi bucket public access ayarları ve bucket policy ile belirlenirken private bucket’lar authenticated IAM credentials üzerinden erişilebilir kalır.


Bu yazıyı paylaş:

Yorumlar


Önceki Yazı
ASP.NET Core Web API'yi AWS EC2 Üzerinde Yayınlama
Sonraki Yazı
AWS ACM ile SSL Sertifikası Oluşturma ve Load Balancer ile Kullanma