Bulut Bilişim etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Bulut Bilişim etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

27 Temmuz 2026 Pazartesi

Kubernetes ve Docker Swarm Arasındaki Rekabet: 2026 Perspektifinden Konteyner Yönetimi

2026 yılında, bulut bilişim ve konteynerleştirme teknolojileri hızla evrimleşmeye devam ediyor. Bu bağlamda, Kubernetes ve Docker Swarm gibi konteyner yönetim platformları, geliştiriciler ve sistem yöneticileri arasında önemli bir tartışma konusu haline geldi. Bu makalede, bu iki güçlü platformun özellikleri, avantajları ve dezavantajları karşılaştırılacaktır.

Kubernetes Nedir?

Kubernetes, Google tarafından geliştirilen ve açık kaynaklı bir konteyner yönetim platformudur. Çok yüksek ölçeklenebilirlik ve esneklik sunar. Kubernetes, konteynerlerin otomatik dağıtımı, ölçeklendirilmesi ve yönetimi için güçlü bir altyapı sağlar.

Docker Swarm Nedir?

Docker Swarm, Docker tarafından geliştirilen bir konteyner yönetim platformudur. Kolay kullanım ve hızlı kurulum özellikleri sunar. Docker Swarm, konteynerlerin gruplandırılması ve yönetimi için basit ve etkili bir çözüm sağlar.

Karşılaştırma

Kubernetes ve Docker Swarm arasındaki temel fark, ölçeklenebilirlik ve kompleksite düzeyleridir. Kubernetes, çok büyük ölçekli ve karmaşık sistemler için daha uygunken, Docker Swarm, küçük ve orta ölçekli sistemler için daha uygundur.

Güvenlik açısından, her iki platform da güçlü güvenlik özellikleri sunar. Ancak, Kubernetes, gelişmiş güvenlik ve kimlik doğrulama seçenekleri sunarak, daha yüksek güvenlik seviyeleri sağlar.

Sonuç olarak, Kubernetes ve Docker Swarm arasındaki seçim, sistem boyutu, kompleksite ve güvenlik gereksinimleri gibi faktörlere bağlıdır. Her iki platform da güçlü özellikler sunar, ancak doğru seçim, sistem yöneticilerinin spesifik ihtiyaçları ve hedefleri doğrultusunda yapılmalıdır.

25 Temmuz 2026 Cumartesi

Kubernetes ve Docker Swarm Karşılaştırması: Container Orkestrasyonu için En İyi Seçenek

Container orkestrasyonu, modern yazılım geliştirme ve dağıtımı için kritik bir süreçtir. Kubernetes ve Docker Swarm, bu alanda en popüler iki çözümdür. Bu makalede, her iki çözümün özellikleri, avantajları ve dezavantajları karşılaştırmalı olarak incelenecektir.

Kubernetes

Kubernetes, açık kaynaklı bir container orkestrasyon aracıdır. Google tarafından geliştirilmiş ve Cloud Native Computing Foundation (CNCF) tarafından yönetilmektedir. Kubernetes, konteynerlerin otomatik dağıtımı, ölçeklenmesi ve yönetimi için tasarlanmıştır.

Kubernetes'in ana özellikleri arasında self-healing (kendini iyileştirme), resource management (kaynak yönetimi) ve scaling (ölçekleme) bulunur. Ayrıca, çoklu bulut desteği sunar ve güvenlik için Network Policies gibi özellikleri içerir.

Docker Swarm

Docker Swarm, Docker tarafından geliştirilmiş bir container orkestrasyon aracıdır. Docker Swarm, konteynerlerin kolayca dağıtımı ve yönetimi için tasarlanmıştır.

Docker Swarm'in ana özellikleri arasında basit kurulum, kolay yönetim ve hızlı dağıtım bulunur. Ayrıca, Docker Compose ile entegre çalışır ve güvenlik için swarm mode gibi özellikleri içerir.

Karşılaştırma

