Bir geliştirici, Amazon DynamoDB (us-west-2) kullanan bir uygulamada hata ayıklıyor. Uygulama bir Amazon EC2 instance üzerinde çalışıyor ve Cars adlı bir tabloya salt okunur erişime ihtiyaç duyuyor. EC2 instance'ın ekli bir ilkeye sahip bir IAM rolü var, ancak uygulama Cars tablosunu okumaya çalıştığında Access Denied hatası alıyor. Geliştirici bu sorunu nasıl çözmeli?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: EC2 hizmet sorumlusunu listeleyen bir güven ilkesi oluşturun ve bu güven ilkesini role ekleyin..
Neden bu cevap
Uygulama bir EC2 instance üzerinde çalıştığı ve DynamoDB'ye erişim hatası aldığı için, EC2 instance'ına atanan IAM rolünün güven ilişkisi (trust policy) doğru yapılandırılmamıştır. Bir EC2 instance'ının bir IAM rolünü üstlenebilmesi için, rolün güven ilkesinde ec2.amazonaws.com hizmet sorumlusunun belirtilmesi gerekir. Bu, EC2'nin bu rolü üstlenmesine izin verir ve böylece instance'taki uygulamalar rolün izinlerini kullanabilir. Diğer seçenekler neden yanlış: IAM ilkesinin Resource'unu "arn:aws:dynamodb:us-west-2:account-id:table/" olarak değiştirmek, kaynak erişimini genişletir ancak rolün EC2 tarafından üstlenilememesi sorununu çözmez. IAM ilkesini dynamodb: eylemini içerecek şekilde güncellemek, izinleri genişletir ancak yine güven ilişkisi sorununu çözmez. Uygulama sadece okuma erişimine ihtiyaç duyduğu için bu kadar geniş bir izin vermek en iyi uygulama değildir. IAM rolü ile dynamodb.amazonaws.com hizmet sorumlusu arasında bir güven ilişkisi oluşturmak, DynamoDB'nin bu rolü üstlenmesine izin verir ki bu senaryo için doğru değildir. EC2'nin rolü üstlenmesi gerekmektedir.
Sonsuz cevap arayışı olmadan sınavınızı geçin
Bu sınav için her doğrulanmış soruyu ve açıklamayı tek bir yerde edinin ve saatlerce süren hazırlıktan tasarruf edin. 1.000'den fazla sertifika · 20'den fazla dil · ücretsiz başlayın.
Sınavınızı daha hızlı geçin → Kart gerekmez