{"id":32049,"date":"2025-10-17T04:31:09","date_gmt":"2025-10-17T01:31:09","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/"},"modified":"2025-10-17T04:31:09","modified_gmt":"2025-10-17T01:31:09","slug":"aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/","title":{"rendered":"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n"},"content":{"rendered":"<p><body><\/p>\n<p>Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n beraberinde getirdi\u011fi en kritik sorulardan biri \u015f\u00fcphesiz g\u00fcvenliktir: Da\u011f\u0131tt\u0131\u011f\u0131n\u0131z AWS Lambda kodunun ger\u00e7ekten sizin taraf\u0131n\u0131zdan olu\u015fturuldu\u011fundan ve yetkisiz hi\u00e7bir m\u00fcdahaleye u\u011framad\u0131\u011f\u0131ndan nas\u0131l emin olabilirsiniz? \u0130\u015fte tam da bu noktada, AWS Lambda kod imzalama devreye girerek sunucusuz fonksiyonlar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini garanti alt\u0131na alman\u0131z\u0131 sa\u011flar.<\/p>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen siber g\u00fcvenlik ortam\u0131nda, uygulama g\u00fcvenli\u011fi her zamankinden daha \u00f6nemli bir hale geldi. \u00d6zellikle sunucusuz mimarilerde, fonksiyonlar\u0131n\u0131z\u0131n kod taban\u0131 \u00fczerinde tam kontrol sahibi olmak, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 minimize etmek i\u00e7in elzemdir. Peki, AWS Lambda kodunuzu neden imzalamal\u0131s\u0131n\u0131z? Bu sorunun cevab\u0131, bir dizi kritik g\u00fcvenlik ve operasyonel faydada gizlidir.<\/p>\n<p>\u00d6ncelikle, yetkisiz de\u011fi\u015fiklik riskini d\u00fc\u015f\u00fcnelim. Bir sald\u0131rgan veya k\u00f6t\u00fc niyetli bir i\u00e7 akt\u00f6r, Lambda deployment paketinizin (zip dosyas\u0131) i\u00e7eri\u011fini de\u011fi\u015ftirerek zararl\u0131 kod ekleyebilir. Bu durum, yetkisiz veri eri\u015fiminden, sistem genelinde hizmet reddine (DoS) kadar \u00e7e\u015fitli g\u00fcvenlik ihlallerine yol a\u00e7abilir. \u00d6rne\u011fin, bir \u00f6deme i\u015fleme fonksiyonunun kodunda yap\u0131lacak k\u00fc\u00e7\u00fck bir de\u011fi\u015fiklik, milyonlarca dolarl\u0131k finansal doland\u0131r\u0131c\u0131l\u0131\u011fa neden olabilir. \u0130\u015fte kod imzalama, bu t\u00fcr yetkisiz m\u00fcdahalelere kar\u015f\u0131 g\u00fc\u00e7l\u00fc bir savunma mekanizmas\u0131 sunar. K\u0131sacas\u0131, imzal\u0131 bir kod paketi, sanki bir m\u00fch\u00fcrle korunmu\u015f bir evrak gibidir; m\u00fchr\u00fcn k\u0131r\u0131lmas\u0131, \u00fczerinde oynand\u0131\u011f\u0131na dair net bir i\u015faret verir.<\/p>\n<p>\u0130kinci olarak, denetim ve uyumluluk gereksinimleri giderek art\u0131yor. \u00d6zellikle finans, sa\u011fl\u0131k veya devlet sekt\u00f6rlerinde faaliyet g\u00f6steren kurulu\u015flar, da\u011f\u0131tt\u0131klar\u0131 yaz\u0131l\u0131mlar\u0131n belirli g\u00fcvenlik standartlar\u0131na ve reg\u00fclasyonlara uygun oldu\u011funu kan\u0131tlamak zorundad\u0131r. Kod imzalama, bu uyumluluk y\u00fck\u00fcml\u00fcl\u00fcklerini yerine getirmenize yard\u0131mc\u0131 olur. Fonksiyonlar\u0131n\u0131z\u0131n g\u00fcvenli bir kaynaktan geldi\u011fini ve \u00fcretim ortam\u0131na ula\u015fmadan \u00f6nce herhangi bir tahrifat g\u00f6rmedi\u011fini kan\u0131tlaman\u0131z gerekti\u011finde, imzal\u0131 kod paketleri denet\u00e7ilere sunabilece\u011finiz somut bir kan\u0131t sa\u011flar. Bu, yaln\u0131zca teknik bir avantaj de\u011fil, ayn\u0131 zamanda i\u015f s\u00fcre\u00e7leriniz i\u00e7in de \u00f6nemli bir g\u00fcvencedir.<\/p>\n<p>Bununla birlikte, tedarik zinciri g\u00fcvenli\u011fi de kritik bir konudur. Uygulamalar\u0131m\u0131z genellikle bir\u00e7ok farkl\u0131 kaynaktan gelen a\u00e7\u0131k kaynakl\u0131 k\u00fct\u00fcphaneler, \u00fc\u00e7\u00fcnc\u00fc taraf ba\u011f\u0131ml\u0131l\u0131klar ve i\u00e7 mod\u00fcllerle birlikte geli\u015ftirilir. Bu bile\u015fenlerden herhangi birinde gizlenmi\u015f k\u00f6t\u00fc ama\u00e7l\u0131 bir kod, t\u00fcm sisteminizi riske atabilir. Kod imzalama, deployment paketinizin t\u00fcm i\u00e7eri\u011finin, yani sizin derledi\u011finiz son halinin, g\u00fcvenilir bir kaynaktan geldi\u011fini ve da\u011f\u0131t\u0131m s\u00fcrecinde herhangi bir manip\u00fclasyona u\u011framad\u0131\u011f\u0131n\u0131 do\u011frular. Bu sayede, &#8220;supply chain attack&#8221; olarak bilinen sald\u0131r\u0131lara kar\u015f\u0131 ek bir koruma katman\u0131 olu\u015fturulur. Fonksiyonlar\u0131n\u0131z\u0131n yaln\u0131zca g\u00fcvenilir ve onaylanm\u0131\u015f kodlar\u0131 \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 sa\u011flamak, uygulaman\u0131z\u0131n genel g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirir.<\/p>\n<p>Son olarak, operasyonel g\u00fcvenilirli\u011fi ve hata ay\u0131klamay\u0131 da unutmamak gerekir. Yanl\u0131\u015fl\u0131kla veya kas\u0131tl\u0131 olarak da\u011f\u0131t\u0131lan hatal\u0131 kod s\u00fcr\u00fcmleri, \u00fcretim ortam\u0131nda ciddi kesintilere yol a\u00e7abilir. \u0130mzalama sayesinde, yaln\u0131zca ge\u00e7erli imzaya sahip, yani belirli bir geli\u015ftirme s\u00fcrecinden ge\u00e7mi\u015f ve onaylanm\u0131\u015f kodlar\u0131n da\u011f\u0131t\u0131lmas\u0131 sa\u011flan\u0131r. Bu durum, yanl\u0131\u015f konfig\u00fcrasyonlar veya hatal\u0131 deployment&#8217;lar nedeniyle ortaya \u00e7\u0131kabilecek potansiyel sorunlar\u0131 daha da\u011f\u0131t\u0131m a\u015famas\u0131nda engellemeye yard\u0131mc\u0131 olur. B\u00f6ylece, hem geli\u015ftirici ekiplerinin i\u015f y\u00fck\u00fc azal\u0131r hem de son kullan\u0131c\u0131lar\u0131n kesintisiz bir deneyim ya\u015famas\u0131 sa\u011flan\u0131r. \u00d6zetle, AWS Lambda kod imzalama, sunucusuz mimarilerinizde sadece &#8220;ne&#8221; \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 de\u011fil, ayn\u0131 zamanda &#8220;kimin&#8221; ve &#8220;nas\u0131l&#8221; \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 da kontrol etmenizi sa\u011flayan vazge\u00e7ilmez bir g\u00fcvenlik katman\u0131d\u0131r.<\/p>\n<h2>AWS Lambda Kod \u0130mzalama Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<p>AWS Lambda kod imzalama, sunucusuz fonksiyonlar\u0131n\u0131z\u0131n da\u011f\u0131t\u0131m paketlerinin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve orijinalli\u011fini do\u011frulamak i\u00e7in tasarlanm\u0131\u015f g\u00fc\u00e7l\u00fc bir g\u00fcvenlik \u00f6zelli\u011fidir. Temel olarak, bu s\u00fcre\u00e7, Lambda kodunuzun belirli bir sertifika ile dijital olarak imzalanmas\u0131n\u0131 ve AWS&#8217;nin bu imzay\u0131 her da\u011f\u0131t\u0131m veya g\u00fcncelleme giri\u015fiminde otomatik olarak do\u011frulamas\u0131n\u0131 i\u00e7erir. Peki, bu mekanizma tam olarak nas\u0131l i\u015fler ve hangi AWS hizmetleri bu s\u00fcrecin merkezinde yer al\u0131r?<\/p>\n<p>Kod imzalama, klasik bir a\u00e7\u0131k anahtar altyap\u0131s\u0131 (PKI) prensibi \u00fczerine kuruludur. Bir kod paketi imzaland\u0131\u011f\u0131nda, bu paketin i\u00e7eri\u011finin bir hash de\u011feri (parmak izi) olu\u015fturulur ve bu hash de\u011feri, \u00f6zel (private) bir anahtar kullan\u0131larak \u015fifrelenir. Sonu\u00e7, kod paketiyle birlikte da\u011f\u0131t\u0131lan dijital bir imzad\u0131r. Daha sonra, AWS Lambda bu paketi da\u011f\u0131tmak istedi\u011finizde, imzay\u0131 do\u011frulamak i\u00e7in ilgili a\u00e7\u0131k (public) anahtar\u0131 kullan\u0131r. E\u011fer imza do\u011frulama ba\u015far\u0131l\u0131 olursa, bu kodun imzalayan taraf\u00e7a olu\u015fturuldu\u011funu ve da\u011f\u0131t\u0131mdan bu yana herhangi bir de\u011fi\u015fikli\u011fe u\u011framad\u0131\u011f\u0131n\u0131 kesin olarak kan\u0131tlar.<\/p>\n<p>AWS \u00f6zelinde, bu s\u00fcreci y\u00f6netmek i\u00e7in iki ana hizmet devreye girer: AWS Signer ve AWS Key Management Service (KMS). AWS Signer, dijital imzalar olu\u015fturmak ve y\u00f6netmek i\u00e7in kullan\u0131lan bir hizmettir. Bu hizmet, Lambda deployment paketlerinizi (ZIP veya JAR dosyalar\u0131) imzalama yetene\u011fi sa\u011flar. Geli\u015ftiriciler, kodlar\u0131n\u0131 AWS Signer&#8217;a g\u00f6ndererek imzal\u0131 bir paket elde ederler. Bu imzalama i\u015flemi, AWS Signer taraf\u0131ndan y\u00f6netilen veya AWS KMS&#8217;te kendi olu\u015fturdu\u011funuz anahtarlarla yap\u0131labilir. AWS KMS ise, \u015fifreleme anahtarlar\u0131n\u0131z\u0131 g\u00fcvenli bir \u015fekilde olu\u015fturman\u0131z\u0131, depolaman\u0131z\u0131 ve y\u00f6netmenizi sa\u011flayan bir anahtar y\u00f6netim hizmetidir. Kod imzalama i\u00e7in kullan\u0131lan \u00f6zel anahtarlar\u0131n g\u00fcvenli\u011fi, KMS taraf\u0131ndan sa\u011flanarak, bu anahtarlar\u0131n yetkisiz eri\u015fime kar\u015f\u0131 korunmas\u0131 garanti alt\u0131na al\u0131n\u0131r.<\/p>\n<p>\u0130mzalama s\u00fcreci genellikle \u015fu ad\u0131mlar\u0131 i\u00e7erir: \u0130lk olarak, bir kod imzalama yap\u0131land\u0131rmas\u0131 (Code Signing Configuration) olu\u015fturman\u0131z gerekir. Bu yap\u0131land\u0131rma, AWS Lambda&#8217;ya hangi imza profillerine g\u00fcvenmesi gerekti\u011fini ve do\u011frulama ba\u015far\u0131s\u0131z olursa ne yapmas\u0131 gerekti\u011fini (\u00f6rne\u011fin, deployment&#8217;\u0131 engellemek veya bir uyar\u0131 yay\u0131nlamak) bildirir. \u0130kinci olarak, Lambda fonksiyonunuzun deployment paketi (\u00f6rne\u011fin, bir zip dosyas\u0131), AWS Signer kullan\u0131larak imzalan\u0131r. Bu ad\u0131mda, AWS Signer hizmetine imzalama iste\u011fi g\u00f6nderilir ve hizmet, paketinizi sizin belirtti\u011finiz anahtarla imzalar. Son olarak, imza yap\u0131land\u0131rman\u0131z\u0131 Lambda fonksiyonunuzla ili\u015fkilendirirsiniz. Bu ili\u015fkilendirme yap\u0131ld\u0131\u011f\u0131nda, AWS Lambda her yeni kod da\u011f\u0131t\u0131m\u0131 veya g\u00fcncelleme giri\u015fiminde, deployment paketinin imzas\u0131n\u0131 otomatik olarak kontrol eder. E\u011fer paket imzalanmam\u0131\u015fsa, yanl\u0131\u015f bir anahtarla imzalanm\u0131\u015fsa veya imzas\u0131 tahrif edilmi\u015fse, Lambda, belirledi\u011finiz politikaya g\u00f6re i\u015flemi reddeder veya uyar\u0131r.<\/p>\n<p>Bu mekanizma sayesinde, yaln\u0131zca sizin veya onaylad\u0131\u011f\u0131n\u0131z ekipler taraf\u0131ndan imzalanm\u0131\u015f kodlar\u0131n Lambda ortam\u0131n\u0131zda \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flayabilirsiniz. \u00d6rne\u011fin, bir CI\/CD hatt\u0131 i\u00e7inde, kodunuz her derlendi\u011finde ve testlerden ge\u00e7ti\u011finde otomatik olarak imzalanabilir ve ard\u0131ndan g\u00fcvenli bir \u015fekilde da\u011f\u0131t\u0131labilir. Bu, manuel hatalar\u0131 azalt\u0131r ve g\u00fcvenlik politikan\u0131z\u0131n otomatik olarak uygulanmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, bu s\u00fcre\u00e7 Lambda katmanlar\u0131 i\u00e7in de ge\u00e7erlidir. Lambda katmanlar\u0131, birden fazla fonksiyon taraf\u0131ndan payla\u015f\u0131lan kod ve ba\u011f\u0131ml\u0131l\u0131klar i\u00e7erdi\u011fi i\u00e7in, onlar\u0131n da imzalanmas\u0131 genel g\u00fcvenlik duru\u015funuzu daha da g\u00fc\u00e7lendirir. Sonu\u00e7 olarak, AWS Lambda kod imzalama, sunucusuz uygulamalar\u0131n\u0131z\u0131n &#8220;zero-trust&#8221; prensiplerine uygun bir \u015fekilde geli\u015ftirilmesine ve da\u011f\u0131t\u0131lmas\u0131na olanak tan\u0131yarak, g\u00fcvenlik endi\u015felerinizi \u00f6nemli \u00f6l\u00e7\u00fcde hafifletir ve uygulamalar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korur.<\/p>\n<div class=\"uzman-ipucu\">\n<p>Uzman \u0130pucu: \u0130mza profillerinizi y\u00f6netirken en az ayr\u0131cal\u0131k prensibini uygulay\u0131n. Sadece kod imzalama yetkisine sahip IAM rolleri ve kullan\u0131c\u0131lar\u0131 tan\u0131mlayarak olas\u0131 yetkisiz imzalama i\u015flemlerini engelleyin. Bu, g\u00fcvenlik duru\u015funuzu \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirecektir.<\/p>\n<\/p><\/div>\n<h2>Uygulamal\u0131 K\u0131s\u0131m: AWS Lambda \u0130\u00e7in Kod \u0130mzalama Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>AWS Lambda fonksiyonlar\u0131n\u0131z i\u00e7in kod imzalama mekanizmas\u0131n\u0131 devreye almak, tahmin edebilece\u011finizden \u00e7ok daha basittir. Ancak bu s\u00fcrecin do\u011fru ve g\u00fcvenli bir \u015fekilde y\u00f6netilmesi, ad\u0131mlar\u0131 dikkatlice takip etmeyi gerektirir. \u015eimdi, ad\u0131m ad\u0131m AWS Lambda kod imzalama yap\u0131land\u0131rmas\u0131n\u0131 ve uygulamas\u0131n\u0131 inceleyelim. Bu b\u00f6l\u00fcmde, hem AWS Y\u00f6netim Konsolu hem de AWS CLI \u00fczerinden nas\u0131l i\u015flem yapabilece\u011finizi g\u00f6receksiniz.<\/p>\n<h3>1. Ad\u0131m: Kod \u0130mzalama Yap\u0131land\u0131rmas\u0131 (Code Signing Configuration) Olu\u015fturma<\/h3>\n<p>Bu, Lambda fonksiyonunuzun hangi imza profillerine g\u00fcvenece\u011fini ve imza do\u011frulamas\u0131 ba\u015far\u0131s\u0131z oldu\u011funda nas\u0131l davranaca\u011f\u0131n\u0131 belirledi\u011finiz ilk ve en \u00f6nemli ad\u0131md\u0131r. Bir nevi, Lambda&#8217;n\u0131za &#8220;Bu imza benim i\u00e7in ge\u00e7erlidir, ba\u015fkas\u0131na g\u00fcvenme!&#8221; talimat\u0131n\u0131 veriyorsunuz.<\/p>\n<h4>AWS Y\u00f6netim Konsolu \u0130le:<\/h4>\n<ol>\n<li>AWS Lambda konsoluna gidin.<\/li>\n<li>Sol gezinme panelinden &#8220;Code signing configurations&#8221; (Kod imzalama yap\u0131land\u0131rmalar\u0131) se\u00e7ene\u011fini t\u0131klay\u0131n.<\/li>\n<li>&#8220;Create configuration&#8221; (Yap\u0131land\u0131rma olu\u015ftur) d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>Bir ad (Name) girin, \u00f6rne\u011fin <code>MyLambdaCodeSigningConfig<\/code>.<\/li>\n<li>&#8220;Signing profiles&#8221; (\u0130mzalama profilleri) b\u00f6l\u00fcm\u00fcnde, fonksiyonunuzun g\u00fcvenece\u011fi bir veya daha fazla AWS Signer imza profilini se\u00e7in veya yeni bir tane olu\u015fturun. E\u011fer hen\u00fcz bir imza profiliniz yoksa, \u00f6ncelikle AWS Signer konsoluna gidip bir tane olu\u015fturman\u0131z gerekecektir. Bir imza profili, kodunuzu imzalamak i\u00e7in kullan\u0131lacak sertifikay\u0131 ve KMS anahtar\u0131n\u0131 i\u00e7erir.<\/li>\n<li>&#8220;Policy&#8221; (Politika) b\u00f6l\u00fcm\u00fcnde, imza do\u011frulama ba\u015far\u0131s\u0131z olursa ne olaca\u011f\u0131n\u0131 belirleyin:\n<ul>\n<li><strong>Warn<\/strong> (Uyar): Fonksiyon da\u011f\u0131t\u0131m\u0131na izin verilir ancak CloudWatch&#8217;ta bir uyar\u0131 kayd\u0131 olu\u015fturulur. (\u00dcretim ortamlar\u0131 i\u00e7in \u00f6nerilmez!)<\/li>\n<li><strong>Enforce<\/strong> (Zorunlu K\u0131l): Fonksiyon da\u011f\u0131t\u0131m\u0131 engellenir ve bir hata mesaj\u0131 d\u00f6nd\u00fcr\u00fcl\u00fcr. (G\u00fcvenlik i\u00e7in \u00f6nerilen se\u00e7enektir.)<\/li>\n<\/ul>\n<\/li>\n<li>&#8220;Create configuration&#8221; butonuna t\u0131klayarak yap\u0131land\u0131rmay\u0131 tamamlay\u0131n.<\/li>\n<\/ol>\n<h4>AWS CLI \u0130le:<\/h4>\n<p>A\u015fa\u011f\u0131daki komut, yeni bir kod imzalama yap\u0131land\u0131rmas\u0131 olu\u015fturur. Burada <code>arn:aws:signer:REGION:ACCOUNT_ID:\/signing-profiles\/MySigningProfile<\/code> k\u0131sm\u0131na kendi AWS Signer profilinizin ARN&#8217;ini girmelisiniz.<\/p>\n<pre><code>\naws lambda create-code-signing-config \\\n    --description \"My production Lambda code signing config\" \\\n    --allowed-publishers SigningProfileVersionArns=arn:aws:signer:REGION:ACCOUNT_ID:\/signing-profiles\/MySigningProfile \\\n    --policies CodeSigningConfigPolicy={UntrustedArtifactOnDeployment=Enforce}\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu komut ba\u015far\u0131l\u0131 oldu\u011funda, size yeni olu\u015fturulan yap\u0131land\u0131rman\u0131n ARN'ini d\u00f6nd\u00fcrecektir. Bu ARN'i daha sonra kullanaca\u011f\u0131z.<\/p>\n<h3>2. Ad\u0131m: Deployment Paketini AWS Signer ile \u0130mzalama<\/h3>\n<p>Kodunuzu i\u00e7eren zip dosyas\u0131n\u0131 olu\u015fturdunuz. \u015eimdi s\u0131ra bu paketi imzalamaya geldi. Bu i\u015flem i\u00e7in AWS Signer hizmetini kullanaca\u011f\u0131z. Bu ad\u0131m\u0131 genellikle bir CI\/CD hatt\u0131nda otomatikle\u015ftiririz.<\/p>\n<h4>AWS CLI \u0130le:<\/h4>\n<p>\u00d6ncelikle, bir AWS Signer imzalama i\u015fi ba\u015flatman\u0131z gerekir. Bu i\u015flem, kaynak paketinizi (imzalanacak kodunuz) ve hedef bir S3 konumunu (imzal\u0131 paketin depolanaca\u011f\u0131 yer) belirtmenizi gerektirir. Ayr\u0131ca, hangi imza profilini kullanaca\u011f\u0131n\u0131z\u0131 da belirtmelisiniz.<\/p>\n<pre><code>\naws signer start-signing-job \\\n    --source S3={bucketName=my-source-bucket,key=my-lambda-code.zip} \\\n    --destination S3={bucketName=my-signed-code-bucket,prefix=signed-lambda\/} \\\n    --profile-name MySigningProfile \\\n    --platform-id AWSLambda-SHA384-ECDSA\n    <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki komutta:<\/p>\n<ul>\n<li><code>my-source-bucket<\/code>: \u0130mzalayaca\u011f\u0131n\u0131z zip dosyas\u0131n\u0131n bulundu\u011fu S3 kovas\u0131n\u0131n ad\u0131.<\/li>\n<li><code>my-lambda-code.zip<\/code>: \u0130mzalayaca\u011f\u0131n\u0131z zip dosyas\u0131n\u0131n ad\u0131.<\/li>\n<li><code>my-signed-code-bucket<\/code>: \u0130mzal\u0131 zip dosyas\u0131n\u0131n depolanaca\u011f\u0131 S3 kovas\u0131n\u0131n ad\u0131.<\/li>\n<li><code>signed-lambda\/<\/code>: \u0130mzal\u0131 dosyan\u0131n S3 kovas\u0131nda depolanaca\u011f\u0131 \u00f6n ek (iste\u011fe ba\u011fl\u0131).<\/li>\n<li><code>MySigningProfile<\/code>: Daha \u00f6nce olu\u015fturdu\u011funuz AWS Signer imza profilinin ad\u0131.<\/li>\n<li><code>AWSLambda-SHA384-ECDSA<\/code>: Lambda i\u00e7in \u00f6nerilen platform kimli\u011fi.<\/li>\n<\/ul>\n<p>Bu komut size bir <code>jobId<\/code> d\u00f6nd\u00fcrecektir. \u0130mzalama i\u015flemi tamamland\u0131\u011f\u0131nda, imzal\u0131 kod paketinizi hedef S3 kovas\u0131nda bulacaks\u0131n\u0131z.<\/p>\n<h3>3. Ad\u0131m: Lambda Fonksiyonunu \u0130mza Konfig\u00fcrasyonu ile \u0130li\u015fkilendirme<\/h3>\n<p>Son ad\u0131mda, Lambda fonksiyonunuzu, daha \u00f6nce olu\u015fturdu\u011funuz kod imzalama yap\u0131land\u0131rmas\u0131yla ili\u015fkilendiriyoruz. Bu sayede, fonksiyonunuz her da\u011f\u0131t\u0131ld\u0131\u011f\u0131nda veya g\u00fcncellendi\u011finde imza do\u011frulamas\u0131 devreye girecektir.<\/p>\n<h4>AWS Y\u00f6netim Konsolu \u0130le:<\/h4>\n<ol>\n<li>AWS Lambda konsolunda, hedef fonksiyonunuzu se\u00e7in.<\/li>\n<li>Fonksiyon yap\u0131land\u0131rmas\u0131 (Configuration) sekmesine gidin.<\/li>\n<li>Sol men\u00fcden \"Code signing\" (Kod imzalama) se\u00e7ene\u011fini se\u00e7in.<\/li>\n<li>\"Edit\" (D\u00fczenle) d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li>A\u00e7\u0131l\u0131r men\u00fcden daha \u00f6nce olu\u015fturdu\u011funuz kod imzalama yap\u0131land\u0131rmas\u0131n\u0131 (\u00f6rn. <code>MyLambdaCodeSigningConfig<\/code>) se\u00e7in.<\/li>\n<li>De\u011fi\u015fiklikleri kaydedin.<\/li>\n<\/ol>\n<h4>AWS CLI \u0130le:<\/h4>\n<p>A\u015fa\u011f\u0131daki komut, mevcut bir Lambda fonksiyonuna kod imzalama yap\u0131land\u0131rmas\u0131n\u0131 ekler veya g\u00fcnceller.<\/p>\n<pre><code>\naws lambda update-function-configuration \\\n    --function-name MyLambdaFunction \\\n    --code-signing-config-arn arn:aws:lambda:REGION:ACCOUNT_ID:code-signing-config\/csc-EXAMPLE12345 \\\n    --runtime nodejs18.x --handler index.handler --role arn:aws:iam::ACCOUNT_ID:role\/lambda-role\n    <\/pre>\n<p><\/code><\/p>\n<p>Burada <code>arn:aws:lambda:REGION:ACCOUNT_ID:code-signing-config\/csc-EXAMPLE12345<\/code> k\u0131sm\u0131na, 1. ad\u0131mda olu\u015fturdu\u011funuz kod imzalama yap\u0131land\u0131rmas\u0131n\u0131n ARN'ini girmelisiniz.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, Lambda fonksiyonunuz art\u0131k sadece ge\u00e7erli bir imzaya sahip kod paketleriyle da\u011f\u0131t\u0131labilir veya g\u00fcncellenebilir olacakt\u0131r. Bu, sunucusuz ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r. Her deployment'ta imzay\u0131 manuel olarak kontrol etmek zorunda kalmayacak, bunun yerine AWS'nin bu do\u011frulamay\u0131 sizin yerinize otomatik olarak yapmas\u0131n\u0131 sa\u011flayacaks\u0131n\u0131z. Bu sayede, geli\u015ftirme ve operasyonel s\u00fcre\u00e7lerinizde hem g\u00fcvenlik hem de verimlilik kazan\u0131mlar\u0131 elde edeceksiniz.<\/p>\n<h2>Vaka Analizi: Ger\u00e7ek D\u00fcnya Senaryolar\u0131nda Kod \u0130mzalama<\/h2>\n<p>Teorik bilgi her zaman \u00f6nemlidir, ancak kod imzalama gibi bir g\u00fcvenlik mekanizmas\u0131n\u0131n ger\u00e7ek d\u00fcnyadaki faydalar\u0131n\u0131 ve nas\u0131l uygulanabilece\u011fini anlamak i\u00e7in vaka analizleri paha bi\u00e7ilmezdir. \u0130\u015fte farkl\u0131 sekt\u00f6rlerden ve kullan\u0131m senaryolar\u0131ndan AWS Lambda kod imzalama uygulamalar\u0131na dair \u00fc\u00e7 \u00f6rnek:<\/p>\n<h3>Senaryo 1: Finans Sekt\u00f6r\u00fcnde Reg\u00fclasyon Uyumlulu\u011fu ve Veri B\u00fct\u00fcnl\u00fc\u011f\u00fc<\/h3>\n<p>B\u00fcy\u00fck bir finans kurulu\u015fu, mikroservis mimarisiyle \u00e7al\u0131\u015fan kritik \u00f6deme i\u015fleme ve m\u00fc\u015fteri veri y\u00f6netimi fonksiyonlar\u0131n\u0131 AWS Lambda \u00fczerinde bar\u0131nd\u0131r\u0131yor. Bu kurulu\u015f, GDPR, PCI DSS gibi s\u0131k\u0131 reg\u00fclasyonlara tabi ve herhangi bir veri ihlali veya yetkisiz kod da\u011f\u0131t\u0131m\u0131 ciddi hukuki ve mali sonu\u00e7lar do\u011furabilir. Geli\u015ftirme ekibi, CI\/CD s\u00fcre\u00e7lerini kullanarak h\u0131zla yeni \u00f6zellikler geli\u015ftirirken, g\u00fcvenli\u011fin de en \u00fcst d\u00fczeyde olmas\u0131n\u0131 sa\u011flamak zorundayd\u0131.<\/p>\n<p><strong>Problem:<\/strong> Fonksiyon kodlar\u0131n\u0131n yetkisiz ki\u015filerce de\u011fi\u015ftirilme riski veya \u00fc\u00e7\u00fcnc\u00fc taraf k\u00fct\u00fcphanelerinde gizlenmi\u015f k\u00f6t\u00fc niyetli kodlar\u0131n fark edilmeden \u00fcretime ge\u00e7me olas\u0131l\u0131\u011f\u0131, kurulu\u015f i\u00e7in b\u00fcy\u00fck bir endi\u015fe kayna\u011f\u0131yd\u0131. Manuel denetimler zaman al\u0131c\u0131 ve hataya a\u00e7\u0131kt\u0131.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong> Kurulu\u015f, t\u00fcm kritik Lambda fonksiyonlar\u0131 i\u00e7in AWS Lambda kod imzalama uygulamas\u0131n\u0131 zorunlu hale getirdi. CI\/CD hatt\u0131na (AWS CodePipeline ve CodeBuild kullanarak) entegre edilen bir ad\u0131mda, her ba\u015far\u0131l\u0131 derleme sonras\u0131 olu\u015fturulan Lambda deployment paketi, \u00f6zel bir AWS KMS anahtar\u0131 ile korunan AWS Signer profili kullan\u0131larak otomatik olarak imzaland\u0131. Lambda fonksiyonlar\u0131n\u0131n yap\u0131land\u0131rmas\u0131na <code>Enforce<\/code> politikas\u0131yla kod imzalama yap\u0131land\u0131rmalar\u0131 eklendi.<\/p>\n<p><strong>Sonu\u00e7:<\/strong> Art\u0131k yaln\u0131zca kurumun onaylad\u0131\u011f\u0131 ve imzalanm\u0131\u015f kod paketleri \u00fcretime da\u011f\u0131t\u0131labiliyordu. Herhangi bir yetkisiz de\u011fi\u015fiklik veya imzas\u0131z paket da\u011f\u0131t\u0131m giri\u015fimi, otomatik olarak Lambda taraf\u0131ndan reddedildi ve bir alarm tetiklendi. Bu sayede, reg\u00fclasyonlara uyumluluk kolayla\u015ft\u0131, denetim s\u00fcre\u00e7lerinde kod b\u00fct\u00fcnl\u00fc\u011f\u00fcne dair somut kan\u0131tlar sunulabildi ve olas\u0131 g\u00fcvenlik ihlallerinin \u00f6n\u00fcne ge\u00e7ildi. Fonksiyonlar\u0131n g\u00fcvenilir bir kaynaktan geldi\u011fi garanti alt\u0131na al\u0131nm\u0131\u015f oldu.<\/p>\n<h3>Senaryo 2: Kritik Mikroservislerin Korunmas\u0131 ve Dahili G\u00fcvenlik<\/h3>\n<p>Bir e-ticaret \u015firketi, sipari\u015f i\u015fleme, envanter y\u00f6netimi ve kullan\u0131c\u0131 kimlik do\u011frulamas\u0131 gibi temel operasyonlar\u0131 i\u00e7in birden fazla Lambda tabanl\u0131 mikroservis kullan\u0131yor. \u015eirket, h\u0131zl\u0131 \u00fcr\u00fcn geli\u015ftirme d\u00f6ng\u00fcleri ile \u00f6ne \u00e7\u0131karken, dahili g\u00fcvenlik tehditlerine kar\u015f\u0131 da haz\u0131rl\u0131kl\u0131 olmak istiyordu. \u00d6zellikle, geli\u015ftirme ortam\u0131ndan \u00fcretim ortam\u0131na ge\u00e7en kodun yanl\u0131\u015fl\u0131kla veya kas\u0131tl\u0131 olarak de\u011fi\u015ftirilmesi riskini azaltmay\u0131 hedefliyorlard\u0131.<\/p>\n<p><strong>Problem:<\/strong> \u00c7e\u015fitli geli\u015ftirme ekipleri taraf\u0131ndan y\u00f6netilen y\u00fczlerce Lambda fonksiyonu vard\u0131. Bir ekibin yanl\u0131\u015fl\u0131kla veya bilerek hatal\u0131 bir kod da\u011f\u0131tmas\u0131 veya test ortam\u0131nda \u00e7al\u0131\u015fan bir kodun \u00fcretim ortam\u0131na s\u0131zmas\u0131 riski mevcuttu. Ayr\u0131ca, birden fazla geli\u015ftiricinin ayn\u0131 repo \u00fczerinde \u00e7al\u0131\u015fmas\u0131, kod b\u00fct\u00fcnl\u00fc\u011f\u00fc konusunda ek riskler yarat\u0131yordu.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong> \u015eirket, t\u00fcm \u00fcretim Lambda fonksiyonlar\u0131 i\u00e7in <code>Enforce<\/code> politikas\u0131 ile kod imzalama yap\u0131land\u0131rmalar\u0131 olu\u015fturdu. Geli\u015ftirme s\u00fcrecinin son a\u015famas\u0131nda, sadece \"ana\" branch'e commit edilen ve t\u00fcm otomatik testleri ge\u00e7en kodlar, merkezi bir AWS Signer profili taraf\u0131ndan imzaland\u0131. Bu profilin \u00f6zel anahtar\u0131na sadece SRE (Site Reliability Engineering) ekibinin onaylad\u0131\u011f\u0131 otomatikle\u015ftirilmi\u015f CI\/CD pipeline'lar\u0131 eri\u015febiliyordu.<\/p>\n<p><strong>Sonu\u00e7:<\/strong> Bu uygulama, geli\u015ftiricilerin direkt olarak \u00fcretim ortam\u0131na imzas\u0131z kod da\u011f\u0131tmas\u0131n\u0131 engelledi. Yaln\u0131zca SRE ekibinin onaylad\u0131\u011f\u0131 ve imzalanm\u0131\u015f kodlar \u00fcretime gidebildi. Bu durum, hem dahili g\u00fcvenlik tehditlerini azaltt\u0131 hem de geli\u015ftirme ekipleri aras\u0131nda daha disiplinli bir kod da\u011f\u0131t\u0131m s\u00fcreci olu\u015fturdu. Ayr\u0131ca, herhangi bir geli\u015ftirici veya otomatik ara\u00e7 yanl\u0131\u015fl\u0131kla imzas\u0131z bir paket da\u011f\u0131tmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, Lambda an\u0131nda reddetti ve bu durum h\u0131zl\u0131ca tespit edilip d\u00fczeltildi.<\/p>\n<h3>Senaryo 3: \u00dc\u00e7\u00fcnc\u00fc Parti Ba\u011f\u0131ml\u0131l\u0131klar\u0131n ve Katmanlar\u0131n G\u00fcvenli\u011fi<\/h3>\n<p>Bir veri analizi \u015firketi, Lambda fonksiyonlar\u0131n\u0131 kullanarak b\u00fcy\u00fck veri i\u015fleme s\u00fcre\u00e7leri y\u00fcr\u00fct\u00fcyor. Bu fonksiyonlar, Pandas, NumPy gibi pop\u00fcler Python k\u00fct\u00fcphanelerini i\u00e7eren ve bir\u00e7ok farkl\u0131 fonksiyon taraf\u0131ndan payla\u015f\u0131lan Lambda katmanlar\u0131na (layers) ba\u011f\u0131ml\u0131yd\u0131. Bu katmanlar\u0131n g\u00fcncel ve g\u00fcvenli olmas\u0131 kritikti.<\/p>\n<p><strong>Problem:<\/strong> D\u0131\u015far\u0131dan al\u0131nan \u00fc\u00e7\u00fcnc\u00fc parti k\u00fct\u00fcphanelerin (ve dolay\u0131s\u0131yla katmanlar\u0131n) i\u00e7eri\u011finde potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131 veya k\u00f6t\u00fc ama\u00e7l\u0131 kod bulunma riski her zaman vard\u0131. \u015eirket, bu katmanlar\u0131n orijinalli\u011finden ve da\u011f\u0131t\u0131m s\u0131ras\u0131nda manip\u00fcle edilmedi\u011finden emin olmak istiyordu.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong> \u015eirket, t\u00fcm kritik Lambda katmanlar\u0131n\u0131 da imzalamaya karar verdi. AWS Signer'\u0131 kullanarak, her yeni katman s\u00fcr\u00fcm\u00fc olu\u015fturuldu\u011funda ve testlerden ge\u00e7ti\u011finde otomatik olarak imzaland\u0131. Katmanlar\u0131 kullanan Lambda fonksiyonlar\u0131na, bu imzal\u0131 katmanlar\u0131 do\u011frulayacak kod imzalama yap\u0131land\u0131rmalar\u0131 atand\u0131. Ayr\u0131ca, katmanlar\u0131n belirli bir imza profiliyle imzalanmas\u0131 gereklili\u011fi, \u015firket i\u00e7indeki g\u00fcvenlik politikalar\u0131na eklendi.<\/p>\n<p><strong>Sonu\u00e7:<\/strong> Bu yakla\u015f\u0131m, \u015firketin veri i\u015fleme ak\u0131\u015flar\u0131nda kullan\u0131lan temel k\u00fct\u00fcphanelerin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc garanti alt\u0131na ald\u0131. Art\u0131k, yanl\u0131\u015fl\u0131kla veya k\u00f6t\u00fc niyetle olu\u015fturulmu\u015f, imzalanmam\u0131\u015f veya ge\u00e7erli bir imzas\u0131 olmayan katmanlar\u0131n fonksiyonlar taraf\u0131ndan kullan\u0131lmas\u0131 engellendi. Bu, \u00f6zellikle a\u00e7\u0131k kaynakl\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131n s\u0131k\u00e7a kullan\u0131ld\u0131\u011f\u0131 ortamlarda, tedarik zinciri sald\u0131r\u0131lar\u0131na kar\u015f\u0131 \u00f6nemli bir koruma katman\u0131 sa\u011flad\u0131 ve genel g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirdi.<\/p>\n<p>Bu vaka analizleri, AWS Lambda kod imzalama \u00f6zelli\u011finin ne kadar \u00e7e\u015fitli senaryolarda kritik bir g\u00fcvenlik katman\u0131 sa\u011flayabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir. \u0130ster reg\u00fclasyon uyumlulu\u011fu, ister dahili operasyonel g\u00fcvenlik, isterse \u00fc\u00e7\u00fcnc\u00fc taraf ba\u011f\u0131ml\u0131l\u0131klar\u0131n korunmas\u0131 olsun, kod imzalama, sunucusuz uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini art\u0131rmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r.<\/p>\n<h2>\u0130leri D\u00fczey Uygulamalar: CI\/CD S\u00fcre\u00e7lerine \u0130mzalama Entegrasyonu ve Otomasyon<\/h2>\n<p>AWS Lambda kod imzalama \u00f6zelli\u011finin ger\u00e7ek g\u00fcc\u00fc, onu CI\/CD (S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m) s\u00fcre\u00e7lerinizle sorunsuz bir \u015fekilde entegre etti\u011finizde ortaya \u00e7\u0131kar. Manuel imzalama s\u00fcre\u00e7leri, \u00f6zellikle b\u00fcy\u00fck ve karma\u015f\u0131k projelerde hem zaman al\u0131c\u0131 hem de hataya a\u00e7\u0131k olabilir. Bu nedenle, imzalama ve do\u011frulama ad\u0131mlar\u0131n\u0131 otomatikle\u015ftirmek, modern geli\u015ftirme yakla\u015f\u0131mlar\u0131n\u0131n temelini olu\u015fturur. Bu b\u00f6l\u00fcmde, daha deneyimli kullan\u0131c\u0131lar i\u00e7in CI\/CD hatt\u0131n\u0131za kod imzalama entegrasyonu, altyap\u0131 olarak kod (IaC) ile y\u00f6netimi ve hata y\u00f6netimi ipu\u00e7lar\u0131n\u0131 ele alaca\u011f\u0131z.<\/p>\n<h3>CI\/CD Hatt\u0131na Entegrasyon: AWS CodePipeline ve CodeBuild<\/h3>\n<p>AWS ekosisteminde, CI\/CD s\u00fcre\u00e7lerini otomatikle\u015ftirmek i\u00e7in genellikle AWS CodePipeline ve CodeBuild kullan\u0131l\u0131r. Kod imzalama s\u00fcrecini bu ara\u00e7lara entegre etmek, deployment paketlerinizin g\u00fcvenli\u011fini otomatik olarak sa\u011flaman\u0131za olanak tan\u0131r.<\/p>\n<p>Tipik bir entegrasyon ak\u0131\u015f\u0131 \u015f\u00f6yle olabilir:<\/p>\n<ol>\n<li><strong>Kaynak A\u015famas\u0131 (Source Stage):<\/strong> Kodunuz, AWS CodeCommit, GitHub veya S3 gibi bir kaynaktan \u00e7ekilir.<\/li>\n<li><strong>Derleme A\u015famas\u0131 (Build Stage - CodeBuild):<\/strong>\n<ul>\n<li>CodeBuild projeniz, Lambda fonksiyon kodunuzu ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 derler veya paketler (\u00f6rne\u011fin, bir zip dosyas\u0131 olu\u015fturur).<\/li>\n<li>Bu a\u015famada, AWS Signer hizmetini \u00e7a\u011f\u0131rarak olu\u015fturulan deployment paketini imzalars\u0131n\u0131z. CodeBuild IAM rol\u00fcn\u00fcn AWS Signer'da imzalama profiline eri\u015fim izni oldu\u011fundan emin olun.<\/li>\n<pre><code>\nversion: 0.2\nphases:\n  install:\n    commands:\n      - echo Installing dependencies...\n      - npm install\n  build:\n    commands:\n      - echo Building Lambda package...\n      - zip -r ..\/lambda-package.zip .\n      - echo Starting signing job...\n      - SIGNED_PACKAGE_ARN=$(aws signer start-signing-job \\\n            --source S3={bucketName=SOURCE_S3_BUCKET,key=lambda-package.zip} \\\n            --destination S3={bucketName=SIGNED_S3_BUCKET,prefix=signed-lambda\/} \\\n            --profile-name MyLambdaSigningProfile \\\n            --platform-id AWSLambda-SHA384-ECDSA \\\n            --query \"jobId\" --output text)\n      - echo Waiting for signing job to complete...\n      - aws signer wait signing-job-completed --job-id $SIGNED_PACKAGE_ARN\n      - SIGNED_S3_PATH=$(aws signer describe-signing-job --job-id $SIGNED_PACKAGE_ARN --query \"signedObject.s3.key\" --output text)\n      - echo Signed package is at s3:\/\/SIGNED_S3_BUCKET\/$SIGNED_S3_PATH\nartifacts:\n  files:\n    - '**\/*'\n  discard-paths: yes\n  secondary-artifacts:\n    SignedLambdaPackage:\n      files:\n        - lambda-package.zip\n      base-directory: \/path\/to\/signed\/package # Bu k\u0131s\u0131m, imzal\u0131 paketin S3'teki do\u011fru yolunu i\u015faret etmeli.\n            <\/pre>\n<p><\/code><\/p>\n<li>Yukar\u0131daki \u00f6rnekte <code>start-signing-job<\/code> komutu ile imzalama s\u00fcreci ba\u015flat\u0131l\u0131r ve <code>wait signing-job-completed<\/code> ile i\u015flemin bitmesi beklenir. \u0130mzal\u0131 paket daha sonra bir S3 kovas\u0131na kaydedilir.<\/li>\n<\/li>\n<li><strong>Da\u011f\u0131t\u0131m A\u015famas\u0131 (Deploy Stage - CodeDeploy\/CloudFormation):<\/strong>\n<ul>\n<li>CodeDeploy veya CloudFormation (SAM CLI ile de olabilir) kullan\u0131larak, CodeBuild'dan gelen imzal\u0131 deployment paketi Lambda fonksiyonuna da\u011f\u0131t\u0131l\u0131r.<\/li>\n<li>Lambda fonksiyonunuzun zaten bir kod imzalama yap\u0131land\u0131rmas\u0131yla ili\u015fkilendirilmi\u015f olmas\u0131 sayesinde, AWS Lambda otomatik olarak imzay\u0131 do\u011frular. E\u011fer imza ge\u00e7ersizse veya paket imzalanmam\u0131\u015fsa, da\u011f\u0131t\u0131m reddedilir.<\/li>\n<pre><code>\n# \u00d6rnek CloudFormation \u015fablonu snippet'i\nResources:\n  MyLambdaFunction:\n    Type: AWS::Serverless::Function\n    Properties:\n      FunctionName: MySignedFunction\n      Handler: index.handler\n      Runtime: nodejs18.x\n      CodeUri: s3:\/\/SIGNED_S3_BUCKET\/signed-lambda\/my-lambda-package.zip # \u0130mzal\u0131 paketin S3 yolu\n      MemorySize: 128\n      Timeout: 30\n      Role: !GetAtt LambdaExecutionRole.Arn\n      CodeSigningConfigArn: arn:aws:lambda:REGION:ACCOUNT_ID:code-signing-config\/csc-EXAMPLE12345\n            <\/pre>\n<p><\/code>\n        <\/li>\n<\/ol>\n<p>Bu entegrasyon, her kod de\u011fi\u015fikli\u011finde g\u00fcvenli\u011fin otomatik olarak uygulanmas\u0131n\u0131 sa\u011flar ve insan hatas\u0131n\u0131 minimize eder.<\/p>\n<h3>Altyap\u0131 Olarak Kod (IaC) ile Kod \u0130mzalama Y\u00f6netimi<\/h3>\n<p>Terraform veya AWS CloudFormation gibi IaC ara\u00e7lar\u0131, AWS kaynaklar\u0131n\u0131z\u0131 kod olarak tan\u0131mlaman\u0131za ve y\u00f6netmenize olanak tan\u0131r. Kod imzalama yap\u0131land\u0131rmalar\u0131n\u0131 da bu ara\u00e7larla y\u00f6netmek, altyap\u0131n\u0131z\u0131n tutarl\u0131l\u0131\u011f\u0131n\u0131 ve tekrarlanabilirli\u011fini sa\u011flar.<\/p>\n<pre><code>\n# Terraform \u00d6rne\u011fi: AWS Lambda Code Signing Configuration\nresource \"aws_lambda_code_signing_config\" \"my_config\" {\n  description = \"Code Signing Config for critical Lambda functions\"\n\n  allowed_publishers {\n    signing_profile_version_arns = [\n      \"arn:aws:signer:REGION:ACCOUNT_ID:\/signing-profiles\/MySigningProfile\/0123456789abcdef\"\n    ]\n  }\n\n  policies {\n    untrusted_artifact_on_deployment = \"Enforce\"\n  }\n}\n\n# Terraform \u00d6rne\u011fi: Lambda Fonksiyonunu Code Signing Config ile ili\u015fkilendirme\nresource \"aws_lambda_function\" \"my_function\" {\n  filename         = \"lambda_function_payload.zip\" # Bu dosyay\u0131 AWS Signer ile imzalam\u0131\u015f olmal\u0131s\u0131n\u0131z.\n  function_name    = \"my_signed_lambda_function\"\n  role             = aws_iam_role.lambda_exec_role.arn\n  handler          = \"index.handler\"\n  runtime          = \"nodejs18.x\"\n  code_signing_config_arn = aws_lambda_code_signing_config.my_config.arn\n}\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu yakla\u015f\u0131m, t\u00fcm g\u00fcvenlik ayarlar\u0131n\u0131n versiyon kontrol\u00fcnde olmas\u0131n\u0131 ve kolayca denetlenebilmesini sa\u011flar.<\/p>\n<div class=\"uzman-ipucu\">\n<p>Uzman \u0130pucu: \u0130mza profili anahtarlar\u0131n\u0131z\u0131 AWS KMS'te olu\u015fturun ve y\u00f6netin. Bu, anahtarlar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini art\u0131r\u0131r ve eri\u015fim politikalar\u0131n\u0131 daha detayl\u0131 kontrol etmenizi sa\u011flar. Ayr\u0131ca, her imza profilinin belirli bir KMS anahtar\u0131n\u0131 kullanmas\u0131n\u0131 sa\u011flayarak ayr\u0131\u015ft\u0131rma (separation of concerns) prensibini uygulay\u0131n.<\/p>\n<\/p><\/div>\n<h3>\u0130mza Do\u011frulama Politikalar\u0131 ve Hata Y\u00f6netimi<\/h3>\n<p>Kod imzalama yap\u0131land\u0131rman\u0131zda belirledi\u011finiz \"Policy\" (Politika) ayar\u0131, imza do\u011frulama ba\u015far\u0131s\u0131z oldu\u011funda Lambda'n\u0131n nas\u0131l davranaca\u011f\u0131n\u0131 kontrol eder:<\/p>\n<ul>\n<li><strong>Enforce (Zorunlu K\u0131l):<\/strong> Bu, \u00fcretim ortamlar\u0131 i\u00e7in \u015fiddetle tavsiye edilen politikad\u0131r. \u0130mza do\u011frulama ba\u015far\u0131s\u0131z oldu\u011funda Lambda da\u011f\u0131t\u0131m\u0131 engeller ve bir hata d\u00f6nd\u00fcr\u00fcr. Bu durumda, da\u011f\u0131t\u0131m hatt\u0131n\u0131zda bu hatay\u0131 yakalamal\u0131 ve uygun bildirim mekanizmalar\u0131n\u0131 (SNS, PagerDuty vb.) tetiklemelisiniz.<\/li>\n<li><strong>Warn (Uyar):<\/strong> Bu politika, genellikle test veya geli\u015ftirme ortamlar\u0131nda kullan\u0131l\u0131r. Da\u011f\u0131t\u0131ma izin verilir ancak CloudWatch'ta bir uyar\u0131 kayd\u0131 olu\u015fturulur. Bu, sistemi engellemeden imzalar\u0131 izlemenize olanak tan\u0131r ancak g\u00fcvenlik riski ta\u015f\u0131r.<\/li>\n<\/ul>\n<p><strong>Hata Y\u00f6netimi ve \u0130zleme:<\/strong><\/p>\n<p>AWS CloudWatch metriklerini ve g\u00fcnl\u00fcklerini kullanarak imza do\u011frulama hatalar\u0131n\u0131 izlemek kritiktir. Lambda, imza do\u011frulama ba\u015far\u0131s\u0131zl\u0131klar\u0131 i\u00e7in \u00f6zel metrikler yay\u0131nlar. Bu metrikler \u00fczerinde alarmlar kurarak an\u0131nda bildirim alabilirsiniz. CloudWatch Logs'ta ise ba\u015far\u0131s\u0131z da\u011f\u0131t\u0131m denemelerinin detaylar\u0131n\u0131 bulabilirsiniz.<\/p>\n<pre><code>\n\/* Mobil Uyumlu HTML \u00d6rne\u011fi: CloudWatch Dashboard'lar i\u00e7in *\/\n\/* Bu CSS, bir web sayfas\u0131n\u0131n Lambda izleme panosu gibi elementlerini mobil cihazlarda daha iyi g\u00f6sterir. *\/\n<style>\n  .dashboard-widget {\n    border: 1px solid #ddd;\n    margin: 10px 0;\n    padding: 15px;\n    border-radius: 8px;\n    background-color: #f9f9f9;\n  }\n  .dashboard-widget h3 {\n    color: #333;\n    margin-top: 0;\n  }\n  @media (max-width: 768px) {\n    .dashboard-widget {\n      width: 100%;\n      box-sizing: border-box;\n      margin: 10px 0;\n    }\n  }\n<\/style>\n<div class=\"dashboard-widget\">\n  <h3>Lambda Kod \u0130mzalama Metrikleri<\/h3>\n  <p>Burada \"CodeSigningInvalidSignature\" veya \"CodeSigningPolicyViolation\" gibi metrikleri izleyebilir, alarmlar kurabilirsiniz. Mobil uyumlu panolar, bu bilgileri her yerden takip etmenizi sa\u011flar.<\/p>\n<\/div>\n    <\/pre>\n<p><\/code><\/p>\n<p>Mobil uyumlu panolar veya izleme aray\u00fczleri, bu g\u00fcvenlik uyar\u0131lar\u0131n\u0131 geli\u015ftirici ve operasyon ekiplerine an\u0131nda ula\u015ft\u0131rarak h\u0131zl\u0131 m\u00fcdahale s\u00fcreleri sa\u011flar. Geli\u015fmi\u015f entegrasyonlar ile bu hatalar otomatik olarak bir i\u015f ak\u0131\u015f\u0131n\u0131 (\u00f6rne\u011fin, g\u00fcvenlik ekibine bir bildirim g\u00f6nderme veya bir Jira bileti olu\u015fturma) tetikleyebilir. Bu sayede, g\u00fcvenlik a\u00e7\u0131klar\u0131 veya yetkisiz da\u011f\u0131t\u0131m denemeleri proaktif olarak y\u00f6netilir ve ortadan kald\u0131r\u0131l\u0131r.<\/p>\n<p>CI\/CD s\u00fcre\u00e7lerinize kod imzalama entegrasyonu, sadece g\u00fcvenli\u011fi art\u0131rmakla kalmaz, ayn\u0131 zamanda da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinizin otomasyonunu, g\u00fcvenilirli\u011fini ve denetlenebilirli\u011fini de iyile\u015ftirir. Bu, modern bulut tabanl\u0131 uygulamalar\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular: AWS Lambda Kod \u0130mzalama Hakk\u0131nda Merak Edilenler<\/h2>\n<p>AWS Lambda kod imzalama, sunucusuz g\u00fcvenlik stratejilerinizin \u00f6nemli bir par\u00e7as\u0131d\u0131r, ancak bu yeni \u00f6zellik hakk\u0131nda akla tak\u0131labilecek bir\u00e7ok soru olabilir. \u0130\u015fte en s\u0131k kar\u015f\u0131la\u015f\u0131lan sorulardan baz\u0131lar\u0131 ve cevaplar\u0131:<\/p>\n<h3>1. AWS Lambda kod imzalama performans \u00fczerinde herhangi bir etki yarat\u0131r m\u0131?<\/h3>\n<p>Genel olarak, AWS Lambda kod imzalama, fonksiyonlar\u0131n\u0131z\u0131n \u00e7al\u0131\u015fma zaman\u0131 (runtime) performans\u0131n\u0131 do\u011frudan etkilemez. \u0130mza do\u011frulama i\u015flemi, fonksiyonunuzun ba\u015flat\u0131lmas\u0131ndan \u00f6nce, da\u011f\u0131t\u0131m (deployment) veya g\u00fcncelleme a\u015famas\u0131nda ger\u00e7ekle\u015fir. Yani, kodunuz zaten Lambda'ya da\u011f\u0131t\u0131l\u0131p \u00e7al\u0131\u015fmaya ba\u015flad\u0131\u011f\u0131nda, imza do\u011frulamas\u0131 tamamlanm\u0131\u015f ve ba\u015far\u0131l\u0131 olmu\u015ftur. Dolay\u0131s\u0131yla, fonksiyonunuzun her \u00e7a\u011fr\u0131ld\u0131\u011f\u0131nda bir imza do\u011frulamas\u0131 yap\u0131lmas\u0131 s\u00f6z konusu de\u011fildir. Ancak, CI\/CD hatt\u0131n\u0131zda imzalama i\u015fleminin kendisi, paketin boyutuna ve a\u011f gecikmelerine ba\u011fl\u0131 olarak bir miktar ek s\u00fcre alabilir. Bu genellikle saniyelerle \u00f6l\u00e7\u00fcl\u00fcr ve \u00e7o\u011fu durumda kabul edilebilir bir maliyettir.<\/p>\n<h3>2. Kod imzalama i\u00e7in AWS'ye ek bir maliyet \u00f6demem gerekiyor mu?<\/h3>\n<p>Evet, AWS Lambda kod imzalama i\u00e7in kullan\u0131lan AWS Signer ve AWS Key Management Service (KMS) hizmetleri i\u00e7in \u00fccret \u00f6demeniz gerekebilir. AWS Signer, imzalama i\u015flerinin say\u0131s\u0131na ve imzalanan veri miktar\u0131na g\u00f6re \u00fccretlendirilir. AWS KMS ise, olu\u015fturdu\u011funuz anahtarlar ve anahtar kullan\u0131m\u0131na y\u00f6nelik API \u00e7a\u011fr\u0131lar\u0131 (\u00f6rne\u011fin, her imzalama i\u015flemi bir KMS \u00e7a\u011fr\u0131s\u0131 gerektirebilir) \u00fczerinden \u00fccretlendirilir. Bu maliyetler genellikle d\u00fc\u015f\u00fck seviyelerde seyreder ancak b\u00fcy\u00fck \u00f6l\u00e7ekli ve s\u0131k imzalama i\u015flemleri yapan uygulamalar i\u00e7in dikkate al\u0131nmal\u0131d\u0131r. Detayl\u0131 bilgi i\u00e7in AWS'nin resmi fiyatland\u0131rma sayfalar\u0131na bakman\u0131z \u00f6nerilir.<\/p>\n<h3>3. Hangi Lambda \u00e7al\u0131\u015fma zamanlar\u0131 (runtimes) ve diller kod imzalama \u00f6zelli\u011fini destekler?<\/h3>\n<p>AWS Lambda kod imzalama \u00f6zelli\u011fi, neredeyse t\u00fcm AWS Lambda \u00e7al\u0131\u015fma zamanlar\u0131 (Node.js, Python, Java, C#, Go, Ruby vb.) i\u00e7in ge\u00e7erlidir. \u00d6nemli olan, deployment paketinizin (genellikle bir .zip dosyas\u0131) AWS Signer taraf\u0131ndan imzalanabilir bir formatta olmas\u0131d\u0131r. Dil veya runtime ba\u011f\u0131ms\u0131z bir \u00f6zelliktir \u00e7\u00fcnk\u00fc do\u011frulama, kod paketi \u00fczerinde de\u011fil, paketin dijital imzas\u0131 \u00fczerinde yap\u0131l\u0131r. Dolay\u0131s\u0131yla, hangi dilde kod yazarsan\u0131z yaz\u0131n, bu g\u00fcvenlik katman\u0131n\u0131 uygulayabilirsiniz.<\/p>\n<h3>4. Varolan Lambda fonksiyonlar\u0131m\u0131 imzalamak i\u00e7in ne yapmal\u0131y\u0131m?<\/h3>\n<p>Mevcut Lambda fonksiyonlar\u0131n\u0131za kod imzalama \u00f6zelli\u011fini uygulamak m\u00fcmk\u00fcnd\u00fcr. S\u00fcre\u00e7, yeni bir fonksiyon olu\u015fturmaktan farkl\u0131 de\u011fildir:<\/p>\n<ol>\n<li>\u00d6ncelikle, bir AWS Signer imza profili ve bir AWS Lambda kod imzalama yap\u0131land\u0131rmas\u0131 olu\u015fturmal\u0131s\u0131n\u0131z.<\/li>\n<li>Ard\u0131ndan, mevcut Lambda fonksiyonunuzun en g\u00fcncel kod paketini (zip dosyas\u0131) AWS Signer kullanarak imzalamal\u0131s\u0131n\u0131z.<\/li>\n<li>\u0130mzal\u0131 paketi bir S3 kovas\u0131na y\u00fcklemelisiniz.<\/li>\n<li>Son olarak, Lambda fonksiyonunuzun yap\u0131land\u0131rmas\u0131n\u0131 g\u00fcncelleyerek, imzal\u0131 kod paketinin S3 yolunu ve olu\u015fturdu\u011funuz kod imzalama yap\u0131land\u0131rmas\u0131n\u0131n ARN'ini belirtmelisiniz. Bu ad\u0131m, fonksiyonun AWS CLI, AWS Y\u00f6netim Konsolu veya IaC ara\u00e7lar\u0131 (CloudFormation, Terraform) arac\u0131l\u0131\u011f\u0131yla yap\u0131labilir. Fonksiyonunuz zaten bir S3 objesinden y\u00fckleniyorsa, sadece S3 anahtar\u0131n\u0131 imzal\u0131 paketle g\u00fcncellemeniz yeterli olacakt\u0131r.<\/li>\n<\/ol>\n<p>    Bu s\u00fcre\u00e7, bir sonraki da\u011f\u0131t\u0131m\u0131n\u0131zda imza do\u011frulamay\u0131 aktif hale getirecektir.<\/p>\n<h3>5. Kod imzalama, g\u00fcvenlikten ba\u015fka hangi faydalar\u0131 sa\u011flar?<\/h3>\n<p>Kod imzalama, temel olarak g\u00fcvenlik odakl\u0131 bir \u00f6zellik olsa da, dolayl\u0131 olarak operasyonel faydalar da sunar:<\/p>\n<ul>\n<li><strong>Geli\u015ftirme S\u00fcre\u00e7lerinde Disiplin:<\/strong> Yaln\u0131zca imzal\u0131 kodlar\u0131n da\u011f\u0131t\u0131m\u0131na izin vermek, geli\u015ftirme ekiplerini daha disiplinli bir CI\/CD s\u00fcreci izlemeye te\u015fvik eder.<\/li>\n<li><strong>Denetlenebilirlik ve Uyumluluk:<\/strong> Reg\u00fclasyonlara tabi sekt\u00f6rlerde, kodun orijinalli\u011fi ve b\u00fct\u00fcnl\u00fc\u011f\u00fc hakk\u0131nda somut kan\u0131tlar sunar, denetim s\u00fcre\u00e7lerini kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Hata Azaltma:<\/strong> Yanl\u0131\u015fl\u0131kla veya yetkisiz da\u011f\u0131t\u0131lan hatal\u0131 kod s\u00fcr\u00fcmlerinin \u00fcretime ula\u015fmas\u0131n\u0131 engelleyerek, operasyonel kesintileri ve hata ay\u0131klama s\u00fcresini azalt\u0131r.<\/li>\n<li><strong>Tedarik Zinciri G\u00fcvenli\u011fi:<\/strong> \u00dc\u00e7\u00fcnc\u00fc taraf ba\u011f\u0131ml\u0131l\u0131klar\u0131n veya katmanlar\u0131n manip\u00fcle edilmemi\u015f oldu\u011fundan emin olman\u0131z\u0131 sa\u011flar, bu da genel yaz\u0131l\u0131m tedarik zincirinizin g\u00fcvenli\u011fini art\u0131r\u0131r.<\/li>\n<\/ul>\n<p>    Bu ek faydalar, kod imzalama yat\u0131r\u0131m\u0131n\u0131n sadece g\u00fcvenlik de\u011fil, ayn\u0131 zamanda operasyonel verimlilik ve g\u00fcvenilirlik a\u00e7\u0131s\u0131ndan da de\u011ferli oldu\u011funu g\u00f6stermektedir.<\/p>\n<h2>Sonu\u00e7: G\u00fcvenli Bir Gelecek \u0130\u00e7in AWS Lambda Kod \u0130mzalama<\/h2>\n<p>AWS Lambda, modern uygulama geli\u015ftirmede sundu\u011fu esneklik ve \u00f6l\u00e7eklenebilirlikle devrim yarat\u0131rken, bu g\u00fcc\u00fcn beraberinde getirdi\u011fi g\u00fcvenlik sorumlulu\u011funu da g\u00f6z ard\u0131 etmemek gerekir. \"Sign your AWS Lambda Code\" (AWS Lambda Kodunuzu \u0130mzalay\u0131n) prensibi, tam da bu noktada devreye girerek sunucusuz uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini k\u00f6kten g\u00fc\u00e7lendiren bir mekanizma sunar. Bu makale boyunca detayland\u0131rd\u0131\u011f\u0131m\u0131z gibi, kod imzalama sadece bir g\u00fcvenlik \u00f6nlemi olman\u0131n \u00f6tesine ge\u00e7erek, operasyonel g\u00fcvenilirli\u011fi, reg\u00fclasyon uyumlulu\u011funu ve geli\u015ftirme s\u00fcre\u00e7lerinin disiplinini art\u0131ran \u00e7ok y\u00f6nl\u00fc bir ara\u00e7t\u0131r.<\/p>\n<p>\u00d6zetle, AWS Lambda kod imzalama, fonksiyonlar\u0131n\u0131z\u0131n deployment paketlerinin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve orijinalli\u011fini garanti alt\u0131na alarak yetkisiz de\u011fi\u015fikliklere veya k\u00f6t\u00fc ama\u00e7l\u0131 kod enjeksiyonlar\u0131na kar\u015f\u0131 sa\u011flam bir savunma hatt\u0131 olu\u015fturur. AWS Signer ve AWS KMS gibi hizmetlerin entegrasyonu sayesinde, bu s\u00fcre\u00e7 tamamen otomatikle\u015ftirilebilir ve CI\/CD hatlar\u0131n\u0131za sorunsuz bir \u015fekilde dahil edilebilir. \u0130ster finansal bir kurulu\u015fun s\u0131k\u0131 uyumluluk gereksinimlerini kar\u015f\u0131lay\u0131n, ister kritik mikroservislerinizi dahili tehditlere kar\u015f\u0131 koruyun, isterse \u00fc\u00e7\u00fcnc\u00fc taraf ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flay\u0131n; kod imzalama, sunucusuz mimarinizin temel bir g\u00fcvenlik katman\u0131 olmal\u0131d\u0131r.<\/p>\n<p>Geli\u015fen siber g\u00fcvenlik tehditleri ve artan reg\u00fclasyon bask\u0131s\u0131 kar\u015f\u0131s\u0131nda, AWS Lambda kod imzalama \u00f6zelli\u011fi, geli\u015ftiricilere ve g\u00fcvenlik uzmanlar\u0131na, da\u011f\u0131tt\u0131klar\u0131 kodun her zaman bekledikleri gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olma konusunda paha bi\u00e7ilmez bir g\u00fcven sunar. Bu, sadece bug\u00fcn\u00fcn de\u011fil, gelece\u011fin de g\u00fcvenli sunucusuz uygulamalar\u0131n\u0131 in\u015fa etmek i\u00e7in at\u0131lmas\u0131 gereken stratejik bir ad\u0131md\u0131r. Kodunuzu imzalayarak, sadece bir g\u00fcvenlik \u00f6zelli\u011fi eklemekle kalmaz, ayn\u0131 zamanda t\u00fcm yaz\u0131l\u0131m ya\u015fam d\u00f6ng\u00fcn\u00fcz boyunca proaktif bir g\u00fcvenlik k\u00fclt\u00fcr\u00fc benimsersiniz. Sunucusuz gelece\u011finizi g\u00fcvenle in\u015fa etmeye ba\u015flamak i\u00e7in bug\u00fcn Lambda kod imzalama \u00f6zelli\u011fini ke\u015ffedin.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1406],"tags":[],"class_list":{"0":"post-32049","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-aws","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n<\/title>\n<meta name=\"description\" content=\"Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n beraberinde getirdi\u011fi en kritik sorulardan biri \u015f\u00fcphesiz g\u00fcvenliktir: Da\u011f\u0131tt\u0131\u011f\u0131n\u0131z AWS Lambda kodunun ger\u00e7ekten sizin taraf\u0131n\u0131zdan olu\u015fturuldu\u011fundan ve yetkisiz hi\u00e7bir m\u00fcdahaleye u\u011framad\u0131\u011f\u0131ndan nas\u0131l emin olabilirsiniz? \u0130\u015fte tam da bu noktada, AWS Lambda kod imzalama devreye girerek sunucusuz fonksiyonlar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini garanti alt\u0131na alman\u0131z\u0131 sa\u011flar.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n\" \/>\n<meta property=\"og:description\" content=\"Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n beraberinde getirdi\u011fi en kritik sorulardan biri \u015f\u00fcphesiz g\u00fcvenliktir: Da\u011f\u0131tt\u0131\u011f\u0131n\u0131z AWS Lambda kodunun ger\u00e7ekten sizin taraf\u0131n\u0131zdan olu\u015fturuldu\u011fundan ve yetkisiz hi\u00e7bir m\u00fcdahaleye u\u011framad\u0131\u011f\u0131ndan nas\u0131l emin olabilirsiniz? \u0130\u015fte tam da bu noktada, AWS Lambda kod imzalama devreye girerek sunucusuz fonksiyonlar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini garanti alt\u0131na alman\u0131z\u0131 sa\u011flar.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-17T01:31:09+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"28 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n\",\"datePublished\":\"2025-10-17T01:31:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/\"},\"wordCount\":5191,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AWS\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/\",\"name\":\"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-17T01:31:09+00:00\",\"description\":\"Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n beraberinde getirdi\u011fi en kritik sorulardan biri \u015f\u00fcphesiz g\u00fcvenliktir: Da\u011f\u0131tt\u0131\u011f\u0131n\u0131z AWS Lambda kodunun ger\u00e7ekten sizin taraf\u0131n\u0131zdan olu\u015fturuldu\u011fundan ve yetkisiz hi\u00e7bir m\u00fcdahaleye u\u011framad\u0131\u011f\u0131ndan nas\u0131l emin olabilirsiniz? \u0130\u015fte tam da bu noktada, AWS Lambda kod imzalama devreye girerek sunucusuz fonksiyonlar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini garanti alt\u0131na alman\u0131z\u0131 sa\u011flar.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n","description":"Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n beraberinde getirdi\u011fi en kritik sorulardan biri \u015f\u00fcphesiz g\u00fcvenliktir: Da\u011f\u0131tt\u0131\u011f\u0131n\u0131z AWS Lambda kodunun ger\u00e7ekten sizin taraf\u0131n\u0131zdan olu\u015fturuldu\u011fundan ve yetkisiz hi\u00e7bir m\u00fcdahaleye u\u011framad\u0131\u011f\u0131ndan nas\u0131l emin olabilirsiniz? \u0130\u015fte tam da bu noktada, AWS Lambda kod imzalama devreye girerek sunucusuz fonksiyonlar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini garanti alt\u0131na alman\u0131z\u0131 sa\u011flar.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n","og_description":"Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n beraberinde getirdi\u011fi en kritik sorulardan biri \u015f\u00fcphesiz g\u00fcvenliktir: Da\u011f\u0131tt\u0131\u011f\u0131n\u0131z AWS Lambda kodunun ger\u00e7ekten sizin taraf\u0131n\u0131zdan olu\u015fturuldu\u011fundan ve yetkisiz hi\u00e7bir m\u00fcdahaleye u\u011framad\u0131\u011f\u0131ndan nas\u0131l emin olabilirsiniz? \u0130\u015fte tam da bu noktada, AWS Lambda kod imzalama devreye girerek sunucusuz fonksiyonlar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini garanti alt\u0131na alman\u0131z\u0131 sa\u011flar.","og_url":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-17T01:31:09+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"28 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n","datePublished":"2025-10-17T01:31:09+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/"},"wordCount":5191,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AWS"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/","url":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/","name":"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-17T01:31:09+00:00","description":"Bulut tabanl\u0131 uygulamalar\u0131n kalbinde yer alan sunucusuz mimariler, geli\u015ftiricilere inan\u0131lmaz bir esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Ancak, bu kolayl\u0131\u011f\u0131n beraberinde getirdi\u011fi en kritik sorulardan biri \u015f\u00fcphesiz g\u00fcvenliktir: Da\u011f\u0131tt\u0131\u011f\u0131n\u0131z AWS Lambda kodunun ger\u00e7ekten sizin taraf\u0131n\u0131zdan olu\u015fturuldu\u011fundan ve yetkisiz hi\u00e7bir m\u00fcdahaleye u\u011framad\u0131\u011f\u0131ndan nas\u0131l emin olabilirsiniz? \u0130\u015fte tam da bu noktada, AWS Lambda kod imzalama devreye girerek sunucusuz fonksiyonlar\u0131n\u0131z\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve g\u00fcvenli\u011fini garanti alt\u0131na alman\u0131z\u0131 sa\u011flar.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/aws-lambda-kodunuzu-imzalama-sunucusuz-guvenligi-en-ust-duzeye-cikarin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS Lambda Kodunuzu \u0130mzalama: Sunucusuz G\u00fcvenli\u011fi En \u00dcst D\u00fczeye \u00c7\u0131kar\u0131n"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32049"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32049\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}