AWS CLI Kullanarak IAM Rolü Nasıl Üstlenilir?

Aws Cli Kullanarak Iam Rolu Nasil Ustlenilir



AWS çeşitli hizmetler ve muazzam faydalar sağladığından, güvenlik endişelerinin BT uzmanları tarafından dile getirilmesi doğaldır. Bu güvenlik endişelerini gidermek için IAM hizmeti AWS tarafından tanıtıldı. AWS IAM, kullanıcıların AWS kaynaklarının güvenliğini sağlamasına olanak tanıyan temel web hizmetlerinden biridir. IAM, farklı kullanıcılar için izinleri tanımlayarak AWS hizmetlerinin merkezi erişim yönetimi işlevselliğini sağlar.

Hızlı Taslak

Bu makalede şunları öğreneceksiniz:







AWS IAM Rolü nedir?
AWS'de Üstlenilen Rol Nedir?
AWS CLI Kullanarak IAM Rolü Nasıl Üstlenilir?



Son düşünceler



IAM rolleri ve izinleriyle AWS hizmetlerine kimliği doğrulanmış ve yetkili erişimi belirleyebiliriz. Bu roller ve izinler yalnızca AWS hesabının kök kullanıcısı (sahibi) tarafından atanabilir.





AWS IAM Rolü nedir?

IAM rolü, kök kullanıcı tarafından AWS hesabında oluşturulan bir kimliktir. Bu kimliğe, IAM rolünün AWS kaynaklarına erişim kapsamını tanımlayan belirli izinler atanır. Bu izinler AWS tarafından yönetilebilir veya kök kullanıcı tarafından özel olarak tanımlanabilir.

IAM rolü, IAM kullanıcısına çok benzer; tek farkı, IAM rolünün belirli izinlere sahip bir kimlik olması ve kullanıcının belirli işlevleri gerçekleştirmek için bu rolleri üstlenebilmesidir. Role verilen izinler, bu kimlikle (IAM rolü) hangi eylemlerin gerçekleştirilebileceğini tanımlar.



AWS'de Üstlenilen Rol Nedir?

Rol Al, hizmet içindeki kaynağa erişme veya kaynağı değiştirme izinleri kullanıcıya atanmamış olsa da kullanıcının AWS hizmetleriyle işlem yapmasına olanak tanıyan AWS IAM hizmetinin işlevlerinden biridir. Bu izinler, bir rol üstlenildiğinde kullanıcıya dolaylı olarak atanır. AWS kaynaklarına erişmek için oturum tabanlı oturum açma bilgilerinin yanı sıra bir dizi geçici kimlik bilgisi kullanılır.

Bu geçici kimlik bilgileri bir Gizli Erişim Anahtarını, Erişim Anahtarı Kimliğini ve Güvenlik Simgesini içerir. AWS kök kullanıcısı tarafından oluşturulan IAM Rolleri, AWS hesabındaki diğer kullanıcılar veya rolün politikasında ARN'si belirtilen kullanıcılar tarafından üstlenilebilir. Kullanıcıların veya kaynakların ARN'sini içeren politika, Güven politikası .

İzin Politikası ile Güven Politikası Arasındaki Fark Nedir?

Rol üstlenme işlevini farklı yöntemlerle uygulamadan önce kullanıcı tarafından anlaşılması gereken iki temel kavram vardır. IAM hizmetinde iki tür politika vardır:

    • Güven Politikası: Güven politikası, belirli bir IAM rolünü kimin üstlenebileceğini belirler. Bir kullanıcının üstleneceği rol için, kullanıcının ARN'si IAM rolünün güven politikasında belirtilir. Bu güven ilkesi, kullanıcının veya kaynakların bu rolü üstlenmek için güvenilir bir varlık olup olmadığını belirler.
    • İzin Politikası: Bu politika, bir kullanıcının neler yapabileceğini veya rolle hangi eylemlerin gerçekleştirilebileceğini belirler.

AWS CLI Kullanarak IAM Rolü Nasıl Üstlenilir?

Bir rolü üstlenmek, kimliği doğrulanmış ve belirli eylemleri gerçekleştirme yetkisine sahip başka bir kullanıcı olarak kendinizi gizlemeye benzer. AWS, bir kimlik üstlenirken güvenliğin bozulmadan kalmasını sağlamıştır.

Aşağıdaki örneği ele alarak Assume-role fonksiyonunun çalışmasını anlayalım.

Örneğin, AWS hesabında S3 klasörü için herhangi bir izin atanmamış bir kullanıcı mevcut. “Salt Okunur Erişim” bir IAM rolüne eklenen izin politikası olarak adlandırılır. Kullanıcının bu rolü üstlenebilmesi için kullanıcının ARN'si IAM rolünün politikasında belirtilir. Bu politikaya artık şu ad veriliyor: “güven politikası” ve izin politikasından farklıdır. Güven politikası, AWS'nin kullanıcının yetkili bir varlık olup olmadığını belirlemesine yardımcı olduğu için çok önemlidir.

ARN'nin IAM rolünün İzin politikasında değil Güven politikasında belirtildiğini unutmayın. Kullanıcı, bir rolü üstlenerek, rolün izin ilkesi tarafından tanımlanan birkaç yönetim eylemini gerçekleştirebilir. Bu eylemler arasında bir kaynağın eklenmesi, silinmesi, değiştirilmesi veya geri yüklenmesi vb. yer alır.

AWS CLI'de rol üstlenmeye yönelik üç Yöntem aşağıda verilmiştir:

Yöntem 1: STS'yi (Güvenlik Simgesi Hizmeti) Kullanma

Kullanıcılar, bir dizi geçici kimlik bilgisi döndüren STS bölümündeki (Güvenli Token Hizmeti) komutları çalıştırarak bir rol üstlenebilirler. Geçici kimlik bilgileri, kaynaklara API çağrıları yapmak amacıyla oturum tabanlı bir oturum açmak için kullanılır. Ancak, iki istisna STS'yi kullanırken yani, FederasyonTokenını Alın Ve GetSessionToken.

