AWS Türkçe Blog

IAM Access Analyzer, rol güven politikalarını yazmayı ve doğrulamayı kolaylaştırır

Orijinal makale: Link (Mathangi Ramesh)

AWS Identity and Access Management (IAM) Access Analyzer, izinleri ayarlamanıza, doğrulamanıza ve hassaslaştırmanıza yardımcı olacak birçok araç sağlar. IAM Access Analyzer’ın bir parçası olan –politika doğrulama-, amaçlanan izinleri veren güvenli ve işlevsel politikalar yazmanıza yardımcı olur. Şimdi AWS’in, kimlerin rol üstlenebileceğini denetleyen politikayı yazmanızı ve doğrulamanızı kolaylaştırmak için rol güven politikalarına (role trust policies) yönelik IAM konsolu deneyimini güncellediğini duyurmaktan heyecan duyuyorum. Bu gönderide, yeni yetenekleri açıklayacağım ve IAM konsolunda bir rol güven politikası yazarken bunları nasıl kullanacağınızı göstereceğim.

Değişikliklere genel bakış

Rol güven politikası (role trust policy), rolü üstleneceğine güvendiğiniz politikaları tanımladığınız bir JSON politikası belgesidir. Güven politikasında belirtebileceğiniz politikalar arasında kullanıcılar, roller, hesaplar ve hizmetler bulunur. Yeni IAM konsol deneyimi, güven politikasında doğru izinleri ayarlamanıza yardımcı olacak aşağıdaki özellikleri sağlar:

  • Etkileşimli bir politika düzenleyici, asıl ve izin verilen eylemler gibi doğru politika öğelerini eklemenizi ister ve bağlama özel belgeler sunar.
  • Siz politikayı yazarken, IAM Access Analyzer, politikanız için 100’ün üzerinde kontrol gerçekleştirir ve düzeltilmesi gereken sorunları vurgular. Bu, kimlik sağlayıcınızı doğru biçimlendirdiğinizden emin olmak için yapılan bir kontrol gibi, rol güven politikalarına özgü yeni politika denetimlerini içerir. Bu yeni kontroller, IAM Access Analyzer politika doğrulama API‘ı aracılığıyla da kullanılabilir.
  • Politikayı kaydetmeden önce, güven politikanız tarafından verilen dış erişime ilişkin bulguları ön izleyebilirsiniz. Bu, federe bir kimlik sağlayıcısına verilen erişim gibi harici erişimi gözden geçirmenize ve politikayı oluşturduğunuzda yalnızca amaçlanan erişimi verdiğinizi doğrulamanıza yardımcı olur. Bu işlev daha önce API’lar aracılığıyla mevcuttu, ancak şimdi IAM konsolunda da mevcut.

Aşağıdaki bölümlerde, bu yeni özelliklerin nasıl kullanılacağı konusunda size yol göstereceğim.

Örnek senaryo

İzlenecek yol için, Şekil 1’de gösterilen aşağıdaki örneği inceleyin. Example Corp.’un geliştiricisisiniz ve bir web uygulaması üzerinde çalışıyorsunuz. Bir hesapta (ApplicationHost hesabı) barındırılan uygulamaya, başka bir hesaptaki (BusinessData hesabı) verilere erişim izni vermek istiyorsunuz. Bunu yapmak için, bir rol güven politikası aracılığıyla uygulamaya geçici erişim vermek üzere BusinessData hesabında bir IAM rolü kullanabilirsiniz. BusinessData hesabına bir rol (ApplicationAccess rolü) aracılığıyla erişmek için ApplicationHost hesabında bir rol (PaymentApplication rolü) vereceksiniz. Bu örnekte, doğru izinleri ayarlamanıza yardımcı olan yeni IAM konsolu deneyimini kullanarak ApplicationAccess rolünü oluşturur ve güven politikası aracılığıyla hesaplar arası izinler verirsiniz.

Figure 1: Visual explanation of the scenario

Şekil 1: Senaryonun görsel anlatımı

Politika düzenleyiciyle bir rol güven politikası aracılığıyla rolü oluşturun ve izinler verin