Kubernetes ve Docker Swarm arasındaki ana farklar şunlardır:

  • Komplekslik: Kubernetes daha kompleks bir sistemdir ve daha fazla özellik sunar. Docker Swarm daha basit ve kolayca kurulabilen bir sistemdir.
  • Ölçeklenebilirlik: Kubernetes daha büyük ölçekli sistemler için tasarlanmıştır ve daha iyiyimleştirme özelliğine sahiptir. Docker Swarm daha küçük ölçekli sistemler için daha uygundur.
  • Güvenlik: Her iki çözüm de güvenlik özellikleri sunar, ancak Kubernetes daha gelişmiş güvenlik özellikleri sunar.

Sonuç olarak, Kubernetes ve Docker Swarm arasındaki seçim, proje gereksinimlerine ve ekip expérienceine bağlıdır. Kubernetes, daha kompleks ve büyük ölçekli sistemler için daha uygun bir seçenektir. Docker Swarm, daha basit ve küçük ölçekli sistemler için daha uygun bir seçenektir.

1 Temmuz 2026 Çarşamba

Konteyner Orkestrasyonu: Kubernetes ve Docker Swarm Karşılaştırması

Konteynerleştirme teknolojileri, modern yazılım geliştirme ve dağıtımı için temel bir bileşen haline geldi. Kubernetes ve Docker Swarm, konteyner orkestrasyonu için en popüler iki çerçeve olarak öne çıkıyor. Bu makalede, her iki çerçevenin özellikleri, avantajları ve değerlendirmeleri karşılaştırılacaktır.

Kubernetes

Kubernetes, Google tarafından geliştirilen ve Cloud Native Computing Foundation (CNCF) tarafından yönetilen bir açık kaynaklı konteyner orkestrasyon aracıdır. Kubernetes, konteynerlerin otomatik dağıtımı, ölçeklendirilmesi ve yönetimi için güçlü bir platform sağlar.

Kubernetes Avantajları

Kubernetes'in bazı önemli avantajları şunlardır:

  • Genişletilebilirlik: Kubernetes, büyük ölçekli dağıtımları destekler ve binlerce düğümü yönetebilir.
  • Esneklik: Kubernetes, farklı konteyner runtime环境lerini destekler ve çeşitli bulut sağlayıcıları ile entegre edilebilir.
  • Güvenlik: Kubernetes, güçlü güvenlik özellikleri sunar, such as kimlik doğrulama ve yetkilendirme.

Docker Swarm

Docker Swarm, Docker tarafından geliştirilen bir konteyner orkestrasyon aracıdır. Docker Swarm, konteynerlerin kolayca dağıtılması ve yönetilmesi için bir platform sağlar.

Docker Swarm Avantajları

Docker Swarm'in bazı önemli avantajları şunlardır:

  • Kolay Kullanım: Docker Swarm, kullanıcı dostu bir arayüz sunar ve kolayca kurulabilir.
  • Hızlı Dağıtım: Docker Swarm, hızlı konteyner dağıtımı sağlar ve uygulama teslimatını hızlandırır.
  • Entegrasyon: Docker Swarm, Docker ekosistemi ile sıkıca entegre edilir ve Docker araçlarını kullanabilir.

Her iki çerçevenin de güçlü yönleri ve zayıf yönleri vardır. Kubernetes, büyük ölçekli dağıtımlar için daha uygunken, Docker Swarm, küçük ve orta ölçekli projeler için daha uygundur. Seçim, proje gereksinimlerine ve ekip deneyimine bağlı olarak yapılmalıdır.

14 Haziran 2026 Pazar

Kubernetes ve Docker Swarm: 2026'da Konteyner Orkestrasyonu için En İyi Seçenek

Konteyner orkestrasyonu, modern yazılım geliştirme ve dağıtımı için kritik bir bileşendir. Kubernetes ve Docker Swarm, bu alanda iki popüler seçenek olarak karşımıza çıkıyor. Bu makalede, her iki teknolojinin özellikleri, avantajları ve dezavantajları hakkında derinlemesine bir analiz yapılacak.

Kubernetes

Kubernetes, açık kaynaklı bir konteyner orkestrasyon platformudur. Google tarafından geliştirilen ve Cloud Native Computing Foundation (CNCF) tarafından yönetilen Kubernetes, geniş bir topluluk tarafından desteklenmektedir. Kubernetes, yüksek düzeyde esneklik ve ölçeklenebilirlik sunar, ancak öğrenme eğrisi biraz dik olabilir.