Oturum ve Federasyon Tokenlarının gizli bilgilerini güvence altına almak amacıyla kullanıcının bu tokenlara erişimi kısıtlanmıştır. Böylece hiçbir durumda güvenlik tehlikeye atılmaz. Bir kullanıcı, bir rolü üstlenerek kendisine atanan ayrıcalıkları yükseltebilir.

Yazının bu bölümünde STS komutlarını kullanarak bir takım geçici kimlik bilgileri talep edeceğiz. Aşağıda adımlar verilmiştir:

1. Adım: Kullanıcı ve Kullanıcı Politikası Oluşturun

İlk önce yapacağız IAM kullanıcısı oluştur hiçbir izin olmadan. Bu amaçla, açın CMD Windows'un Başlat menüsünden:


Sadece kök kullanıcı olabilmek yaratmak BİR IAM kullanıcısı AWS hesabında. Bu nedenle aşağıdaki komutu kullanarak AWS kök hesabında oturum açın:

aws yapılandırması


Komut çıktısında gösterildiği gibi kimlik bilgileri bu demo için CLI'de zaten yapılandırılmıştır:


Daha fazla bilgi edin:

İle IAM kullanıcısı oluştur , CLI'ye aşağıdaki komutu sağlayın:

ah ben kullanıcı oluşturucuyum --Kullanıcı adı demo kullanıcısı


Değiştir demo kullanıcısı seninki ile IAM kullanıcı adı.

Kaydet “Arn” komutun çıktısında olacağı gibi verilir gerekli Ne zaman yaratmak the Güven Politikası :


Devamını oku:

Bir sonraki adım ise izin vermek kullanıcı (demo-kullanıcı ) ile bir rol üstlenmek . Bu amaçla bir oluştur JSON dosyası herhangi birini kullanarak Metin düzeltici tercih ediyorsun. Bu demo için şunu kullandık: Not Defteri aşağıda belirtilen komutta belirtildiği gibi:

Pencereler için

not defteri user-policy.json


Değiştir kullanıcı politikası IAM politikası adınızla birlikte.

Linux işletim sistemi için

Çünkü user-policy.json


Şu anda bu demo için Windows İşletim sistemini kullanıyoruz:


Bu not defterini açacaktır. Aşağıdaki politikayı not defterine yapıştırın ve tuşuna basın. “CTRL+S” Değişiklikleri kaydetmek için klavyeden:

{
'Sürüm' : '2012-10-17' ,
'İfade' : [
{
'Etki' : 'İzin vermek' ,
'Aksiyon' : [
'ec2:Açıkla*' ,
'iam:Rolleri Listele' ,
'sts:Rolü Üstlen'
] ,
'Kaynak' : '*'
}
]
}


Aşağıda belirtilen politikanın kısa bir açıklaması verilmiştir:

    • ec2:Açıklama: Bu izin, kullanıcının tüm AMI'leri, anlık görüntüleri veya EC2 örneklerini görüntüleyebileceğini veya listeleyebileceğini belirtir
    • iam:ListeRoller: Bu izin, kullanıcının IAM hizmetindeki tüm rolleri listeleyebileceğini belirtir.
    • sts:Rolü Üstlen: Bu izin, kullanıcının IAM hizmeti içinde tanımlanan bir rolü üstlenebileceğini temsil eder.

Burada politika not defterinde düzenlendi ve kaydedildi:


Her AWS kaynak bir atanır Erişim Kaynağı Adı (ARN) Hangi benzersiz bir şekilde tanımlar kaynak. Politikanın ARN'sini belirlemek için aşağıdaki komutu kullanın.

ah ben oluşturma politikası --Poliçe ismi kullanıcı politikası --politika dokümanı dosya: // user-policy.json


Yukarıda belirtilen komutta:

    • -Poliçe ismi: Değeri değiştirin “kullanıcı politikası” tercih ettiğiniz herhangi bir politika adı ile.
    • -politika dokümanı: Bu alanda '' ifadesini değiştirin. user-policy.json” kullanıcıya yönelik politikayı içeren json dosyasının adıyla.

Yukarıda belirtilen komutun çıktısı aşağıdaki gibidir. Kaydet “Arn” Bu politikayı kullanıcıya eklerken gerekli olacağından politikanın çıktısında bahsedilmiştir:

2. Adım: Kullanıcıya Politika Ekleme

Bu politika kullanıcının listelemesine olanak tanır. EC2 örnekleri , Arkadaşlar , vb. Kullanıcı farklı izne sahip bir rol üstlendiğinde, kullanıcı yalnızca izin politikasının izin verdiği belirli eylemi gerçekleştirebilecektir.

İlkeyi bu bölümde daha önce oluşturulan kullanıcıya eklemek için aşağıdaki komutu kullanın:

aws kullanıcı ekleme politikasını kullanıyorum --Kullanıcı adı demo kullanıcısı --politika-arn 'arn:aws:iam::123456789:politika/kullanıcı-politikası'


Yukarıda belirtilen komutta:

    • -Kullanıcı adı: Değiştir “demo kullanıcısı” içinde -Kullanıcı adı IAM kullanıcı adınızı içeren alan.
    • –politika-arn: Benzer şekilde, –politika-arn, belirtmek “Arn” önceki komutun çıktısından, yani –create-policy.

Gerekli değişiklikler yapıldıktan sonra komut çalıştırılarak politika kullanıcıya başarıyla eklenmiştir:


İlkenin kullanıcıya eklenip eklenmediğini doğrulamak için CLI'ye aşağıdaki komutu sağlayın:

aws iam listeye bağlı kullanıcı politikaları --Kullanıcı adı demo kullanıcısı


Değiştir demo kullanıcısı IAM'inizle Kullanıcı adı Kullanıcı oluşturulurken belirtilir.

Aşağıdaki komutun çıktısı, politikanın kullanıcıya başarıyla eklendiğini doğrular:

