AWS IAM ve Lambda Servislerinin Entegrasyonunun Önemi

careerpath-tnail

AWS IAM ve Lambda Servislerinin Entegrasyonunun Önemi

 

AWS IAM, AWS kaynaklarına erişim kontrolünü yönetmenizi sağlayan bir web servisidir. AWS Lambda ise kodunuzu sunucusuz bir ortamda çalıştırmanıza olanak tanır. IAM rolleri ve policy’leri kullanarak Lambda fonksiyonlarınıza sadece gerektiği kadar erişim izni vermek, güvenlik ve uyumluluk için kritik öneme sahiptir.

AWS IAM ve Lambda'nın entegrasyonunu anlamak için, bir ofis binasını düşünelim. Bu ofiste, her çalışanın belirli odalara erişimi vardır. Bazıları sadece mutfak ve çalışma alanlarına erişebilirken, diğerleri sunucu odasına veya finans departmanına girebilir. Bu erişim hakları, çalışanların kimlik kartlarına tanımlanmıştır ve her bir kart, sahibinin hangi alanlara erişebileceğini belirler.

 

         IAM Roller ve Policy’ler: Bu senaryoda, IAM rolleri çalışanların kimlik kartlarına benzer. Her rol, AWS kaynaklarına erişim sağlayan bir kimlik kartı gibidir. Policy’ler ise, bu kartların hangi kapıları açabileceğini - yani hangi AWS kaynaklarına erişilebileceğini - tanımlayan kurallar setidir. Bir çalışanın (Lambda fonksiyonunun) sadece gerekli odalara (kaynaklara) erişmesini sağlamak, güvenli bir çalışma ortamı oluşturur.

 

         En Az Ayrıcalık İlkesi (Least Privilege Principle): Bu ilke, çalışanlara yalnızca işlerini yapmak için gereken minimum erişim seviyesinin verilmesi gerektiğini belirtir. Eğer bir çalışanın sadece mutfak ve kendi çalışma alanına erişmesi gerekiyorsa, ona finans departmanına veya sunucu odasına erişim izni vermek, gereksiz riskler oluşturur. Aynı şekilde, Lambda fonksiyonlarına da sadece ihtiyaç duydukları AWS kaynaklarına erişim izni verilir.

 

         AWS CLI Kullanımı: AWS CLI'nin kullanımı, ofis yöneticisinin bir bilgisayar programı aracılığıyla çalışanların kimlik kartlarına hangi erişim haklarının tanımlanacağını belirlemesine benzer. Yönetici, çalışanın rolüne uygun erişim izinlerini tanımlar, bu da çalışanın ofisteki hangi odalara girebileceğini belirler. CLI komutları, bu erişim izinlerini hızlı ve etkili bir şekilde yönetmenizi sağlar.

 

Bu analoji, AWS IAM ve Lambda'nın entegrasyonunun, bir ofiste çalışanların erişim kontrolünün yönetilmesine benzer olduğunu gösterir. Her iki durumda da, güvenlik ve verimlilik, uygun erişim haklarının ve izinlerin dikkatlice yönetilmesiyle sağlanır.

 

IAM Rolleri ve Policy’ler ile Güvenliği Sağlama

 

IAM rolleri, AWS kaynaklarına erişim için kullanılan kimliklerdir. Lambda fonksiyonlarına atanan bir rol, o fonksiyonun hangi AWS kaynaklarına erişebileceğini belirler. Policy’ler ise, JSON formatında tanımlanan, rollerin veya kullanıcıların hangi işlemleri gerçekleştirebileceğini veya gerçekleştiremeyeceğini detaylandırır.

 

       IAM Rolü Oluşturma ve Lambda Fonksiyonuna Atama:

Lambda fonksiyonunuzun diğer AWS servisleriyle etkileşimde bulunabilmesi için öncelikle bir IAM rolü oluşturmanız ve bu role uygun policy’lerı eklemeniz gerekir. Ardından, bu rolü Lambda fonksiyonunuza atayabilirsiniz.

 

       En İyi Uygulama (Best Practice): En Az Ayrıcalık İlkesi (Least Privilege Principle)

Güvenliği maksimize etmek için, her bir Lambda fonksiyonuna yalnızca ihtiyaç duyduğu erişim izinlerini verin. Bu, olası güvenlik açıklarını azaltır ve sistem güvenliğini artırır.

 

AWS CLI Kullanarak IAM ve Lambda Yönetimi

 

AWS CLI, AWS IAM rollerini ve policy’lerini yönetmek için güçlü bir araçtır. Aynı şekilde, AWS Lambda fonksiyonlarınızı CLI üzerinden dağıtabilir, güncelleyebilir ve test edebilirsiniz.

 

       IAM Rolü Oluşturma:

 

aws iam create-role --role-name MyLambdaExecutionRole --assume-role-policy-document file://trust-policy.json

 

Bu komut, Lambda fonksiyonları tarafından kullanılmak üzere bir rol oluşturur. ‘trust-policy.json’ dosyası, Lambda servisinin bu rolü üstlenebilmesi için gerekli izinleri içerir.

 

       Policy Ekleyerek Role İzin Verme:

 

aws iam attach-role-policy --role-name MyLambdaExecutionRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

 

Bu komut, oluşturulan role temel Lambda yürütme izinlerini verir.

 

       Lambda Fonksiyonu Oluşturma ve Rol Atama:

 

aws lambda create-function --function-name MyLambdaFunction --runtime python3.8 --role arn:aws:iam::123456789012:role/MyLambdaExecutionRole --handler lambda_function.lambda_handler --zip-file fileb://my-function.zip

 

Bu komut, belirtilen rolü kullanarak bir Lambda fonksiyonu oluşturur. Fonksiyonun kodu my-function.zip dosyasında bulunur.

 

Sonuç

 

AWS IAM ve Lambda'nın entegrasyonu, güvenli ve ölçeklenebilir sunucusuz uygulamalar oluşturmanın temelidir. IAM rolleri ve policy’ler ile Lambda fonksiyonlarınızın erişimini kontrol etmek, uygulamalarınızın güvenliğini sağlar. AWS CLI, bu işlemleri kolayca yönetmenize olanak tanır, böylece güvenlik ve uyumluluk standartlarını karşılayan sağlam mimariler oluşturabilirsiniz.

 

 

AWS sertifikaları almak, kariyerinizde daha ileri seviyeye çıkmanıza ya da kariyerinizde değişiklik yapmanıza fayda sağlayabilir. Bu nedenle eğitim süresince profesyonel bir eğitim partneri ile çalışmak oldukça önemlidir. AWS Eğitimi ile, sertifikalı profesyonel eğitmenlerimizden eğitim alabilirsiniz. Ayrıntılı bilgi için info@yonetim.academy adresine mail atmanız yeterlidir.

 

Oğuzhan Hızıroğlu

Yazının tüm hakları Yönetim.Academy’e aittir. İzinsiz olarak, kaynak belirtilerek dahi alıntı yapılması ya da yazının tamamının başka yerde yayınlanması yasaktır.