Kubernetes'in bazı temel özellikleri şunlardır:

  • Pod'lar: Kubernetes'te en küçük çalıştırma birimi pod'dur. Bir pod, bir veya daha fazla konteynirden oluşur.
  • Deployments: Deployments, pod'ların dağıtımını ve yönetimini sağlar.
  • Services: Services, pod'ların dışarıya açılmasını ve trafiğin yönlendirilmesini sağlar.

Docker Swarm

Docker Swarm, Docker tarafından geliştirilen bir konteyner orkestrasyon aracıdır. Docker Swarm, Docker konteynerlerini kolayca yönetmenizi sağlar ve docker-compose gibi araçlarla entegre çalışır.

Docker Swarm'in bazı temel özellikleri şunlardır:

  • Node'lar: Docker Swarm'de, her bir makine bir node olarak kabul edilir.
  • Services: Docker Swarm'de, services konteynerlerin dağıtımını ve yönetimini sağlar.
  • Stacks: Docker Swarm'de, stacks birden fazla service'in bir araya gelerek oluşturduğu bir yapıdır.

Karşılaştırma

Kubernetes ve Docker Swarm arasındaki seçim, projenizin ihtiyaçlarına ve ekibinizin uzmanlığına bağlıdır. Kubernetes, daha büyük ve daha karmaşık sistemler için daha uygunken, Docker Swarm, daha küçük ve daha basit sistemler için daha uygun olabilir.

Ölçeklenebilirlik, esneklik ve güvenlik gibi faktörleri dikkate alındığında, her iki teknolojinin de avantajları ve dezavantajları vardır. Kubernetes, daha geniş bir topluluk tarafından desteklenmektedir ve daha fazla kaynak mevcuttur, ancak öğrenme eğrisi daha dik olabilir. Docker Swarm, daha basit ve daha leicht bir seçenek olabilir, ancak daha az esneklik sunar.

Sonuç olarak, Kubernetes ve Docker Swarm arasındaki seçim, projenizin özel ihtiyaçlarına bağlıdır. Her iki teknolojinin de avantajları ve dezavantajları vardır ve seçim, ekibinizin uzmanlığına ve projenizin karmaşıklığına bağlıdır.

10 Mayıs 2026 Pazar

Kubernetes ve Docker Swarm Karşılaştırması: 2026'da Konteyner Yönetimi için En İyi Seçenek

2026 yılında, konteyner yönetimi için en popüler iki araç olan Kubernetes ve Docker Swarm arasındaki rekabet devam ediyor. Bu rehberde, her iki aracın avantajları ve dezavantajları hakkında teknik bir analiz yapacağız.

Kubernetes

Kubernetes, açık kaynaklı bir konteyner yönetim platformudur. Container Orchestration olarak bilinen bu teknoloji, büyük ölçekli dağıtımları yönetmek için tasarlanmıştır. Kubernetes'in ana avantajları arasında otomatik ölçeklendirme, self-healing ve yüksek kullanılabilirlik bulunur.

Kubernetes Avantajları

Kubernetes'in bazı önemli avantajları şunlardır:

  • Esneklik: Kubernetes, farklı bulut sağlayıcıları ve altyapılar arasında çalışabilir.
  • Genişletilebilirlik: Kubernetes, büyük ölçekli dağıtımları yönetmek için tasarlanmıştır.
  • Güvenlik: Kubernetes, Network Policies ve Secret Management gibi güçlü güvenlik özellikleri sunar.

Docker Swarm

Docker Swarm, Docker tarafından geliştirilen bir konteyner yönetim aracıdır. Docker Swarm, konteynerlerin kolayca dağıtılmasını ve yönetilmesini sağlar. Docker Swarm'in ana avantajları arasında basitlik ve hız bulunur.

Docker Swarm Avantajları

Docker Swarm'in bazı önemli avantajları şunlardır:

  • Kolay Kullanım: Docker Swarm, kullanımı kolay ve anlaşılır bir arayüze sahiptir.
  • Hızlı Dağıtım: Docker Swarm, konteynerlerin hızlı bir şekilde dağıtılmasını sağlar.
  • Entegrasyon: Docker Swarm, Docker ile sıkı bir şekilde entegre çalışır.