3. Adım: Bir Güven Politikası ve IAM Rolü Oluşturun

Bir kaynağın veya kullanıcının ARN'si bir politikada belirtildiğinde bir güven ilişkisi kurulur. Bu işlevsellik daha sonra kullanıcıların veya varlığın, politika tarafından güvenilir kabul edilen belirli eylemleri gerçekleştirmesine olanak tanır.

Bu adımda IAM rolü ile kullanıcı arasındaki güven ilişkisini kuran bir politika oluşturacağız. Bu güven politikası IAM rolüne eklenecektir. IAM rolü daha sonra kullanıcı tarafından üstlenilecek ve bu da dolaylı olarak kullanıcının politikada belirtilen eylemleri gerçekleştirmesine izin verecektir.

Güven politikası oluşturmak için komutlar şu şekilde verilir:

Pencereler için

not defteri güven-rolü-politikası.json


Değiştir güven-rolü-politikası.json Poliçe için tercih ettiğiniz isimle.

Linux işletim sistemi için

Çünkü güven-rolü-politikası.json


Değiştir güven-rolü-politikası.json Poliçe için tercih ettiğiniz isimle.

Güven politikası şu şekildedir: JSON biçimi tarafından belirtildiği üzere .json Aşağıdaki komutta uzantı:


Bu not defterini açacaktır. Yapıştırmak aşağıdaki politika not defterinin içinde ve tuşuna basın “CTRL+S” Değişiklikleri kaydetmek için klavyedeki düğmesine basın. Kullanıcının ARN'si aynı zamanda Kullanıcının IAM konsolundaki kontrol panelinden de kopyalanabilir. Bu amaçla IAM kontrol panelini ziyaret edin ve kullanıcının adına tıklayın. Görüntülenen konfigürasyondan, Özet bölümünde görüntülenen kullanıcının ARN'sini kopyalayın.:

{
'Sürüm' : '2012-10-17' ,
'İfade' : {
'Etki' : 'İzin vermek' ,
'Ana' : {
'AWS' : 'arn:aws:iam::123456789012:kullanıcı/örnek kullanıcı'
} ,
'Aksiyon' : 'sts:Rolü Üstlen'
}
}


Yukarıda belirtilen politikada:

    • AWS: Değiştir AWS alan değeri “arn:aws:iam::123456789012:user/example-user ” ile Kullanıcının ARN'si –create-user komutunun çıktısında görüntülenen.

Kullanıcı, kullanıcının ARN'sini belirterek diğer kullanıcıların IAM rolünü üstlenmesini kısıtlayabilir. “AWS” alan:


Devamını oku:

Şimdi bir IAM rolü oluşturun ve güven politikasını buna ekleyin. Bir IAM rolü oluşturmak için aşağıda belirtilen komutu kullanın:

ah ben rol yaratıyorum --rol ismi Kullanıcı rolü --assume-rol politikası-belgesi dosya: // güven-rolü-politikası.json


Yukarıda belirtilen alanların açıklaması aşağıdadır:

    • -rol ismi: Bu alan, bu IAM rolüne atanacak adı girmek için kullanılır. 'Kullanıcı rolü' değerini, seçtiğiniz IAM rolü adıyla değiştirin.
    • –rol politikasını üstlen-belge: Bu alanda komutta verilen yolu belirtin. Trust-role-policy.json dosyasını önceki bölümde belirttiğiniz politika adıyla değiştirin.

Bu komutu çalıştırdığınızda, çıktıda ARN, Yol, Kimlik vb. gibi birkaç bilgi parçası döndürülür:


Devamını oku:

Bu rolü üstlendikten sonra kullanıcı aşağıdaki işlemleri gerçekleştirebilecektir: “Salt Okunur Erişimi” S3 kovasıyla eylem. Komut şu şekilde verilir:

ah ben rol ekleme politikasını --rol ismi Kullanıcı rolü --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Yukarıdaki komutta:

    • -rol ismi: Yer değiştirmek ' Kullanıcı rolü' –role-name alanında IAM rolünün adı Bu eğitimde daha önce belirttiğiniz.
    • –politika-arn: –policy-arn içinde belirtilen arn, S3 klasörü için ReadOnlyAccess iznini ifade eder.

Bu görüntüde role S3 grubu için ReadOnlyAccess izni atanmıştır:


İznin role atanıp atanmadığını doğrulamak için aşağıdaki komutu kullanın:

aws iam listeye bağlı rol politikaları --rol ismi Kullanıcı rolü


Değiştir 'Kullanıcı rolü' IAM rol adınızla birlikte.

“AmazonS3ReadOnlyAccess” IAM rolüne izin eklenmiştir. Komutun çıktısı şu şekilde verilmektedir:

4. Adım: Erişim Anahtarlarını Oluşturun

Bu bölümde kullanıcıya ait erişim anahtarlarını oluşturacağız. Erişim anahtarları AWS Hesabında oturum açmak için kullanılacaktır:

ah ben erişim anahtarı oluştur --Kullanıcı adı demo kullanıcısı


Değiştir demo kullanıcısı kullanıcı oluştururken verdiğiniz IAM kullanıcı adınızla.

Burada komut, oluşturulma tarihi, durum vb. gibi ek ayrıntılarla birlikte bir dizi Erişim anahtarı çifti (AccessKeyId ve Gizli Erişim Anahtarı) döndürdü. Kaydetmek Eğitimin ilerleyen kısımlarında gerekli olacak şekilde AccessKeyId ve SecretAccessKey:


Devamını oku:

5. Adım: Erişim Anahtarını Yapılandırın ve IAM Kullanıcısını Doğrulayın

Erişim anahtarını yapılandırmak için CMD'ye aşağıdaki komutu girin ve ardından Erişim Anahtarı Kimliğini ve Gizli Erişim Anahtarını girin:

aws yapılandırması


