AWS Kimlik ve Erişim Yönetimi (IAM) Hakkında SSS

Genel

IAM, tüm AWS genelinde ayrıntılı erişim denetimi sağlar. IAM ile, hizmetlere ve kaynaklara erişimi belirli koşullar altında denetleyebilirsiniz. En az ayrıcalıklı izinler sağlamak üzere iş gücünüze ve sistemlerinize ilişkin izinleri yönetmek için IAM politikalarını kullanın. IAM hiçbir ek ücret olmadan sunulur. Daha fazla bilgi için bkz. IAM nedir?

IAM, AWS hizmetleri için kimlik doğrulaması ve yetkilendirme sağlar. Hizmet, AWS isteğini değerlendirerek onaylanması veya reddedilmesine karar verir. Erişim varsayılan olarak reddedilir ve yalnızca bir politika erişime açıkça izin verdiğinde onaylanır. Erişimi AWS genelinde denetlemek için rollere ve kaynaklara politikalar ekleyebilirsiniz. Daha fazla bilgi için bkz. IAM'nin nasıl çalıştığını anlama.

İzinleri IAM politikalarıyla ayarlarken, yalnızca bir görevi gerçekleştirmek için gerekli olan izinleri atayın. Bu uygulamaya en az ayrıcalık verme denir. En düşük yetkili izinleri, belirli koşullar altında belirli kaynaklar üzerinde gerçekleştirilebilen eylemleri tanımlayarak IAM'de uygulayabilirsiniz. Daha fazla bilgi için bkz. AWS kaynakları için erişim yönetimi.

AWS hizmetleri ve kaynakları için izinleri yönetmek amacıyla IAM'yi kullanmaya başlamak üzere bir IAM rolü oluşturun ve buna izinler atayın. İş gücündeki kullanıcılar için kimlik sağlayıcınız tarafından üstlenilebilecek bir rol oluşturun. Sistemler için, Amazon EC2 veya AWS Lambda gibi kullanmakta olduğunuz hizmet tarafından üstlenilebilecek bir rol oluşturun. Bir rol oluşturduktan sonra, ihtiyaçlarınızı karşılayan izinler atamak üzere role bir politika ekleyebilirsiniz. Yeni başlarken, ihtiyacınız olan belirli izinleri bilmiyor olabilirsiniz, dolayısıyla daha geniş kapsamlı izinlerle başlangıç yapabilirsiniz. AWS tarafından yönetilen politikalar, kullanmaya başlamanıza yardımcı olacak izinleri sağlar ve tüm AWS hesaplarında mevcuttur. Ardından, kullanım örneklerinize özel, müşteri tarafından yönetilen politikalar tanımlayarak izinleri daha da azaltın. IAM konsolunda veya AWS API'leri ya da AWS CLI aracılığıyla politikalar ve roller oluşturup yönetebilirsiniz. Daha fazla bilgi için bkz. IAM'yi kullanmaya başlama.

IAM kaynakları

AWS Kimlik ve Erişim Yönetimi (IAM) rolleri, geçici güvenlik kimlik bilgilerine güvenerek AWS'ye erişmeniz için bir yol sağlar. AWS hizmet istekleri oluşturmak üzere her rol bir dizi izne sahiptir ve rol belirli bir kullanıcı veya grupla ilişkilendirilmez. Bunun yerine, kimlik sağlayıcılar veya AWS hizmetleri gibi güvenilir kuruluşlar rolleri üstlenir. Daha fazla bilgi için bkz IAM rolleri.

IAM rollerini, kısa süreli kimlik bilgilerine güvenerek AWS hesaplarınıza erişim vermek için kullanmalısınız. Bu, bir güvenlik en iyi uygulamasıdır. Yetkilendirilmiş kimlikler (bunlar AWS hizmetleri veya kimlik sağlayıcınızdaki kullanıcılar olabilir), AWS istekleri oluşturmak için roller üstlenebilir. Bir role izinler atamak için buna bir IAM politikası ekleyin. Daha fazla bilgi için bkz. Roller için yaygın senaryolar.