Bu bölümde, IAM konsolundaki politika düzenleyicisi aracılığıyla uygulamanın hesabınızdaki verilere erişimini sağlamak için ApplicationAccess rolü için bir rol güven politikasının nasıl oluşturulacağını göstereceğim.

Bir rol oluşturmak ve erişim izni vermek için

  1. BusinessData hesabında IAM konsolunu açın ve sol gezinme bölmesinde Roles seçin.
  2. Create role‘u seçin ve ardından Şekil 2’de gösterildiği gibi Custom trust policy‘i seçin..

    Figure 2: Select "Custom trust policy" when creating a role

    Şekil 2: Rol oluştururken “Custom trust policy”i seçin

  3. Custom trust policy bölümünde, 1. Add actions for STS kısmında, politikanız için ihtiyaç duyduğunuz eylemleri seçin. Örneğin, sts:AssumeRole eylemini eklemek için AssumeRole‘u seçin:

    Figure 3: JSON role trust policy

    Şekil 3: JSON rolü güven politikası

  4. 2. Add a principal için, bir asli (principal) eklemek için Add’i seçin.
  5. Add principal kutusunda, Principal type için IAM roles‘ü seçin. Bu, ARN alanını, Şekil 4’te gösterildiği gibi politikaya eklemeniz gereken ARN rolünün biçimiyle doldurur.

    Figure 4: Add a principal to your role trust policy

    Şekil 4: Rol güven politikanıza bir asli ekleyin

  6. Rol ARN şablonunu gerçek hesap ve rol bilgileriyle güncelleyin ve ardından Add principal‘ı seçin. Örneğimizde hesap, 111122223333 AWS hesap numarasına sahip ApplicationHost ve rol PaymentApplication rolüdür. Bu nedenle, ARN rolü arn:aws:iam:: 111122223333: role/PaymentApplication şeklindedir. Şekil 5, eylem ve asli eklenmiş olarak rol güven politikasını gösterir.

    Figure 5: Sample role trust policy

    Şekil 5: Örnek rol güven politikası

  7. (İsteğe bağlı) Bir koşul eklemek için, 3. Add a condition adımından, Add‘i seçin ve ardından Add condition kutusunu ihtiyaçlarınıza göre doldurun.

Politika doğrulama bulgularını gözden geçirerek güvenli politikalar oluşturun

Politikayı yazarken, konsoldaki politika düzenleyicisinin altında bulunan politika doğrulama penceresinde politikanızla ilgili hataları veya uyarıları görebilirsiniz. Bu lansmanla birlikte, IAM Access Analyzer’daki politika doğrulaması, rol için güven ilişkisine odaklanan 13 yeni kontrol içeriyor. Aşağıda bu kontrollere ve bunların nasıl ele alınacağına ilişkin birkaç örnek verilmiştir:

  • Role trust policy unsupported wildcard in principal – rol güven politikanızda * kullanamazsınız.
  • Invalid federated principal syntax in role trust policy – kimlik sağlayıcının biçimini düzeltmeniz gerekir.
  • Missing action for condition key – belirli bir koşul için, oturum etiketi koşulları olduğunda sts:TagSession gibi doğru eylemi eklemeniz gerekir.

Denetimlerin tam listesi için bkz. Access Analyzer politika denetimi referansı.

Politika doğrulama bulgularını gözden geçirmek ve düzeltmek için

  1. Politika doğrulama penceresinde aşağıdakileri yapın:
    • Politikanızın aşırı derecede izin verici olup olmadığını kontrol etmek için Security sekmesini seçin.
    • Politikayla ilişkili tüm hataları incelemek için Errors sekmesini seçin.
    • Politikanın bazı yönlerinin AWS’in en iyi uygulamalarıyla uyumlu olup olmadığını incelemek için Warnings sekmesini seçin.
    • Politikanızın kalitesini nasıl iyileştireceğinize ilişkin öneriler almak için Suggestions sekmesini seçin.

    Figure 6: Policy validation window in IAM Access Analyzer with a finding for your policy

    Şekil 6: Politikanız için bir bulgu içeren IAM Access Analyzer’da politika doğrulama penceresi

  2. Her bulgu için, bulguyla ilişkili belgeleri gözden geçirmek ve düzeltmek için adımları atmak üzere Learn more’u seçin. Örneğin, Şekil 6, Mismatched Action For Principal hatasını gösterir. Hatayı düzeltmek için sts:AssumeRoleWithWebIdentity eylemini kaldırın.