Bu bölümün 4. Adımında oluşturulan CLI'ye Erişim Anahtarı Kimliğini ve Gizli Erişim Anahtarını sağlayın. Bölge için varsayılan ayarları koruduk. Kullanıcılar, varsayılan çıktı formatı için herhangi bir çıktı formatını yapılandırabilirler. Bu demo için şunları belirledik: JSON biçim:


IAM kullanıcısının yapılandırılıp yapılandırılmadığını doğrulamak için CLI'ye aşağıdaki komutu sağlayın:

aws sts arayanın kimliğini al


Komutun çıktısı şunu gösterir: “demo kullanıcısı” başarıyla yapılandırıldı ve şu anda AWS hesabında oturum açıldı:


IAM kullanıcısının EC2 bulut sunucularını listeleyebildiğini ve şu anda S3 klasörüne erişiminin olmadığını belirlemek için aşağıdaki komutu kullanın:

aws ec2 açıklama örnekleri --sorgu 'Rezervasyonlar[*].Örnekler[*].[VpcId, InstanceId, ImageId, InstanceType]'


Komutun çıktısı şu şekilde verilmektedir:


Şimdi kullanıcının S3 klasörüne erişip erişemediğini doğrulamak için aşağıdaki komutu girin:

ah s3 ls


Bu, aşağıdakileri gösterecektir: 'Erişim engellendi' kullanıcının S3 klasörüne erişmesine izin verilmediğini belirten hata:

6. Adım: IAM Rolünü Üstlenin

Kullanıcının AWS hesabındaki IAM rollerini listeleme izni vardır. Bu nedenle Rolü üstlenmek için öncelikle aşağıdaki komutu uygulayarak ARN gibi gerekli bilgileri alacağız:

ah ben de rol listesi --sorgu 'Roller[?RoleName == 'kullanıcı rolü'].[RolAdı, Arn]'


'RolAdı' alanındaki 'kullanıcı rolünü' IAM rolü adıyla değiştirin.

ARN yukarıda belirtilen komutun çıktısında verilmiştir:


Artık IAM rolünün ARN'sine sahip olduğumuza göre aşağıdaki komutu kullanarak rolü üstlenebiliriz:

aws sts üstlenilecek rol --role-arn 'arn:aws:iam::123456789012:rol/örnek-rol' --rol-oturum-adı AWSCLI-Oturumu


Yukarıdaki komutta:

    • –rol-arn: –role-arn için belirtilen değeri IAM rolünün ARN'si ile değiştirin.
    • –rol-oturum-adı: Kullanıcı bu alan için tercih ettiği herhangi bir adı sağlayabilir.

Yukarıda belirtilen komutun yürütülmesiyle bir dizi geçici kimlik bilgisi döndürüldü. Bu geçici kimlik bilgileri, istenen izne (ReadOnlyAccess) sahip IAM rolünü üstlenmek için kullanılacaktır. Bu geçici kimlik bilgileri yapılandırılırken AccessKeyId ve SecretAccessKey kullanılacaktır:


Aşağıda komutun çıktısının kısa bir açıklaması verilmiştir:

    • Oturum Belirteci: Oturum belirteci, oturum tabanlı oturum açma işlemini oluşturmak için kullanılır. Kimlik bilgilerini yapılandırırken gerekli olacağı için bu alanın değerini kaydedin.
    • Son: Oturum belirtecinin bir son kullanma tarihi ve saati vardır. Belirlenen sürenin sonunda Token kullanılamaz hale gelecek ve kullanıcı rolü üstlenemeyecek.

Adım 7: Ortam Değişkenini Yapılandırma

Geçici kimlik bilgilerini yapılandırmak için Windows için 'set' komutunu kullanacağız ve ardından Erişim Anahtarı Kimliği, Gizli Erişim Anahtarı, Oturum Belirteci vb. değerini sağlayacağız:

Pencereler için

ayarlamak AWS_ACCESS_KEY_ID =RoleAccessKeyID


RoleAccessKeyID'yi, Adım 6'daki komut tarafından döndürülen Erişim Anahtarı Kimliğiyle değiştirin.

Linux işletim sistemi için

ihracat AWS_ACCESS_KEY_ID =RoleAccessKeyID


RoleAccessKeyID'yi, Adım 6'daki komut tarafından döndürülen Erişim Anahtarı Kimliğiyle değiştirin.

Erişim Anahtarı yapılandırıldı:


Daha sonra Windows için “set” komutunu kullanarak Gizli Erişim Anahtarını yapılandıracağız:

Pencereler için

ayarlamak AWS_SECRET_ACCESS_KEY =RolGizliAnahtarı


RoleSecretKey'i, Adım 6'daki komut tarafından döndürülen Gizli Erişim Anahtarı değeriyle değiştirin.

Linux işletim sistemi için

ihracat AWS_SECRET_ACCESS_KEY =RolGizliAnahtarı


AWS_SECRET_ACCESS_KEY'i, Adım 6'daki komut tarafından döndürülen Gizli Erişim Anahtarıyla değiştirin.

Gizli Erişim Anahtarı başarıyla yapılandırıldı:


Son olarak, oturum tabanlı oturum açmayı oluşturmak için oturum belirtecini yapılandıracağız. Bu amaçla aşağıda belirtilen komutu kullanın:

Pencereler için

ayarlamak AWS_SESSION_TOKEN =RoleSessionToken


RoleSessionToken'ı, Adım 6'daki komut tarafından döndürülen Session Token değeriyle değiştirin.

Linux işletim sistemi için

ihracat AWS_SESSION_TOKEN =RoleSessionToken


RoleSessionToken'ı, Adım 6'daki komut tarafından döndürülen Session Token değeriyle değiştirin.

Oturum Belirtecinin değeri başarıyla yapılandırıldı:


Oturum Belirtecinin değerini CMD'den kopyalamak için tuşuna basın. “CTRL + ÜST KRKT + C” .