IAM kullanıcıları, uzun süreli kimlik bilgileri olan kimliklerdir. İş gücü kullanıcıları için IAM kullanıcılarını tercih ediyor olabilirsiniz. Bu durumda AWS, bir kimlik sağlayıcı kullanmanızı ve roller üstlenerek AWS ile birleşim sağlamanızı önerir. Rolleri, AWS Lambda işlevleri gibi hizmetlere ve özelliklere hesaplar arası erişim vermek için de kullanabilirsiniz. Bazı senaryolarda, AWS hesabınıza erişim içeren uzun süreli kimlik bilgilerine ve erişim anahtarlarına sahip IAM kullanıcılarına ihtiyaç duyabilirsiniz. Bu senaryolar için AWS, kimlik bilgilerini sıklıkla döndürmek ve kullanılmayan kimlik bilgilerini kaldırmak üzere IAM erişim son kullanım bilgilerinden faydalanmanızı önerir. Daha fazla bilgi için bkz. AWS kimlik yönetimine genel bakış: Kullanıcılar.

IAM politikaları, bunları eklediğiniz kimlikler için atadığınız izinleri tanımlar. Örneğin, bir IAM rolüne erişim vermek için role bir politika ekleyin. Politikada tanımlanan izinler, isteklerin onaylanmasını veya reddedilmesini belirler. Ayrıca, doğrudan hesaplar arası erişim vermek amacıyla Amazon S3 klasörleri gibi bazı kaynaklara politikalar ekleyebilirsiniz. Birden fazla hesap genelinde erişimi sınırlandırmak için bir AWS kuruluşuna veya kuruluş birimine de politikalar ekleyebilirsiniz. Bir IAM rolü, istek oluşturduğunda AWS bu politikaları değerlendirir. Daha fazla bilgi için bkz. Kimlik temelli politikalar.

Erişim verme

AWS Kimlik ve Erişim Yönetimi'ni (IAM) kullanarak hizmetlere ve kaynaklara erişim vermek için rollere veya kaynaklara IAM politikaları ekleyin. AWS'ye ait ve tarafından güncellenen, tüm AWS hesaplarında mevcut ve AWS tarafından yönetilen politikaları ekleyerek başlayabilirsiniz. Kullanım örnekleriniz için gerekli olan belirli izinleri biliyorsanız müşteri tarafından yönetilen politikalar oluşturarak bunları rollere ekleyebilirsiniz. Bazı AWS kaynakları, Amazon S3 klasörleri gibi kaynaklara eklenmiş bir politikayı tanımlayarak erişim vermenin bir yolunu sağlar. Bu kaynak temelli politikalar, eklendikleri kaynaklara doğrudan hesaplar arası erişim vermenize olanak tanır. Daha fazla bilgi için bkz. AWS kaynakları için erişim yönetimi.

Bir role veya kaynağa izinler atamak için, izinleri tanımlayan bir JavaScript Nesne Gösterimi (JSON) belgesi olan bir politika oluşturun. Bu belge belirli hizmet eylemlerine, kaynaklarına ve koşullarına erişim onayı veren veya bunlara erişimi reddeden izin bildirimlerini içerir. Bir politika oluşturduktan sonra, AWS hesabınıza yönelik izinler vermek için bunu bir veya daha fazla AWS rolüne ekleyebilirsiniz. Amazon S3 klasörleri gibi kaynaklara doğrudan hesaplar arası erişim vermek için kaynak temelli politikalar kullanın. Politikalarınızı IAM konsolunda veya AWS API'leri ya da AWS CLI aracılığıyla oluşturun. Daha fazla bilgi için bkz. IAM politikaları oluşturma.

AWS tarafından yönetilen politikalar AWS tarafından oluşturulup yönetilir ve yaygın kullanım örneklerini kapsar. Kullanmaya başlarken, AWS hesabınızda mevcut ve tüm AWS hesaplarında ortak olan AWS tarafından yönetilen politikaları kullanarak daha geniş kapsamlı izinler verebilirsiniz. Ardından, gereksinimlerinizi daha ayrıntılı şekilde düzenlerken, en az ayrıcalıklı izinlere ulaşmak amacıyla kullanım örneklerinize özel, müşteri tarafından yönetilen politikalar tanımlayarak izinleri azaltabilirsiniz. Daha fazla bilgi için bkz. AWS tarafından yönetilen politikalar.

Yalnızca görevleri gerçekleştirmek için gereken izinleri vermek üzere, kullanım örneklerinize ve kaynaklarınıza özel, müşteri tarafından yönetilen politikalar oluşturabilirsiniz. Belirli gereksinimlerinize yönelik izinleri ayrıntılı şekilde düzenlemeye devam etmek için müşteri tarafından yönetilen politikaları kullanın. Daha fazla bilgi için bkz. Müşteri tarafından yönetilen politikalar.