2026 yılında, Kubernetes ve Docker Swarm arasındaki seçim, projenin özel gereksinimlerine bağlıdır. Kubernetes, büyük ölçekli dağıtımlar için daha uygunken, Docker Swarm, küçük ve orta ölçekli projeler için daha uygun olabilir.

3 Mayıs 2026 Pazar

Post-Quantum Kriptografi Algoritmaları: Geleceğin Gizlilik Koruma Çözümleri

Post-Quantum Kriptografi Algoritmaları, klasik kriptografi yöntemlerinin kuantum bilgisayarlar tarafından kırılma tehlikesine karşı geliştirilen yeni nesil güvenlik çözümlerini temsil ediyor. Bu algoritmalar, kuantum saldırılarına dayanıklı olmak amacıyla tasarlandı ve geleceğin veri gizliliği koruma standartlarını belirleyecek.

Post-Quantum Kriptografi Algoritmalarının Temel Prensipleri

Post-Quantum Kriptografi Algoritmaları, lattice-based, code-based, hash-based ve multivariate gibi farklı matematiksel temeller üzerine kuruluyor. Bu temeller, kuantum algoritmalarının klasik kriptografi yöntemlerini kırmak için kullandığı Shor algoritmasının etkilerini bertaraf etmeyi amaçlıyor.

Lattice-Based Kriptografi

Lattice-based kriptografi, lattice adı verilen yüksek boyutlu noktaların düzenlenmesiyle çalışıyor. Bu yöntemde, anahtar üretimi ve şifreleme işlemleri, lattice noktalarının özelliklerine dayanıyor. Lattice-based algoritmalar, NTRU ve Ring-LWE gibi örneklerle temsil ediliyor.

Post-Quantum Kriptografi Algoritmalarının gelişimi, uluslararası standartlaşma çabalarıyla destekleniyor. NIST (National Institute of Standards and Technology), Post-Quantum Kriptografi standartlarını belirlemek amacıyla bir yarışma düzenliyor. Bu yarışma, geleceğin kriptografi standartlarını şekillendirecek.

Post-Quantum Kriptografi Algoritmalarının Uygulama Alanları

Post-Quantum Kriptografi Algoritmaları, veri şifreleme, kimlik doğrulama ve digitally imzalama gibi çeşitli uygulamalarda kullanılabiliyor. Bu algoritmalar, özellikle IoT (Internet of Things) cihazları, bulut bilişim ve blockchain gibi alanlarda kritik önem taşıyor.

Post-Quantum Kriptografi Algoritmalarının benimsenmesi, güvenlik ve gizlilik standartlarının geleceğini güvence altına almayı amaçlıyor. Bu algoritmalar, kuantum saldırılarına karşı dayanıklı olarak tasarlandığı için, veri koruma ve kimlik güvenliği için yeni bir dönem başlatacak.

24 Nisan 2026 Cuma

Kubernetes ve Docker Swarm: 2026'da Konteyner Orkestrasyonu için En İyi Seçenek

2026 yılında, konteyner orkestrasyonu için Kubernetes ve Docker Swarm gibi araçlar arasında seçim yapmak, geliştiriciler ve sistem yöneticileri için kritik bir karar haline geldi. Bu rehberde, her iki aracın özellikleri, avantajları ve dezavantajları hakkında derinlemesine bilgi vereceğiz.

Kubernetes

Kubernetes, açık kaynaklı bir konteyner orkestrasyon aracıdır. Google tarafından geliştirilen ve Cloud Native Computing Foundation (CNCF) tarafından yönetilen Kubernetes, geniş bir topluluk ve güçlü bir destek altyapısına sahiptir. Kubernetes, konteynerlerin dağıtılması, ölçeklendirilmesi ve yönetilmesi için güçlü bir platform sağlar.

Kubernetes Avantajları

Kubernetes'in bazı avantajları şunlardır:

  • Genişletilebilirlik: Kubernetes, büyük ölçekli dağıtımlar için idealdir.
  • Esneklik: Kubernetes, çeşitli konteyner runtimeleri ve bulut sağlayıcıları ile uyumludur.
  • Topluluk desteği: Kubernetes, güçlü bir topluluğa ve geniş bir ekosisteme sahiptir.

Docker Swarm