Ortam değişkenlerini yapılandırdıktan sonra, rolün kullanıcı tarafından üstlenilip üstlenilmediğini aşağıdaki komutu kullanarak doğrulayın:

aws sts arayanın kimliğini al


Komutun çıktısı IAM rolünün gerçekleştiğini doğrular başarıyla varsayıldı ARN dönüşü kullanıcı tarafından “arn:aws:sts::123456789012:üstlenilen rol/kullanıcı rolü/AWSCLI Oturumu” yerine “arn:aws:iam::123456789012:kullanıcı/demo-kullanıcı”:


Rol ReadOnlyAccess iznini içerdiğinden kullanıcının paketleri şimdi listeleyebilmesi gerekir. Bu amaçla CLI'ye aşağıdaki komutu sağlayın:

ah s3 ls


Komutun çıktısı, AWS hesabında halihazırda yapılandırılmış olan tüm S3 klasörünü başarıyla listeler:


Ancak, üstlenilen rolün EC2 hizmeti için izni olmadığından kullanıcı EC2 hizmetine erişemeyecektir. Bunu doğrulamak için aşağıdaki komutu kullanın:

aws ec2 açıklama örnekleri --sorgu 'Rezervasyonlar[*].Örnekler[*].[VpcId, InstanceId, ImageId, InstanceType]'


Daha önce kullanıcı EC2 hizmet bilgilerine erişebiliyordu. Ancak yukarıda belirtilen komutu çalıştırdığınızda, 'Erişim engellendi' hata meydana geldi. Kullanıcı IAM rolünü başarıyla üstlendi:


Bunların hepsi bu bölümden.

Bonus İpucu: Ortam Değişkenlerini Ayarlamayı Kaldırın

IAM kullanıcısına, yani demo kullanıcıya geri dönmek için kullanıcı, Ortam değişkenlerini boş dizelere ayarlayarak ortam değişkenlerini kaldırabilir. Verilen komutlar şunlardır:

Pencereler için

AYARLAMAK AWS_ACCESS_KEY_ID =
AYARLAMAK AWS_SECRET_ACCESS_KEY =
AYARLAMAK AWS_SESSION_TOKEN =


Linux için

Aşağıda belirtilen komutu kullanın:

ayarsız AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Yukarıda belirtilen komutlar ortam değişkenlerini ayarlayacaktır:


Yukarıdaki komutları yürüttükten sonra konsolun şimdi geri dönmesi gerekir. “demo kullanıcısı” varsayılan rol, yani kullanıcı rolü yerine, şu anda oturum açmış kullanıcı olarak. Bu amaçla aşağıdaki komutu kullanacağız:

aws sts arayanın kimliğini al


Komutun çıktısı, şu anda oturum açmış olan kullanıcının demo kullanıcı olduğunu gösterir:


Benzer şekilde, kök kullanıcı olarak oturum açmak için şu adımları izleyin: “C:\Kullanıcılar%KULLANICIPROFİLİ%.aws” yolunu seçin ve kimlik bilgileri dosyasına tıklayın:


Kimlik bilgileri dosyasında Erişim Anahtarı ve Gizli Erişim Anahtarı değerlerini kök kullanıcının Erişim ve Gizli Erişim Anahtarı ile değiştirin:


Kimlik bilgilerinin doğru yapılandırılıp yapılandırılmadığını doğrulamak için CLI'ye aşağıdaki komutu sağlayın:

aws yapılandırması


Burada aşağıdaki görüntüde root kullanıcısının Erişim anahtarının ve Gizli Erişim anahtarının başarıyla yapılandırıldığını görebiliriz:


Eğitimin bu bölümünden hepsi bu.

Yöntem 2: –profile Parametresini Kullanma

Rolü üstlenmenin başka bir yöntemi de CLI'deki “–profile” alanını kullanmaktır. Makalenin bu bölümünde –profile aracılığıyla AWS'de rol üstlenmenin pratik uygulaması sunulmaktadır. Aşağıda bunun için adımlar verilmiştir:

1. Adım: Bir IAM Kullanıcısı oluşturun

Bir IAM kullanıcısı oluşturmak için aşağıdaki komutu kullanarak CLI aracılığıyla kök kullanıcı hesabında oturum açın:

aws yapılandırması


Komut çıktısında gösterildiği gibi kimlik bilgileri bu demo için CLI'de zaten yapılandırılmıştır:


Daha fazla bilgi edin:

Bir IAM kullanıcısı oluşturmak için CLI'ye aşağıdaki komutu sağlayın:

ah ben kullanıcı oluşturucuyum --Kullanıcı adı profil kullanıcısı


Kullanıcı başarıyla oluşturuldu. Kullanıcının ARN'sini aşağıdaki resimde gösterildiği gibi kaydedin. Bu IAM kullanıcısının ARN'si bu eğitimin ilerleyen kısımlarında kullanılacaktır. Şu anda bu IAM kullanıcısıyla ilişkili izin yok:


Devamını oku:

2. Adım: Erişim Anahtarı Oluşturun

AWS'de her kullanıcıya oturum açması için bir çift Erişim anahtarı atanır. Bu kullanıcıya yönelik Erişim Anahtarlarını oluşturmak için kullanıcıya aşağıdaki komutu girin:

ah ben erişim anahtarı oluştur --Kullanıcı adı profil kullanıcısı


Bu komut bir dizi Erişim Anahtarı döndürür. Kaydetmek the Erişim Anahtarı Kimliği Ve GizliErişimAnahtarı AWS hesabına giriş yaparken gerekli olacağı için:


Şimdi bu AccessKeyId ve SecretAccessKey'i kullanarak AWS CLI'de oturum açarsak ve herhangi bir kaynağa erişirsek; S3 kovası, 'Erişim engellendi' hata meydana gelecektir. Bunun nedeni şu anda IAM kullanıcısıyla ilişkilendirilmiş herhangi bir iznin bulunmamasıdır. AWS CLI'de oturum açmak için aşağıdaki komutu kullanın ve daha önce oluşturulan Erişim Anahtarı Kimliğini ve Gizli erişim anahtarını sağlayın:

aws yapılandırması --profil profil kullanıcısı


Değiştir “profil kullanıcısı” kullanıcıyı oluştururken sağladığınız IAM kullanıcı adı ile.

Burada AWS CLI'de IAM kullanıcısı olarak başarıyla oturum açtık:


Bu kullanıcının S3 grubu için salt okunur izinlere sahip olup olmadığını doğrulamak için CLI'ye aşağıdaki komutu sağlayın:

ah s3 ls --profil profil kullanıcısı


Kullanıcı profilini, kullanıcıyı oluştururken sağladığınız IAM kullanıcı adıyla değiştirin.

Bu kullanıcıya kök kullanıcı tarafından herhangi bir izin atanmadığından, ' Erişim engellendi ' hata:

3. Adım: Bir Güven Politikası ve IAM Rolü Oluşturun

Güven politikası, bir kullanıcının veya bir AWS kaynağının, rolü üstlenmek ve izinleri almak için güvenilir bir varlık olup olmadığını belirler. Bu güven ilişkisi, IAM kullanıcısının veya AWS kaynağının ARN'sinin İzin Politikasında belirtilmesiyle oluşturulur.

IAM içinde bir güven politikası oluşturmak için CLI'ye aşağıdaki komutu sağlayın:

Pencereler için

not defteri güven politikası.json


Değiştir güven politikası.json Poliçe için tercih ettiğiniz isimle.

Linux işletim sistemi için

Çünkü güven-rolü-politikası.json


Değiştir güven politikası.json Poliçe için tercih ettiğiniz isimle.

Kullanıcılar tercih ettikleri herhangi bir metin düzenleyiciyi kullanabilirler. Bu demo için not defterini kullanıyoruz:


Bu, güven politikasını oluşturmak için not defterini açacaktır. Aşağıdaki politikayı not defterine yapıştırın ve tuşuna basın. “CTRL+S” Değişiklikleri uygulamak ve kaydetmek için klavyeden:

{
'Sürüm' : '2012-10-17' ,
'İfade' : {
'Etki' : 'İzin vermek' ,
'Ana' : {
'AWS' : 'arn:aws:iam::012345678910:kullanıcı/profil-kullanıcı'
} ,
'Aksiyon' : 'sts:Rolü Üstlen'
}
}


Yukarıdaki politikada: AWS: 'arn:aws:iam::012345678910:user/policy-user' değerini, bu bölümde daha önce oluşturulan IAM kullanıcısının ARN'si ile değiştirin.

Politika not defterinde düzenlendi:


Daha sonra bir IAM rolü oluşturacağız ve yukarıdaki güven politikasını ona ekleyeceğiz. Bir IAM rolü oluşturmak için aşağıdaki komutu kullanın:

ah ben rol yaratıyorum --rol ismi benim rolüm --assume-rol politikası-belgesi dosya: // güven politikası.json


Yukarıda belirtilen komutta:

    • -rol ismi: Değiştir 'benim rolüm' seçtiğiniz IAM rolü adıyla.
    • –rol politikasını üstlen-belge: Bu alanda terimi değiştirin “güven politikası.json” IAM güven politikanızın adıyla birlikte

IAM rolü başarıyla oluşturuldu. IAM rolünü kaydedin. Aşağıdaki resimde vurgulandığı gibi IAM rolünün ARN'sini kaydedin. Bu ARN, kullanıcının profilini yapılandırırken kullanılacaktır:


IAM'ye eklenen güven politikası, rolü üstlenmek için kullanıcıya güvenilip güvenilmediğini tanımlar. İzin Politikası, IAM rolünün AWS hizmetleriyle belirli bir eylemi gerçekleştirmek için gerekli izne sahip olup olmadığını belirler.

Güven politikası IAM rolüne eklendiğinden sonraki adım, izin politikasını IAM rolüne eklemektir. Aşağıda belirtilen komut, IAM rolüne izin politikası eklemek için kullanılacaktır:

ah ben rol ekleme politikasını --rol ismi benim rolüm --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Burada izin politikası CLI aracılığıyla IAM rolüne eklenmiştir:

4. Adım: Profili Yapılandırın

Kullanıcının bu rolü üstlenebilmesi için öncelikle bu profili AWS’nin kimlik bilgileri içerisinde yapılandıracağız. Bu geçici kimlik bilgilerini eklemek için aşağıdaki komutu girin:

not defteri ~ / .aws / yapılandırma


Bonus İpucu: Not Defteri'nde 'Yol belirtilmedi' sorununu çözün

Yapılandırma dosyası AWS CLI'nin [varsayılan] ayarını içerecektir. Ancak not defterinde “Sistem belirtilen yolu bulamıyor” mesajı görüntülenirse aşağıdaki komutu girin:

not defteri .aws / yapılandırma


Linux kullanıcıları şunları kullanabilir: 'Çünkü' profili yapılandırmak için düzenleyici. Kullanıcılar, AWS'nin yapılandırma dosyasını yerel makinede açmak için tercih ettikleri herhangi bir düzenleyiciyi kullanabilir:


Not Defteri'nde açılan yapılandırma dosyasında aşağıdaki değişiklikleri düzenleyin:

[ profil profili-kullanıcı ]
role_arn = arn:aws:iam::012345678910:rol / benim rolüm
kaynak_profili =profil-kullanıcı


Yukarıdaki kesitte:

    • role_arn: 'arn:aws:iam::012345678910:role/myrole' değerini IAM rolünün ARN'si ile değiştirin.
    • kaynak_profili: Bu alana, bu yöntemin 1. Adımında oluşturulan IAM kullanıcısının adını girin.

Gerekli değişiklikleri yaptıktan sonra tuşuna basın. “CTRL+S” Değişiklikleri uygulamak ve kaydetmek için klavyeden:


