Bölüm 1/3
2011 yılında Amazon, CloudFront için AWS Kimlik ve Erişim Yönetimi (IAM) desteğinin kullanılabilirliğini duyurdu. IAM 2010 yılında başlatıldı ve S3 desteğini içeriyordu. AWS Kimlik ve Erişim Yönetimi (IAM), bir AWS hesabında birden fazla kullanıcıya sahip olmanızı sağlar. Amazon Web Services (AWS) kullanmışsanız, AWS'deki içeriği yönetmenin tek yolunun kullanıcı adınızı ve parolanızı veya erişim anahtarlarınızı vermeyi içerdiğini biliyorsunuzdur.
Bu çoğumuz için gerçek bir güvenlik sorunudur. IAM şifreleri ve erişim anahtarlarını paylaşma ihtiyacını ortadan kaldırır.
Ana AWS şifremizi sürekli olarak değiştirmek veya yeni anahtarlar oluşturmak, bir personel ekibimizden ayrılırken karmaşık bir çözümdür. AWS Kimlik ve Erişim Yönetimi (IAM), bireysel kullanıcı hesaplarına bireysel tuşlarla izin veren iyi bir başlangıçtı. Ancak, S3 / CloudFront kullanıcısıydık, böylece CloudFront'un nihayet gerçekleşen IAM'a eklenmesini izledik.
Bu hizmetin belgelerinin biraz dağınık olması için buldum. Kimlik ve Erişim Yönetimi (IAM) için bir dizi destek sunan birkaç 3. parti ürün var. Ancak geliştiriciler genellikle tasarrufludur, dolayısıyla Amazon S3 hizmetimiz ile IAM'yi yönetmek için ücretsiz bir çözüm aradım.
Bu makalede, IAM'yi destekleyen ve S3 erişimine sahip bir grup / kullanıcı ayarlayan Komut Satırı Arabirimi kurma işlemi yürütülmektedir. Kimlik ve Erişim Yönetimi'ni (IAM) yapılandırmaya başlamadan önce bir Amazon AWS S3 hesap kurulumuna sahip olmanız gerekir.
Makalem, Amazon Basit Depolama Hizmetini (S3) Kullanarak, bir AWS S3 hesabı oluşturma sürecinde size yol gösterecektir.
IAM'de bir kullanıcı kurma ve uygulama adımlarını burada bulabilirsiniz. Bu, Windows için yazılmıştır, ancak Linux, UNIX ve / veya Mac OSX'te kullanmak için ince ayar yapabilirsiniz.
- Komut Satırı Arayüzünü (CLI) kurun ve yapılandırın
- Grup oluştur
- S3 Kepçe ve CloudFront'a Grup Erişimi Verme
- Kullanıcı Oluştur ve Gruba Ekle
- Giriş Profili Oluştur ve Anahtar Oluştur
- Test Erişimi
Komut Satırı Arayüzünü (CLI) kurun ve yapılandırın
IAM Komut Satırı Araç Seti, Amazon'un AWS Geliştiricileri Araçları'nda bulunan bir Java programıdır. Araç, bir kabuk yardımcı programından (Windows için DOS) IAM API komutlarını çalıştırmanıza izin verir.
- Java 1.6 veya üstü çalıştırıyor olmanız gerekir. En son sürümü Java.com'dan indirebilirsiniz. Windows sisteminizde hangi sürümün yüklü olduğunu görmek için Komut İstemi'ni açın ve java -version yazın. Bu java.exe PATH içinde olduğunu varsayar.
- IAM CLI araç setini indirin ve yerel sürücünüzdeki bir yeri açın.
- CLI araç setinin kökünde güncellemeniz gereken 2 dosya var.
- aws-credential.template: Bu dosya AWS kimlik bilgilerinizi tutar. AWSAccessKeyId'nizi ve AWSSecretKey'inizi ekleyin, dosyayı kaydedin ve kapatın.
- client-config.template : Bir proxy sunucuya ihtiyaç duyuyorsanız bu dosyayı güncellemeniz yeterlidir. # Işaretleri kaldırın ve ClientProxyHost, ClientProxyPort, ClientProxyUsername ve ClientProxyPassword güncelleştirin. Dosyayı kaydedin ve kapatın.
- Bir sonraki adımda Ortam Değişkenleri ekleniyor. Denetim Masası'na git | Sistem Özellikleri | Gelişmiş sistem ayarları | Ortam Değişkenleri. Aşağıdaki değişkenleri ekleyin:
- AWS_IAM_HOME : Bu değişkeni CLI araç takımını açtığınız dizine ayarlayın. Windows'u çalıştırıyorsanız ve C sürücünüzün kökünden çıkarırsanız, değişken C: \ IAMCli-1.2.0 olur.
- JAVA_HOME : Bu değişkeni Java'nın kurulu olduğu dizine ayarlayın. Bu java.exe dosyasının konumu olurdu. Normal bir Windows 7 Java yüklemesinde, bu C: \ Program Files (x86) \ Java \ jre6 gibi bir şey olurdu.
- AWS_CREDENTIAL_FILE : Bu değişkeni, yukarıda güncellediğiniz aws-credential.template dosyasının yol ve dosya adı olarak ayarlayın. Windows'u çalıştırıyorsanız ve C sürücüsünün kökünden çıkarırsanız, değişken C: \ IAMCli-1.2.0 \ aws-credential.template olur.
- CLIENT_CONFIG_FILE : Bir proxy sunucuya ihtiyaç duyuyorsanız, yalnızca bu ortam değişkenini eklemeniz gerekir. Windows'u çalıştırıyorsanız ve C sürücüsünün kökünü açtığınızda, değişken C: \ IAMCli-1.2.0 \ client-config.template olacaktır. İhtiyacınız olmadıkça bu değişkeni eklemeyin.
- Komut İstemi'ne gidip iam-userlistbypath girerek yüklemeyi sınayın. Bir hata almadığınız sürece, gitmek için iyi olmalısınız.
Tüm IAM komutları Komut İstemi'nden çalıştırılabilir. Tüm komutlar "iam-" ile başlar.
Grup oluştur
Her AWS hesabı için oluşturulabilecek maksimum 100 grup var. IAM'da izinleri kullanıcı düzeyinde ayarlayabilirken, grupları kullanmak en iyi uygulama olacaktır. İşte IAM'de bir grup oluşturma süreci.
- Bir grup oluşturmanın sözdizimi iam-groupcreate -g GROUPNAME [-p PATH] [-v] şeklindedir ve burada -p ve -v seçenekleridir. Komut Satırı Arayüzü ile ilgili eksiksiz belgeler AWS Belgeleri'nde mevcuttur.
- "Müthiş kullanıcılar" olarak adlandırılan bir grup oluşturmak istiyorsanız, Komut İstemi'ne iam-groupcreate -g harika kullanıcılar girersiniz.
- Komut İstemi'nde iam-grouplistbypath girerek grubun doğru şekilde oluşturulduğunu kontrol edebilirsiniz. Bu grubu yalnızca oluşturmuş olsaydınız, çıktı "arn: aws: iam :: 123456789012: group / awesomeusers" gibi bir sayı olurdu, burada sayı AWS hesap numaranızdır.
S3 Kepçe ve CloudFront'a Grup Erişimi Verme
Politikalar, grubunuzun S3 veya CloudFront'ta neler yaptığını kontrol eder. Varsayılan olarak, grubunuz AWS'deki herhangi bir şeye erişemez. Tamamlayıcı olmak için politikalar üzerine bir belge buldum ama bir avuç politika oluştururken, işlerini istediğim şekilde çalıştırabilmek için biraz deneme yanılma yaptım.
Politika oluşturmak için birkaç seçeneğiniz var.
Bir seçenek onları doğrudan Komut İstemi'ne girebilmenizdir. Bir politika oluşturduğunuz ve onu değiştirdiğinizden beri, politikayı bir metin dosyasına eklemek daha kolay görünüyordu ve ardından metin dosyasını iam-groupuploadpolicy komutuyla bir parametre olarak yüklüyordu. İşte bir metin dosyası kullanarak ve IAM'ye yükleme işlemi.
- Not Defteri gibi bir şey kullanın ve aşağıdaki metni girin ve dosyayı kaydedin:
{
"Beyan":[{
"Allow", "Etki"
"Eylem": "s3: *"
"Kaynak":[
"Arn: aws: s3 ::: BUCKETNAME",
"Arn: aws: s3 ::: BUCKETNAME / *"]
},
{
"Allow", "Etki"
"Eylem": "s3: ListAllMyBuckets",
"Kaynak": "arn: aws: s3 ::: *"
},
{
"Allow", "Etki"
"Eylem": [ "CloudFront: *"],
"Kaynak":"*"
}
]
} - Bu politikanın 3 bölümü var. Efekt, bazı erişim türlerine İzin Vermek veya Reddetmek için kullanılır. Eylem, grubun yapabileceği özel şeylerdir. Kaynak, bireysel kovalara erişim sağlamak için kullanılacaktır.
- Eylemleri tek tek sınırlayabilirsiniz. Bu örnekte, "Eylem": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"], grup, bir kova içeriğini ve indirme nesnelerini listeleyebilecektir.
- İlk bölüm grubu "BUCKETNAME" grubunun tüm S3 eylemlerini gerçekleştirmesini "sağlar".
- İkinci bölüm, grubu S3'teki tüm ekleri listelemeye "izin verir". Buna ihtiyacınız var, bu yüzden AWS Konsolu gibi bir şey kullanırsanız, gerçekte kovaların listesini görebilirsiniz.
- Üçüncü bölüm, gruba CloudFront'a tam erişim sağlar.
IAM politikalarına gelince birçok seçenek var. Amazon'un AWS Politika Üreticisi olarak adlandırılan gerçekten harika bir aracı var. Bu araç, politikalarınızı oluşturabileceğiniz ve politikayı uygulamak için ihtiyacınız olan gerçek kodu oluşturabileceğiniz bir GUI sağlar. AWS Kimlik ve Erişim Yönetimi çevrimiçi belgelerinin Erişim Politikası Dili bölümüne de göz atabilirsiniz.
Kullanıcı Oluştur ve Gruba Ekle
Yeni bir kullanıcı oluşturma ve onlara erişim sağlamak için bir gruba ekleme işlemi birkaç adım içerir.
- Bir kullanıcı oluşturmanın sözdizimi iam-usercreate -u USERNAME [-p PATH] [-g GRUPLARI ...] [-k] [-v] şeklindedir; burada -p, -g, -k ve -v seçenekleridir. Komut Satırı Arayüzü ile ilgili eksiksiz belgeler AWS Belgeleri'nde mevcuttur.
- Bir kullanıcı "bob" oluşturmak istediyseniz, Komut İstemi'nde iam-usercreate -u bob -g müthiş kullanıcılar girersiniz.
- Komut İstemi'nde iam-grouplistusers -g harika kullanıcı girerek kullanıcının doğru oluşturulduğunu kontrol edebilirsiniz. Bu kullanıcıyı sadece yaratmış olsaydınız, çıktı "arn: aws: iam :: 123456789012: user / bob" gibi bir sayı olurdu, burada sayı AWS hesap numaranızdır.
Oturum Aç Profili Oluştur ve Anahtar Oluştur
Bu noktada, bir kullanıcı oluşturdunuz, ancak S3'ten gerçekten nesne ekleyip kaldırmanın bir yolunu sağlamanız gerekiyor.
Kullanıcılarınıza IAM kullanarak S3'e erişim sağlamak için 2 seçenek vardır. Giriş Profili oluşturabilir ve kullanıcılarınıza bir şifre girebilirsiniz. Amazon AWS Konsolu'na giriş yapmak için kimlik bilgilerini kullanabilirler. Diğer seçenek kullanıcılara bir erişim anahtarı ve bir gizli anahtar vermektir. Bu anahtarları S3 Fox, CloudBerry S3 Explorer veya S3 Browser gibi 3. parti araçlarda kullanabilirler.
Giriş Profili Oluştur
S3 kullanıcılarınız için bir Giriş Profili oluşturma, onlara Amazon AWS Konsolu'na giriş yapmak için kullanabilecekleri bir kullanıcı adı ve şifre sağlar.
- Giriş profili oluşturma sözdizimi iam-useraddloginprofile -u USERNAME -p PASSWORD. Komut Satırı Arayüzü ile ilgili eksiksiz belgeler AWS Belgeleri'nde mevcuttur.
- Kullanıcı "bob" için bir giriş profili oluşturmak istiyorsanız, komut isteminde iam-useraddloginprofile -u bob -p ŞİFRELİ girin.
- Komut İstemi'nde iam-usergetloginprofile -u bob girerek giriş profilinin doğru şekilde oluşturulduğunu kontrol edebilirsiniz. Bob için bir giriş profili oluşturduysanız, çıktı "Kullanıcı profili için Giriş Profili var" gibi bir şey olurdu.
Anahtar Oluştur
AWS Gizli Erişim Anahtarı ve ilgili AWS Erişim Anahtarı Kimliği oluşturmak, kullanıcılarınızın daha önce bahsedilenler gibi üçüncü taraf yazılımlarını kullanmasına izin verecektir. Bir güvenlik önlemi olarak, bu anahtarları yalnızca kullanıcı profilini ekleme işlemi sırasında alabilirsiniz. Çıkışı Kopyalama Komut İstemi'nden kopyalayıp yapıştırdığınızdan ve bir metin dosyasına kaydettiğinizden emin olun. Dosyayı kullanıcıya gönderebilirsiniz.
- Bir kullanıcı için anahtar ekleme sözdizimi, iam-useraddkey [-u USERNAME]. Komut Satırı Arayüzü ile ilgili eksiksiz belgeler AWS Belgeleri'nde mevcuttur.
- "Bob" kullanıcısı için anahtarlar oluşturmak isterseniz, Komut İstemi'ne iam-useraddkey -u bob girersiniz.
- Komut, böyle bir şeye benzeyen anahtarları çıkarır:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
İlk satır Erişim Anahtarı Kimliği ve ikinci satır Gizli Erişim Anahtarı'dır. Üçüncü taraf yazılımlar için ikisine de ihtiyacınız var.
Test Erişimi
Artık IAM gruplarını / kullanıcılarını oluşturduğunuz ve grupların ilkeleri kullanarak erişim sağladığından, erişimi sınamanız gerekir.
Konsol Erişimi
Kullanıcılarınız AWS Konsolu'na giriş yapmak için kullanıcı adlarını ve şifrelerini kullanabilir. Ancak, bu ana AWS hesabı için kullanılan normal konsol giriş sayfası değildir.
Sadece Amazon AWS hesabınız için bir giriş formu sağlayacak olan kullanabileceğiniz özel bir URL var. IAM kullanıcılarınız için S3'e giriş yapmak için kullanacağınız URL.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER, normal AWS hesap numaranız. Amazon Web Service Sign In formuna giriş yaparak bunu alabilirsiniz. Giriş Yap ve Hesap Aç | Hesap haraketliliği. Hesap numaranız sağ üst köşede. Tire'leri çıkardığınızdan emin olun. URL, https://123456789012.signin.aws.amazon.com/console/s3 gibi bir şeye benziyordu.
Erişim Anahtarlarını Kullanma
Bu makalede daha önce bahsedilen 3. taraf araçlardan herhangi birini indirip yükleyebilirsiniz. 3. taraf araç belgelerine göre Erişim Anahtarı Kimliğinizi ve Gizli Erişim Anahtarınızı girin.
Bir ilk kullanıcı oluşturmanızı ve bu kullanıcının S3'te yapmaları gereken her şeyi yapabileceklerini tam olarak test etmesini kesinlikle öneririz. Kullanıcılarınızdan birini doğruladıktan sonra, tüm S3 kullanıcılarınızı ayarlamaya devam edebilirsiniz.
kaynaklar
İşte size Kimlik ve Erişim Yönetimi (IAM) hakkında daha iyi bir anlayış sağlamak için birkaç kaynak.
- IAM ile Başlarken
- IAM Komut Satırı Araç Seti
- Amazon AWS Konsolu
- AWS Politika Üreticisi
- AWS Kimliği ve Erişim Yönetimi Kullanımı
- IAM Sürüm Notları
- IAM Tartışma Forumları
- IAM SSS