Docker Swarm, Docker tarafından geliştirilen bir konteyner orkestrasyon aracıdır. Docker Swarm, konteynerlerin kolayca dağıtılması ve yönetilmesi için tasarlanmıştır. Docker Swarm, Docker CLI ile entegre çalışır ve konteynerlerin yönetilmesi için basit bir arayüz sağlar.

Docker Swarm Avantajları

Docker Swarm'in bazı avantajları şunlardır:

  • Kolay kullanım: Docker Swarm, basit ve kullanıcı dostu bir arayüze sahiptir.
  • Hızlı dağıtım: Docker Swarm, konteynerlerin hızlı dağıtılması için tasarlanmıştır.
  • Entegrasyon: Docker Swarm, Docker CLI ile entegre çalışır.

2026 yılında, Kubernetes ve Docker Swarm arasında seçim yapmak, projelerin özgünlüğüne ve ihtiyaçlarına bağlıdır. Her iki araç da konteyner orkestrasyonu için güçlü seçenekler sunar, ancak Kubernetes, genişletilebilirlik ve esneklik açısından daha güçlüdür. Docker Swarm ise, kolay kullanım ve hızlı dağıtım açısından daha avantaja sahiptir.

26 Mart 2026 Perşembe

Kubernetes ve Docker Swarm Arasındaki Teknik Savaş: 2026'ın Konteyner Yönetimi İhtiyaçları

Konteynerleşme teknolojileri, özellikle son yıllarda, bulut bilişim ve devops uygulamalarında önemli bir rol oynamaktadır. Bu bağlamda, Kubernetes ve Docker Swarm, konteyner yönetimi için iki popüler seçenek olarak karşımıza çıkmaktadır. Bu makale, bu iki teknolojinin 2026 yılına uygun olarak karşılaştırılmasını ve teknik yönlerinin derinlemesine incelenmesini hedeflemektedir.

Kubernetes

Kubernetes, açık kaynaklı bir konteyner yönetim sistemidir. Google tarafından geliştirilmiş ve Cloud Native Computing Foundation (CNCF) tarafından desteklenmektedir. Kubernetes, konteynerlerin dağıtımı, ölçeklenmesi ve yönetimi için güçlü bir platform sunar. Yaml dosyaları aracılığıyla yapılandırılan Kubernetes, devops ekiplerinin işlerini kolaylaştırmak için tasarlanmıştır.

Docker Swarm

Docker Swarm, Docker tarafından geliştirilmiş bir konteyner yönetim aracıdır. Docker Swarm, konteynerlerin kümeleştirilmesi ve yönetilmesi için tasarlanmıştır. Docker Compose ile uyumlu olan Docker Swarm, geliştiricilerin yerel olarak geliştirdikleri uygulamaları kolayca kümeleyerek üretim ortamına taşıyabilmesini sağlar.

Karşılaştırma

Kubernetes ve Docker Swarm arasında yapılan karşılaştırmada, her iki teknolojinin de konteyner yönetimi için güçlü yönleri bulunmaktadır. Ancak, Kubernetes, daha geniş bir topluluk tarafından desteklenmekte ve daha fazla bulut sağlayıcı tarafından desteklenmektedir. Docker Swarm ise, Docker ekosistemine daha iyi entegre olmakta ve geliştiriciler için daha basit bir kullanım sunmaktadır.

Sonuç olarak, Kubernetes ve Docker Swarm arasındaki seçim, iş gereksinimlerine ve ekip deneyimine göre yapılmalıdır. 2026 yılında, her iki teknolojinin de konteyner yönetimi için güçlü seçenekler olduğu unutulmamalıdır.

27 Şubat 2026 Cuma

Kubernetes ve Docker Swarm: 2026'nın Konteyner Orkestrasyonu İhtiyaçlarına Cevap

Konteyner orkestrasyonu, modern yazılım geliştirme ve dağıtımı için kritik bir bileşendir. Kubernetes ve Docker Swarm, bu alanda iki popüler seçenek olarak karşımıza çıkar. Bu makalede, her iki teknolojinin 2026 yılına uygun olarak güncellenmiş karşılaştırmasını yaparak, geliştiricilerin ve sistem yöneticilerinin ihtiyaçlarına göre hangisinin daha uygun olduğunu değerlendireceğiz.

Kubernetes