Şimdi kullanıcının S3 klasörlerini listeleyip listeleyemeyeceğini doğrulamak için CLI'ye aşağıdaki komutu sağlayın:

ah s3 ls --profil profil kullanıcısı


Yukarıdaki komutta: –profil kullanıcısı: Bu alanda 'profil kullanımı' değerini, yapılandırma dosyasında belirttiğiniz adla değiştirin.

Config dosyasında “profil-kullanıcı”yı belirttiğimiz için CLI’deki komutla aynı ismi kullanacağız. Daha önce kullanıcı, AWS'nin S3 hizmetine herhangi bir izin atanmadığından erişemiyordu. IAM rolü, S3 kümesinin 'ReadOnlyAccess' iznine sahiptir ve bu nedenle, bu rolü üstlenerek kullanıcı, grupları S3 Kontrol Panelinden listeleyebilir:


Hepsi bu eğitim yönteminden.

Yöntem 3: MFA'yı Kullanma (Çok Faktörlü Kimlik Doğrulama)

Çok Faktörlü Kimlik Doğrulamayı etkinleştirerek kullanıcı, hesabına ek bir güvenlik katmanı yapılandırabilir. MFA etkinleştirildiğinde, yetkisiz kullanıcılar parola ve kullanıcı adı sağlasalar bile kullanıcının hesabına erişemez. MFA, hesaba giriş yapmak için gereken altı haneli bir koddur. Çok faktörlü kimlik doğrulama hakkında daha fazla bilgi edinmek için şu makaleye bakın:

CLI aracılığıyla MFA'da rol üstlenme adımları aşağıda verilmiştir:

1. Adım: Bir IAM Kullanıcısı Oluşturun ve MFA'yı Etkinleştirin

Bu adımda kullanıcı, kullanıcıyı oluşturmak için CLI'yi kullanabilir veya AWS Management Console'a erişebilir. Aşağıdaki komutu kullanarak kök kullanıcı hesabında oturum açın:

aws yapılandırması


Komutun çıktısı şu şekilde verilmektedir:


Bir kullanıcı oluşturmak için CLI'ye aşağıdaki komutu sağlayın:

ah ben kullanıcı oluşturucuyum --Kullanıcı adı mfa kullanıcısı


Yukarıdaki komutta: -Kullanıcı adı: Değiştir “mfa kullanıcısı” seçtiğiniz IAM kullanıcı adı ile.

Kullanıcı başarıyla oluşturuldu. Bu bölümün ilerleyen kısımlarında gerekeceği için kullanıcının ARN'sini kaydedin. Şu anda bu kullanıcıya herhangi bir izin atanmadı:


MFA'yı etkinleştirmek için AWS Management Console'u ziyaret edin ve IAM hizmetini arayın. Görüntülenen sonuçlardan üzerine tıklayın:


IAM hizmetinin sol gezinme bölmesinden Kullanıcılar seçeneğine tıklayın. Kullanıcılar kontrol panelinden MFA'yı yapılandırmak için kullanıcı adına tıklayın:


Bir sonraki arayüzde, “Güvenlik kimlik bilgileri” seçenek:


Aşağıya doğru kaydırın Çok Faktörlü Kimlik Doğrulama bölümüne tıklayın ve “MFA cihazını ata” düğme:


Bir sağlayın anlamlı isim içinde Cihaz adı Görüntülenen arayüzdeki metin alanı:


MFA cihazı bölümüne ilerleyin. Kullanıcıya, Güvenlik Anahtarı veya Donanım TOTP belirteci aracılığıyla QR kodunu taramak gibi MFA'yı etkinleştirmek için çeşitli seçenekler sunulur. Bu demo için şunu seçin: “Kimlik doğrulama uygulaması” seçenek:


öğesine dokunun 'Sonraki' daha ileri gitmek için arayüzün altındaki düğme:


Tıkla “QR kodunu göster” aşağıdaki resimde gösterildiği gibi:


Başlat QR kodunu taramak için cep telefonunuzdaki veya dizüstü bilgisayarınızdaki uygulamayı kullanın. öğesine dokunun “+” Symantec VIP arayüzünden seçenek:


Play Store'da Symantec VIP, VIP Access olarak adlandırılmaktadır.

Symantec VIP'nin bir sonraki arayüzünde, QR kodunu tarayın arayüzün altındaki düğme:


AWS MFA'dan QR kodunu tarayın Authenticator'ın uygulama arayüzü görüntülenir. Bu kod, IAM kullanıcısının konsolunda oturum açmak için gerekli olacak bir dizi kod oluşturacaktır:


Symantec VIP uygulaması oluşturacak altı haneli OTP QR kodunu taradıktan sonra. Bu kodlar her seferinde gelmeye devam edecek 30 saniye . Aşağıdaki ekran görüntüsü oluşturulan iki kodu göstermektedir:


Kodları yetkililere verin MFA kodu 1 Ve MFA kodu 2 MFA'nın Authenticator Uygulaması arayüzündeki metin alanları. Tıkla “MFA'yı ekle” İşlevselliği etkinleştirmek için daha sonra düğmesine basın:


MFA, IAM kullanıcısı için başarıyla etkinleştirildi. Bu şu şekilde doğrulanabilir: “Çok faktörlü kimlik doğrulama (MFA)” bölümü “Güvenlik kimlik bilgileri” sekmesi IAM kullanıcısı . Rolü üstlenirken gerekli olacağı için bu bölümden Identifier değerini kaydedin:

2. Adım: Kullanıcıya Politika Ekleme

Bir kullanıcının bir rolü üstlenebilmesi için, kullanıcının hangi rolü üstleneceğini ve rolü üstlenme iznini belirlemek amacıyla IAM rolünü listeleyebilmesi gerekir. Kullanıcıya gerekli izni vermek için aşağıdaki adımları izleyin: Bu eğitimdeki Yöntem 1'in

3. Adım: Güven Politikası ve IAM rolünü oluşturun