Satır içi politikalar belirli IAM rollerinde gömülü ve yerleşik olarak bulunur. Bir politika ile politikanın uygulandığı kimlik arasında katı bir bire bir ilişki sürdürmek istiyorsanız satır içi politikaları kullanın. Örneğin, diğer rollere eklenmediklerinden emin olmak için yönetimsel izinler verebilirsiniz. Daha fazla bilgi için bkz. Satır içi politikalar.

Kaynak temelli politikalar, kaynaklara eklenen izin politikalarıdır. Örneğin Amazon S3 klasörlerine, Amazon SQS kuyruklarına, VPC uç noktalarına ve AWS Key Management Service şifreleme anahtarlarına kaynak temelli politikalar ekleyebilirsiniz. Kaynak temelli politikaları destekleyen hizmetlerin listesi için bkz. IAM ile çalışan AWS hizmetleri. Doğrudan hesaplar arası erişim vermek için kaynak temelli politikaları kullanın. Kaynak temelli politikalarla, bir kaynağa kimlerin erişimi olduğunu ve bu kişilerin ilgili kaynakla hangi işlemleri gerçekleştirebileceğini tanımlayabilirsiniz. Daha fazla bilgi için bkz. Kimlik temelli politikalar ve kaynak temelli politikalar.

RBAC, bir kişinin AWS dışında bir rol olarak bilinen iş fonksiyonuna göre izinler atamanız için size bir yol sunar. IAM, IAM rollerine iş fonksiyonlarıyla uyumlu izinler tanımlayarak RBAC sağlar. Ardından, belirli iş fonksiyonlarını gerçekleştirmeleri için bu rolleri üstlenmelerini sağlamak üzere bireylere erişim verebilirsiniz. RBAC ile, her bir IAM rolüne ve buna eklenen izinlere bakarak erişimi denetleyebilirsiniz. Daha fazla bilgi için bkz. ABAC ile geleneksel RBAC modelini karşılaştırma.

Bir en iyi uygulama olarak, yalnızca her bir görevi gerçekleştirmek için gerekli olan belirli hizmet eylemlerine ve kaynaklarına erişim verin. Bu, en az ayrıcalık atama olarak bilinir. Çalışanlar yeni kaynaklar eklediğinde, bu kaynaklara erişim vermek için politikaları güncellemeniz gerekir.

ABAC, izinleri özniteliklere dayalı olarak tanımlayan bir yetkilendirme stratejisidir. AWS'de bu özniteliklere etiket adı verilir ve bunları AWS kaynakları, IAM rolleri ve rol oturumlarında tanımlayabilirsiniz. ABAC ile, bir etiketin değerine bağlı olarak bir izinler kümesi tanımlarsınız. Rol veya oturum üzerindeki etiketlerin kaynaktaki etiketlerle eşleşmesini gerekli kılarak belirli kaynaklara ayrıntılı izinler verebilirsiniz. Örneğin, geliştiricilere "geliştiriciler" iş unvanıyla etiketlenmiş kaynaklara erişim imkanı sunan bir politika yazabilirsiniz. ABAC, belirli etiketlerle oluşturulan kaynaklara izinler vererek hızlıca büyüyen ortamlarda faydalıdır. Daha fazla bilgi için bkz. AWS İçin Öznitelik Temelli Erişim Denetimi.

ABAC'yi kullanarak erişim vermek için öncelikle erişim denetiminde kullanmak istediğiniz etiket anahtarlarını ve değerlerini tanımlayın. Ardından, IAM rolünüzün uygun etiket anahtarlarını ve değerlerini içerdiğinden emin olun. Bu rolü birden fazla kimlik kullanıyorsa oturum etiket anahtarları ve değerleri de tanımlayabilirsiniz. Sonrasında, kaynaklarınızın uygun etiket anahtarlarına ve değerlerine sahip olduğundan emin olun. Ayrıca, kullanıcıların uygun etiketlerle kaynaklar oluşturmasını şart koşarak bunları değiştirme erişimini kısıtlayabilirsiniz. Etiketlerinizi yerleştirdikten sonra, rol veya oturum etiketleri ile kaynak etiketleri eşleşiyorsa belirli eylemlere ve kaynak türlerine erişim veren bir politika tanımlayın. ABAC'nin AWS'de nasıl kullanılacağını gösteren ayrıntılı bir öğretici için bkz. IAM öğreticisi: Etiketlere göre AWS kaynaklarına erişmek için izinleri tanımlama.