Kubernetes, açık kaynaklı bir konteyner orkestrasyon sistemidir. Google tarafından geliştirilmiştir ve geniş bir topluluk tarafından desteklenmektedir. Kubernetes, konteynerlerin otomatik dağıtımı, ölçeklenmesi ve yönetimini sağlar. Ayrıca, self-healing (kendini onarma), resource management (kaynak yönetimi) ve service discovery (hizmet keşfi) gibi gelişmiş özelliklere sahiptir.

Docker Swarm

Docker Swarm, Docker tarafından geliştirilmiş bir konteyner orkestrasyon aracıdır. Docker Swarm, konteynerlerin kolayca dağıtılması ve yönetilmesi için tasarlanmıştır. Docker Swarm, yüksek kullanılabilirlik ve ölçeklenebilirlik sunar, ancak Kubernetes gibi gelişmiş özelliklere sahip değildir.

Karşılaştırma

Kubernetes ve Docker Swarm arasında temel fark, komplekslik ve özellik setidir. Kubernetes, daha büyük ve daha kompleks sistemler için tasarlanmıştır, mientras Docker Swarm, daha küçük ve daha basit sistemler için daha uygundur. Ayrıca, Kubernetes, çoğunlukla bulut ve hibrit ortamlarda kullanılırken, Docker Swarm, çoğunlukla yerel ortamlarda kullanılır.

Sonuç olarak, Kubernetes ve Docker Swarm arasında seçim, ihtiyaçlar ve gerekirliklere bağlıdır. Eğer büyük ve kompleks sistemleriniz varsa, Kubernetes daha uygun olabilir. Ancak, daha küçük ve daha basit sistemleriniz varsa, Docker Swarm daha uygun olabilir.

13 Kasım 2025 Perşembe

GitHub Actions ile AWS’e Şifresiz Dağıtım (OIDC) Nasıl Kurulur? Adım Adım Rehber

Modern CI/CD süreçlerinde uzun ömürlü AWS erişim anahtarlarını projelerde saklamak hem riskli hem de yönetimi zahmetli. OpenID Connect (OIDC) sayesinde GitHub Actions, AWS’e şifresiz ve kısa ömürlü kimlik doğrulama ile bağlanabiliyor. Bu yazıda, GitHub Actions’ı kullanarak AWS’e OIDC tabanlı, güvenli ve pratik bir dağıtım hattını nasıl kuracağınızı adım adım anlatıyorum.

Özet: AWS tarafında GitHub’ı güvenilen kimlik sağlayıcısı olarak tanımlayacağız, belirli bir depo/branch için kısıtlı yetkili bir IAM rolü oluşturacağız ve GitHub Actions üzerinde bu rolü geçici olarak üstlenerek dağıtım yapacağız. Anahtar saklamaya gerek yok.

OIDC ile neden şifresiz dağıtım?

Klasik yaklaşımda, GitHub Secrets içine AWS_ACCESS_KEY_ID ve AWS_SECRET_ACCESS_KEY koyarız. Bu yöntem, anahtar sızıntısı, rotasyon zorluğu ve fazladan yetkiler gibi sorunlar yaratır. OIDC ile GitHub, çalıştırdığı iş akışı (workflow) için imzalı bir kimlik belirteci üretir; AWS bu belirteci doğrular ve yalnızca o an, o koşullarda geçerli kısa ömürlü kimlik bilgileri verir. Sonuç: Daha az gizli bilgi, daha sıkı yetkilendirme ve otomatik süre sonu.

Önkoşullar

- Bir AWS hesabı ve IAM üzerinde rol oluşturma yetkisi
- GitHub’da bir depo (public ya da private)
- Dağıtım hedefi: Örneğin S3 statik site, ECR + ECS/Fargate, ya da CloudFormation/SAM ile altyapı

AWS tarafı: IAM rolü ve güven ilişkisi (trust policy)