Bir sonraki adım, kullanıcının güvenilir bir varlık olup olmadığını belirlemek için bir Güven politikası oluşturmaktır. Bu Güven Politikası daha sonra IAM rolüne eklenecektir. Güven politikasını ve IAM rolünü oluşturmak için Komut İstemi'ne gidin ve aşağıdaki adımları izleyin: Bu makaledeki Yöntem 1'in açıklaması.

4. Adım: Erişim Anahtarı Oluşturun

Kullanıcının yetkilendirilmesi ve kimliğinin doğrulanması için AWS platformunda küresel olarak benzersiz olan bir çift Erişim Anahtarı oluşturulur. Bu Anahtar çiftleri, AWS hesabına oturum açtığınızda kullanılır. IAM kullanıcısı için Erişim Anahtarlarını oluşturmak için şu adımları izleyin: Bu makaledeki Yöntem 1'in.

5. Adım: Kimlik Bilgilerini Yapılandırın

AWS kullanıcısı, yalnızca kimlik bilgilerinin doğru yapılandırılması durumunda AWS kaynaklarına ve hizmetlerine erişebilir. Yöntemin bu bölümünde Komut Satırı Arayüzüne Erişim Anahtarı ve Gizli Erişim Anahtarını sağlayarak IAM kullanıcısının kimlik bilgilerini yapılandıracağız. Bu amaçla aşağıdakileri izleyin: Bu öğreticinin Yöntem 1'inin.

6. Adım: IAM rolünü üstlenin

IAM rolünü başarıyla ekledikten ve Güven politikasını uyguladıktan sonra kullanıcı artık IAM rolünü üstlenebilir. Bu amaçla CLI'ye aşağıdaki komutu sağlayın:

ah ben erişim anahtarı oluştur --Kullanıcı adı mfa kullanıcısı


Burada anahtar IAM kullanıcısı için başarıyla oluşturuldu. AWS hesabında oturum açmak için gerekli olacak şekilde AccessKeyId ve SecretAccessKey'i kaydedin:


Bir sonraki adım, AWS CLI içindeki Erişim Anahtarlarını yapılandırmaktır. CLI'yi yapılandırmak için aşağıda belirtilen komutu kullanın:

aws yapılandırması


Yapılandırmalar için CLI'ye Erişim Anahtarını ve Gizli Erişim Anahtarını sağlayın:


IAM kullanıcısının AWS CLI'de oturum açıp açmadığını doğrulamak için aşağıdaki komutu kullanın:

aws sts arayanın kimliğini al


Kullanıcının AWS konsoluna başarıyla giriş yaptığını gösteren komutun çıktısı şu şekilde verilir:


Kullanıcı, AWS hesabındaki IAM rollerini listeleme iznine sahiptir. Aşağıda verilen komut IAM rollerini listelemek için kullanılır:

ah ben de rol listesi --sorgu 'Roller[?RoleName == 'mfa-role'].[RoleName, Arn]


Yukarıdaki komutta: Rol ismi: Bu alanda 'mfa-role' değerini IAM rolünüzün adıyla değiştirin.

Komutun çıktısı şu şekilde verilmektedir:


MFA ile IAM rolünü üstlenmek için seri numarası ve belirteç kodu gibi ek parametrelerle birlikte role bürün komutunu kullanın. CLI'ye aşağıdaki komutu sağlayın:

aws sts üstlenilecek rol --role-arn 'arn:aws:iam::123456789012:rol/m-rol' --rol-oturum-adı AWSCLI-Oturumu --seri numarası 'arn:aws:iam::012345678910:mfa/yönetici cihazı' --token-kodu '123456'


Yukarıdaki komutta:

    • –rol-arn: Bu alanın değerini IAM rolünüzün ARN'si ile değiştirin.
    • –rol-oturum-adı: Bu alanda kullanıcı istediği oturum adını girebilir.
    • -seri numarası: Bu alanın değerini, daha önce kaydedilen MFA arabirimindeki Tanımlayıcı değeriyle değiştirin.
    • –token kodu: Bu değer, Symantec VIP arayüzünde görüntülenen geçerli kodla değiştirilecektir.

Symantec VIP'de gösterilen güncel kod aşağıdaki şekilde verilmiştir. Aynı kod, komutun –token-code değerinde kullanılacaktır:


Komutun çıktısı, Oturum Belirteci, Erişim Anahtarı, Gizli Erişim anahtarı vb. gibi geçici kimlik bilgilerini içerecektir:

Adım 7: Ortam Değişkenlerini Yapılandırma

Erişim anahtarları ve döndürülen oturum belirteci artık oturum tabanlı oturum açma işlemini oluşturmak ve rolü üstlenmek için kullanılacaktır. Ortamı yapılandırmaya yönelik ayrıntılı uygulama şurada tartışılmaktadır: Yöntem 1'in.

Son düşünceler

CLI kullanarak bir rol üstlenmek için üç yöntem vardır; yani STS (güvenlik belirteci hizmeti), –profile parametresi veya MFA (Çok Faktörlü Kimlik Doğrulama). Bir kullanıcının rol üstlenebilmesi için öncelikle bir Güven politikasının oluşturulması gerekir. Bu güven politikası kullanıcının güvenilir bir varlık olup olmadığını belirler. Bu işlevsellik, BT uzmanlarının ve bireylerin güvenlik endişelerini giderdiği için gereklidir. Ayrıca kullanıcı, yalnızca gerekli izinlere sahip olması durumunda rolü üstlenebilir.

Bir kullanıcı AWS'de bir rol üstlendiğinde, kullanıcıya istenen izinlerle sınırlı süreli erişim sağlamak için oturum tabanlı bir oturum açma oluşturulur. Belirli bir süre sonra süresi dolan bir jeton oluşturulur ve bu nedenle kullanıcı artık AWS kaynaklarıyla yönetim görevini gerçekleştiremez. Bu makalede, AWS CLI'de rol üstlenmeye yönelik üç yöntemin pratik bir uygulaması sunulmaktadır.