Erişimi kısıtlama

AWS Identity and Access Management'ta (IAM), tüm erişim varsayılan olarak reddedilir ve erişim veren bir politikaya ihtiyaç vardır. İzinleri uygun ölçekte yönetirken, izin bütünlük korumaları uygulamak ve hesaplarınız genelindeki erişimi kısıtlamak isteyebilirsiniz. Erişimi kısıtlamak için mevcut tüm politikalarda bir Reddet bildirimi belirleyin. Bir erişim isteği için Reddet bildirimi geçerliyse bu bildirim her zaman Onayla bildiriminin yerine geçerli olur. Örneğin, AWS'de tüm eylemlere erişim izni veriyor ancak IAM'ye erişimi reddediyorsanız IAM'ye yönelik tüm istekler reddedilir. Reddet bildirimini, AWS Organizations ile kimlik temelli, kaynak temelli politikalar ve hizmet denetimi politikaları dahil tüm politika türlerine dahil edebilirsiniz. Daha fazla bilgi için bkz. AWS Kimlik ve Erişim Yönetimi ile erişimi denetleme.

SCP'ler, IAM politikalarına benzerdir ve neredeyse aynı söz dizimini kullanır. Ancak, SCP'ler izin vermez. SCP'ler bunun yerine, Organizations üye hesaplarına sahip bireysel AWS hesapları veya bir kuruluş birimi kapsamındaki hesap grupları için AWS hizmetlerine erişimi onaylar veya reddeder. Bir SCP'den gerçekleştirilen belirli eylemler, üye hesabın kök kullanıcısı dahil olmak üzere tüm IAM kullanıcılarını ve rollerini etkiler. Daha fazla bilgi için bkz. Politika değerlendirme mantığı

Erişimi analiz etme

İzinleri vermeye başladığınızda, süreci keşfetmek ve denemeler yapmak için daha geniş bir izin yelpazesiyle başlayabilirsiniz. Kullanım örnekleriniz olgunlaştıkça AWS, en az ayrıcalıklı izinlere ulaşma amacıyla yalnızca gerekli olan izinleri vermek üzere izinlerinizi ayrıntılı şekilde düzenlemenizi önerir. AWS, izinlerinizi ayrıntılı şekilde düzenlemenize yardımcı olacak araçlar sağlar. AWS tarafından oluşturulup idare edilen ve yaygın kullanım örnekleri için izinler içeren AWS tarafından yönetilen politikalarla başlayabilirsiniz. İzinlerini ayrıntılı şekilde düzenlerken, müşteri tarafından yönetilen politikalarda belirli izinler tanımlayın. Sizin için gerekli olan belirli izinleri belirlemenize yardımcı olması için AWS Kimlik ve Erişim Yönetimi (IAM) Erişim Analiz Aracı'nı kullanabilir, AWS CloudTrail günlüklerini inceleyebilir ve son erişim bilgilerini denetleyebilirsiniz. Ayrıca, politikaları test etmek ve bunlara ilişkin sorunları gidermek için IAM politika simülatörünü kullanabilirsiniz.

En az ayrıcalığa ulaşmak, gereksinimleriniz değiştikçe doğru ayrıntılı izinleri vermeye yönelik sürekli bir döngüdür. IAM Erişim Analizörü, bu döngünün her bir adımında izin yönetimini kolaylaştırmanızı sağlar. IAM Erişim Anali̇z Aracı ile politika oluşturma, günlüklerinize kaydedilen erişim etkinliğine dayalı olarak ayrıntılı bir politika oluşturur. Bu, bir uygulamayı oluşturup çalıştırdıktan sonra uygulamayı kullanmak için yalnızca gerekli izinleri veren politikalar oluşturabileceğiniz anlamına gelir. IAM Erişim Anali̇z Aracı ile politika doğrulama, güvenli ve işlevsel politikalar yazıp doğrulamanızda size rehberlik etmek için 100'den fazla politika denetimi kullanır. Bu denetimleri yeni politikalar oluştururken veya mevcut politikaları doğrulamak için kullanabilirsiniz. IAM Erişim Analiz Aracı ile genel ve hesaplar arası bulgular, AWS kuruluşunuzun veya hesabınızın dışından kaynak politikalarınızın izin verdiği erişimi doğrulamanıza ve iyileştirmenize yardımcı olur. Daha fazla bilgi için bkz. IAM Erişim Analiz Aracı'nı kullanma.