1) AWS IAM’de Identity providers bölümünden OpenID Connect sağlayıcısı olarak token.actions.githubusercontent.com ekleyin. Audience olarak sts.amazonaws.com kullanın.
2) Yeni bir IAM rolü oluşturun ve “Web identity” seçeneğiyle az önceki sağlayıcıyı seçin.
3) Aşağıdaki gibi bir trust policy tanımlayın. Bu örnek sadece belirli bir repo ve branch için yetki veriyor:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Federated": "arn:aws:iam::HESAP_IDNIZ:oidc-provider/token.actions.githubusercontent.com" },
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
},
"StringLike": {
"token.actions.githubusercontent.com:sub": "repo:ORGANIZASYON/DEPO_ADI:ref:refs/heads/main"
}
}
}
]
}

4) Role bağlayacağınız izinleri minimum ilke (least privilege) ile ayarlayın. Örneğin S3’e sadece belirli bir bucket’a yazma yetkisi veya ECR push izinleri. Örnek bir S3 dağıtım politikası (özet):

{
"Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow", "Action": ["s3:PutObject","s3:DeleteObject"], "Resource": ["arn:aws:s3:::hedef-bucket/*"] },
{ "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::hedef-bucket"] }
]
}

GitHub tarafı: Workflow ile rolü üstlenmek

GitHub Actions, OIDC token’ı otomatik üretir. AWS ile konuşmak için aws-actions/configure-aws-credentials eylemini (action) kullanacağız ve IAM rolümüzü geçici olarak üstleneceğiz. Basit bir S3 dağıtımı örneği:

name: Deploy to S3 (OIDC)
on:
push:
branches: [ "main" ]
permissions:
id-token: write # OIDC token üretimi için şart
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Kodu çek
uses: actions/checkout@v4

- name: AWS kimlik bilgilerini yapılandır
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::HESAP_IDNIZ:role/GITHUB_OIDC_DEPLOY_ROLE
aws-region: eu-central-1

- name: Statik dosyaları derle
run: |
npm ci
npm run build

- name: S3'e senkronize et
run: |
aws s3 sync ./build s3://hedef-bucket --delete

Dikkat edilmesi gereken en kritik kısım permissions altında id-token: write yetkisinin verilmesi. Bu izin olmadan GitHub, OIDC belirteci oluşturmaz ve AWS rolünü üstlenemezsiniz.

Güvenlik ve en iyi uygulamalar

- Least privilege: Role bağlanan politikalar sadece gereken servis ve kaynaklara izin versin. “*” yerine spesifik ARN kullanın.
- Branch kısıtları: Trust policy içinde sub koşulunu belirli branch’lerle sınırlandırın (ör. refs/heads/main ve refs/tags/v*).
- Ortam ayrımı: Prod/staging için farklı rol ve politikalar tanımlayın; workflow’larda çevresel değişkenlerle hedefleri ayırın.
- Geçici kimlik: Varsayılan token süreleri kısadır. Bu, çalınsa bile etkisini sınırlar. Gereksiz session duration artırımı yapmayın.

Sık karşılaşılan hatalar ve çözümü

- AccessDenied: Not authorized to perform sts:AssumeRoleWithWebIdentity: Trust policy’de OIDC provider ARN’i, audience ve subject desenini kontrol edin.
- Invalid identity token: GitHub OIDC domain’i ve thumbprint otomasyonlarını doğru oluşturduğunuzdan emin olun; provider’ı tekrar eklemek çoğu kez sorunu çözer.
- Missing id-token permission: Workflow permissions kısmında id-token: write yoksa ekleyin.
- Bucket veya ECR erişim hataları: IAM rolüne eklediğiniz izin politikasının kaynak ARN’lerini ve region bilgisini doğrulayın.

Gelişmiş kullanım: ECR + ECS/Fargate dağıtımı

S3 yerine konteyner dağıtıyorsanız, aynı rol ile ecr:BatchCheckLayerAvailability, ecr:PutImage, ecr:GetAuthorizationToken gibi izinleri verip Docker imajını ECR’a push edebilir, ardından aws ecs update-service ile hizmeti yeni imaja yönlendirebilirsiniz. Tüm akış yine şifresiz ve OIDC tabanlı kalır.

Sonuç olarak, GitHub Actions + OIDC yaklaşımı, güvenliği artırırken bakım yükünü azaltır. API anahtarlarıyla uğraşmadan, denetlenebilir ve politikalarla sıkı şekilde sınırlandırılmış bir dağıtım boru hattı elde edersiniz. Yeni projelerde varsayılan tercih olarak OIDC’yi değerlendirmenizi öneririm.