Hesaplar arası erişim bulgularını gözden geçirerek harici erişimi ön izleyin

IAM Access Analyzer, bir politikanın harici varlıklara erişim izni verip vermediğini değerlendirmenize yardımcı olacak bulgular da üretir. Politikanın yalnızca amaçlanan erişimi sağladığından emin olmak için politikayı oluşturmadan önce bulguları gözden geçirebilirsiniz. Bulguları ön izlemek için bir çözümleyici (analyzer) oluşturur ve ardından bulguları gözden geçirirsiniz.

Dış erişim için bulguları ön izlemek için

  1. Politika düzenleyicinin altında, Preview external access bölümünde, Şekil 7’de gösterildiği gibi Go to Access Analyzer‘ı seçin..

    Not: IAM Access Analyzer bölgesel bir hizmettir ve faaliyet gösterdiğiniz her AWS Bölgesinde yeni bir çözümleyici oluşturabilirsiniz. Bu durumda, IAM Access Analyzer, IAM konsoluna geldiğiniz bölgede bir çözümleyici arar. IAM Access Analyzer orada bir çözümleyici bulamazsa sizden bir tane oluşturmanızı ister.

    Figure 7: Preview external access widget without an analyzer

    Şekil 7: Çözümleyici olmadan harici erişim widget’ını ön izleyin

  2. Create analyzer sayfasında, çözümleyici oluşturmak için aşağıdakileri yapın::
    • Name alanına çözümleyiciniz için bir ad girin.
    • Zone of trust için doğru hesabı seçin.
    • Create analyzer’ı seçin.

    Figure 8: Create an analyzer to preview findings

    Şekil 8: Bulguları ön izlemek için bir çözümleyici oluşturun

  3. Çözümleyiciyi oluşturduktan sonra, bu politika tarafından verilen dış erişimi gözden geçirmek için rolünüzün rol güven politikasına geri dönün. Aşağıdaki şekil, PaymentApplication’a harici erişim verildiğini göstermektedir.

    Figure 9: Preview finding

    Şekil 9: Ön izleme bulma

  4. Erişim amaçlanıyorsa, herhangi bir işlem yapmanız gerekmez. Bu örnekte, ApplicationHost hesabındaki PaymentApplication rolünün oluşturduğum rolü üstlenmesini istiyorum.
  5. Erişim amaçlanmamışsa, rol ARN bilgilerini güncelleyerek bulguyu çözün.
  6. Next’i seçin ve rol için gerekli IAM izinlerini verin.
  7. Rolü ApplicationAccess olarak adlandırın ve ardından rolü kaydetmek için Save‘i seçin.

Artık uygulama, BusinessData hesabına erişmek için bu rolü kullanabilir.

Sonuç

Rol güven politikaları için yeni IAM konsolu deneyimini kullanarak, amaçlanan erişimi sağlayan politikaları güvenle yazabilirsiniz. IAM Access Analyzer, güvenli politikalar yazmanızı kolaylaştırmak için politikayı potansiyel sorunlar için değerlendirerek en az ayrıcalıklı yolculuğunuzda size yardımcı olur. IAM Access Analyzer ayrıca, verilen erişimin amaçlandığından emin olmak için güven politikası aracılığıyla verilen harici erişimi ön izlemenize yardımcı olur. IAM Access Analyzer hesaplar arası bulgularının nasıl ön izleneceği hakkında daha fazla bilgi edinmek için belgelerdeki Ön izleme erişimi bölümüne bakın. IAM Access Analyzer politika doğrulama denetimleri hakkında daha fazla bilgi edinmek için bkz. Access Analyzer politika doğrulaması. Bu özelliklere API’lar aracılığıyla da erişilebilir.

Bu gönderiyle ilgili sorularınız varsa, AWS IAM re:Post adresinde yeni bir ileti dizisi başlatın veya AWS Support ile iletişime geçin.