AWS hesabınızda artık ihtiyacınız olmayan IAM kullanıcıları, rolleri ve izinlerine sahip olabilirsiniz. En az ayrıcalıklı erişime ulaşma hedefiyle bunları kaldırmanızı öneririz. IAM kullanıcıları için, parola ve erişim anahtarı son kullanım bilgilerini inceleyebilirsiniz. Roller için, rol son kullanım bilgilerini gözden geçirebilirsiniz. Bu bilgiye IAM konsolu, API'ler ve SDK'ler aracılığıyla ulaşılabilir. Son kullanım bilgileri artık kullanımda olmayan ve kaldırılması güvenli olan kullanıcıları ve rolleri tanımlamanıza yardımcı olur. Ayrıca, kullanılmayan izinleri tanımlamak üzere hizmet ve son erişim bilgilerini gözden geçirerek izinleri ayrıntılı şekilde düzenleyebilirsiniz. Daha fazla bilgi için bkz. Son erişim bilgilerini kullanarak AWS'de izinleri ayrıntılı şekilde düzenleme.

IAM politika simülatörü, seçtiğiniz politikaları değerlendirir ve belirlediğiniz eylemlerin her biri için en etkili izinleri belirler. Kimlik temelli ve kaynak temelli politikaları, IAM izin sınırlarını ve SCP'leri test etmek ve bunlara ilişkin sorunları gidermek için politika simülatörünü kullanın. Daha fazla bilgi için bkz. IAM politikalarını IAM politika simülatörüyle test etme.

IAM Erişim Analiz Aracı özel politika denetimleri, IAM politikalarının dağıtımlardan önce güvenlik standartlarınıza uygun olduğunu doğrular. Özel politika denetimleri, güvenlik ekiplerinin politikalardaki uygunsuz güncellemeleri proaktif olarak algılamasını sağlamak için matematiksel kanıtlarla desteklenen kanıtlanabilir güvenlik güvencesi olan otomatik akıl yürütmenin gücünü kullanır. Örnek: önceki sürümlerinden daha fazla izin içeren IAM politikası değişiklikleri. Güvenlik ekipleri bu denetimleri incelemelerini kolaylaştırmak, güvenlik standartlarına uygun politikaları otomatik olarak onaylamak ve uygun olmadıklarında daha derinlemesine incelemek için kullanabilir. Bu yeni doğrulama türü, bulutta daha yüksek güvenlik teminatı sağlar. Güvenlik ve geliştirme ekipleri, bu özel politika denetimlerini geliştiricilerin CI/CD işlem hatları gibi politikalarını yazdığı araçlara ve ortamlara entegre ederek politika incelemelerini büyük ölçekte otomatikleştirebilir.

IAM Erişim Analiz Aracı, kullanılmayan erişimin denetlenmesini kolaylaştırarak sizi en az ayrıcalığa yönlendirir. AWS kuruluşunun güvenlik ekipleri, kuruluş genelindeki kullanılmayan erişime ilişkin görünürlük elde etmek ve izinleri doğru boyutlandırma yöntemlerini otomatikleştirmek için IAM Erişim Analiz Aracı'nı kullanabilir. Kullanılmayan erişim analiz aracı etkinleştirildiğinde IAM Erişim Analiz Aracı, kullanılmayan erişimi belirlemek için hesaplarınızı sürekli olarak analiz eder ve bulguları içeren merkezi bir pano oluşturur. Kontrol paneli, güvenlik ekiplerinin bulguları merkezi olarak gözden geçirmesine ve bulgu hacmine göre hesaplara öncelik vermesine yardımcı olur. Güvenlik ekipleri, bulguları merkezi olarak gözden geçirmek ve bulgu hacmine göre hangi hesapların gözden geçirileceğini önceliklendirmek için gösterge tablosunu kullanabilir. Bulgular, kullanılmayan rolleri, IAM kullanıcıları için kullanılmayan erişim anahtarlarını ve IAM kullanıcıları için kullanılmayan parolaları vurgulamaktadır. Etkin IAM rolleri ve kullanıcıları için bulgular, kullanılmayan hizmetler ve eylemler hakkında görünürlük sağlar.