Microsoft AZ-400: Güvenlik, Uyumluluk ve DevSecOps — Çalışma kılavuzu
Şunun bir parçası: Microsoft DevOps Engineer Expert AZ-400 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Microsoft sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.
Genel Bakış
Azure odaklı teslimat boru hatlarında güvenlik, uyumluluk ve DevSecOps; risk tespitini mümkün olan en erken aşamalara kaydırmayı, politikayı sürekli olarak uygulamayı ve kanıt toplamayı otomatikleştirmeyi gerektirir. Etkili uygulamalar, uygulama güvenliği testlerini (SAST/DAST/SCA), gizli anahtar yönetimini, kod olarak altyapı (IaC) taramasını ve yasal düzenleme kontrollerini CI/CD yaşam döngüsüne entegre eder. Azure DevOps ve GitHub’da bu, her pull request’te analiz araçlarını çalıştırmak, birleştirmeleri kalite eşikleriyle denetlemek, Azure Key Vault’tan zaman sınırlı gizli anahtarları alan en az ayrıcalıklı kimliklerle dağıtım yapmak ve Microsoft Defender for DevOps ve Defender for Cloud ile duruşu sürekli olarak izlemek anlamına gelir. Amaç yalnızca sorunları bulmak değil, aynı zamanda güvenli olmayan değişikliklerin korunan kaynaklara ulaşmasını önlemek, denetim izleri aracılığıyla uyumluluğu kanıtlamak ve güvenli bir hızı sürdürmektir.
Sola kaydırma (shift-left) güvenliği, OWASP Top 10 azaltımları ve boru hattı sıkılaştırma
Sola kaydırma güvenliği, PR zamanında yapılan SAST ve SCA ile başlar ve bir üst ortama aktarım öncesinde gizli anahtar taraması ve hedeflenmiş DAST ile desteklenir. SAST, enjeksiyon noktaları, güvenli olmayan serileştiriciler ve eksik çıktı kodlaması gibi kod düzeyindeki güvenlik açıklarını ortaya çıkarır. Her değişiklik setini analiz etmek için SonarQube/SonarCloud veya GitHub kod taramasını (ör. CodeQL) entegre edin; pull request’leri belirli satırlara bağlı sorunlarla işaretleyin; ve güvenlik açığı veya kapsam eşikleri karşılanmadığında derlemeyi başarısız kılan kalite kapılarını zorunlu kılın. SAST’ı OWASP Top 10 sınıflarına odaklayın:
- Enjeksiyon: parametreli sorguların/ORM kullanımını zorunlu kılın, girdiyi doğrulayın/normalleştirin ve dinamik SQL/dize birleştirmeyi yasaklayın. Doğrulanmış veri erişim yardımcılarının kullanımını sağlayan SAST kural setleri ve birim testleri aracılığıyla bunu zorunlu kılın.
- Siteler Arası Komut Dosyası Çalıştırma (XSS): çıktı kodlaması ve İçerik Güvenliği Politikası (Content Security Policy) gerektirir. SAST taint analizi, güvenilmeyen girdileri havuzlara (innerHTML, Response.Write) kadar izlemelidir.
- Siteler Arası İstek Sahteciliği (CSRF): sahteciliğe karşı koruma belirteçlerini ve SameSite çerezlerini zorunlu kılın. Boru hatları, ara yazılımın/ayarların etkin olduğunu doğrulamak için çerçeve analizörleri çalıştırabilir.
- Güvensiz Serileştirme: güvenli olmayan ikili/XML serileştiricilere izin vermeyin, izin verilen türleri sınırlayın ve güvenli varsayılanlara yapılandırılmış JSON serileştiricileri tercih edin. SAST kontrolleri ve bağımlılık politikaları, bilinen güvensiz kütüphanelerin kullanımını engeller.
DAST, çalışan derlemeleri bir hazırlık (staging) ortamında doğrular. Üretim dışı ortama dağıtım sonrası bir boru hattı işi olarak OWASP ZAP veya eşdeğerini otomatikleştirin, kimliği doğrulanmış taramalar ve uygulama profilinize göre ayarlanmış bir kural seti kullanın. Bir üst ortama aktarımı bir güvenlik açığı taban çizgisine göre denetleyin: yeni ortaya çıkan Yüksek/Kritik bulgularda engelleme yapın ve kabul edilen istisnaları son kullanma tarihiyle birlikte kalıcı hale getirin.
Yazılım Bileşimi Analizi (SCA), birleştirmeden önce savunmasız üçüncü taraf paketleri tespit eder. Sürüm yükseltme PR’ları oluşturmak için Dependabot’u ve CI’da SBOM’lar ve CVE raporları üretmek için OWASP Dependency-Check’i kullanın. İzin verilen/reddedilen listeler tanımlayarak (ör. tescilli ürünler için copyleft’i reddetme) lisans uyumluluğunu zorunlu kılın ve izin verilmeyen lisansları içeren derlemeleri başarısız kılın. Gizli anahtar taraması, commit anında ve CI’da çalışmalıdır: sabit kodlanmış kimlik bilgilerini, belirteçleri ve anahtarları yakalamak için GitHub Advanced Security gizli anahtar taramasını benimseyin veya Gitleaks/Microsoft Security DevOps’u entegre edin; bir gizli anahtar deseni algılandığında birleştirmeyi engelleyin ve etkilenen kimlik bilgilerini döndürün.
Boru hattı sıkılaştırması tartışılamaz. Branch korumalarını kilitleyin, PR incelemelerini zorunlu kılın ve SAST/SCA/DAST için durum kontrollerini uygulayın. Azure Pipelines’da, güvenlik aşamalarını standartlaştırmak için korumalı kaynakları, ortam onaylarını ve kontrollerini ve zorunlu şablonları kullanın. Kısa ömürlü, en az ayrıcalıklı belirteçleri tercih edin; iş yükü kimlik federasyonu ile statik kimlik bilgilerinden tamamen kaçının. Şirket içinde barındırılan (self-hosted) aracıları özel ağlarla sınırlayın, kimliklerinin kapsamını en aza indirin ve güvenilmeyen depolar için rastgele betik adımlarına izin vermeyen şablonları zorunlu kılarak betik enjeksiyonunu devre dışı bırakın.
Gizli Anahtarlar, Kimlikler, Azure Key Vault ve Sertifika Rotasyonu
Azure Key Vault, gizli anahtarlar, anahtarlar ve sertifikalar için yetkili depodur. Düz metin gizli anahtarları ortadan kaldırmak için doğrudan CI/CD ile entegre edin:
- Boru hattı gizli anahtarları: Azure DevOps’ta, bir değişken grubunu yalnızca gerekli gizli anahtar adlarına göre kapsamlandırılmış bir hizmet bağlantısı kullanarak bir Key Vault’a bağlayın. Gizli anahtarlar çalışma zamanında alınır ve günlüklerde maskelenir. GitHub Actions’ta, belirteçleri almak ve Key Vault’u çağırmak için federal kimlikle azure/login kullanın; istemci gizli anahtarlarını depo ayarlarında saklamaktan kaçının.
- Yönetilen kimlik erişimi: Mümkün olduğunda, iş yüklerinin ve dağıtım aracılarının yönetilen kimlik veya iş yükü kimlik federasyonu kullanarak Microsoft Entra ID ile kimlik doğrulamasına izin verin, böylece hiçbir gizli anahtar saklanmaz. Key Vault erişimini, en az ayrıcalık ilkesini izleyerek RBAC veya erişim politikaları kullanarak kapsamlandırın (belirli gizli anahtar sürümleri için yalnızca get/list; purge/delete yok).
- Sertifika rotasyonu: TLS/MTLS sertifikalarını, entegre CA’lar aracılığıyla otomatik rotasyon ile Key Vault Certificates’te saklayın. Tüketen hizmetleri (App Service, Application Gateway, CSI Secrets Store aracılığıyla AKS Ingress) Key Vault’a referans verecek şekilde yapılandırın, böylece yenilenen sertifikalar yeniden dağıtım yapılmadan alınır. Bağlantıları doğrulayan ve önbellekleri ısıtan bir otomasyon runbook’unu veya Function’ı tetiklemek için Key Vault certificateNearExpiry olaylarında Event Grid’i kullanın. Dağıtım manifestolarında sertifika sürümü kullanımını izleyin; gerektiğinde sürümleri sabitleyin ve bakım pencereleri sırasında bilinçli olarak ileriye taşıyın.
Key Vault’u özel uç noktalar, güvenlik duvarı kuralları, temizleme koruması, geçici silme ve denetim için Log Analytics’e veya depolamaya günlük kaydı ile sıkılaştırın. Açıkça gerekçelendirilmedikçe kiracılar arası erişimi reddedin ve acil durum hesapları için erişimi rutin olarak döndürün.
Bağımlılıklar, konteynerler, IaC ve kod olarak uyumluluk
Bağımlılık taraması hem güvenlik kusurlarını hem de lisanslamayı ele almalıdır. Dependabot sürekli olarak güvenli güncellemeler önerir; savunmasız sürümleri getiren PR’ları engellemek için bağımlılık gözden geçirme politikalarını kullanın. SBOM’lar (CycloneDX/SPDX) oluşturmak ve önem derecesi eşikleri veya lisans kuralları ihlal edildiğinde derlemeyi başarısız kılmak için CI’da OWASP Dependency-Check (veya npm audit, pip-audit gibi ekosisteme özgü araçlar) çalıştırılmalıdır. Gelişmiş lisans yönetişimi için, yasal politika uygulama ve düzeltme iş akışlarına sahip bir SCA platformuyla eşleştirin.
Konteyner imaj güvenliği CI’da başlar ve kayıt defterinde (registry) ve çalışma zamanında (runtime) devam eder:
- Trivy: İşletim sistemi/paket CVE’leri ve yanlış yapılandırmalar için Dockerfile’ları ve oluşturulmuş imajları taramak üzere bir pipeline adımı olarak çalıştırın; Kritik/Yüksek bulgularda derlemeyi durdurun. Minimal temel imajları ve kök (root) yetkisi olmayan konteynerleri zorunlu kılın.
- Azure Container Registry güvenlik açığı taraması: İmajları push/import sırasında ve belirli bir zamanlamaya göre taramak için Microsoft Defender for Containers’ı etkinleştirin. Bulguları Defender for Cloud’da yüzeye çıkarın, iş öğelerine (work items) aktarın ve çözülmemiş Kritik/Yüksek sorunları olan imajları engelleyen dağıtım kapılarını (deployment gates) zorunlu kılın.
- Defender for Containers: Çalışma zamanı tehdit tespiti, kube-bench tarzı kontroller ve kabul denetimi (admission control) ile korumayı AKS/ECS/Kubernetes’e genişletin. Yalnızca Notation/ACR content trust ile imzalanmış güvenilir ACR’lerden imaj çekmek için politika kullanın ve imzaları CI’da ve küme kabulü (cluster admission) sırasında doğrulayın.
IaC güvenliği, bulut kaynaklarının varsayılan olarak güvenli bir şekilde sağlanmasını temin eder:
- Checkov ve tfsec: Güvenli olmayan yapılandırmalar (herkese açık depolama, açık güvenlik grupları, eksik şifreleme) için Terraform ve Kubernetes manifestlerini tarayın. Önem derecesi eşiklerinde derlemeleri başarısız kılın; yeni/değiştirilmiş kaynaklara odaklanmak için mevcut teknik borcu temel alın (baseline).
- ARM/Bicep linting: Etiketleme, yalnızca HTTPS uç noktaları, müşteri tarafından yönetilen anahtarlar ve tanılama ayarları için kuralları zorunlu kılmak üzere Bicep linter’ı (bicepconfig.json) ve ARM Template Tool Kit’i (arm-ttk) etkinleştirin. Uygulamadan önce sapmayı (drift) tespit etmek için what-if dağıtımlarıyla birleştirin.
Kod Olarak Uyumluluk (Compliance as Code), denetimleri sürekli olarak uygulamak ve raporlamak için Azure Policy ve Defender for Cloud’u kullanır:
- CIS, NIST, ISO 27001 veya dahili temel standartlarla uyumlu Azure Policy girişimleri (initiatives) atayın; kritik koruma önlemleri (ör. veritabanlarında genel IP’ler) için Deny, tanılama için DeployIfNotExists ve gözlemlenebilirlik için Audit gibi etkileri (effects) seçin. Politika tanımlarını sürümlenmiş yapıtlar (artifacts) olarak saklayın, kod olarak politika (policy-as-code) pipeline’ları ile test edin ve pull request’ler aracılığıyla bir üst ortama taşıyın.
- Abonelikler ve yönetim grupları genelinde denetim uyumluluğunu görselleştirmek için Defender for Cloud’un mevzuat uyumluluğu panolarını kullanın. Azure Monitor ile entegre edin ve SIEM alımı için kanıtları Log Analytics veya Event Hubs’a aktarın.
- Denetim izlerini koruyun: Politika olayları ve atamaları için Azure Activity Logs, uyumluluk sorguları için Resource Graph, repo ve pipeline değişiklikleri için Azure DevOps/GitHub denetim günlükleri ve pipeline çalıştırma yapıtları olarak otomatik yakalanan sürüm kanıtları.
SonarQube/SonarCloud, işlem hattı güvenliği ve Microsoft Defender for DevOps
SonarQube/SonarCloud, mühendislik kalitesini güvenlikle uyumlu hale getiren zorunlu kalite kapıları sağlar. Yeni kod üzerinde kapılar belirleyerek “Kodladıkça Temizle” yaklaşımını benimseyin: yeni/değiştirilmiş satırlarda minimum kod kapsamı (ör. %80+), sıfır yeni Kritik güvenlik açığı veya engelleyici kod kusuru ve düşük kod tekrarı. Kapıdan geçememek, işlem hattının başarısız olmasına neden olmalıdır. Test çerçevelerinden (JaCoCo, Cobertura, VSTest) kod kapsamını yayınlayın ve güvenlik sıcak noktalarını (security hotspots) ve OWASP uyumlu kuralları içerecek şekilde dil başına kalite profillerini ayarlayın. Teknik borç oranlarını ve düzeltme sürelerini takip edin; ekip sorumluluğunu artırmak için eğilimleri raporlayın.
İşlem hattı güvenliği, en az ayrıcalıklı hizmet bağlantılarına, korumalı kaynaklara ve kapsamlı gizli anahtar maskelemeye dayanır:
- Hizmet bağlantıları, dar kapsamlı (abonelik/kaynak grubu, belirli bir ACR veya Key Vault) iş yükü kimlik federasyonu veya yönetilen kimlikler kullanmalıdır. Hizmet bağlantıları ve ortamlarda onayları ve denetimleri etkinleştirin, böylece sahiplerin kullanımı yetkilendirmesi gerekir. “Kullanma” (“Use”) izinlerini güvenilir işlem hatlarıyla sınırlayın; “Tüm işlem hatlarına erişim izni ver” (“Grant access permission to all pipelines”) seçeneğini devre dışı bırakın.
- Azure DevOps’taki korumalı kaynaklar; hizmet bağlantılarını, değişken gruplarını, güvenli dosyaları ve ortamları korur. Onaylayanlar, mesai saatleri pencereleri, Azure Monitor sorgu sonuçları ve harici REST ilke motorları gibi denetimler gerektirir. Bunları dağıtımlardan önce kapılar ve hassas okumalar (ör. üretim gizli anahtarlarını alma) için ön koşullar olarak ele alın.
- Gizli anahtar maskeleme tüm loglarda zorunlu kılınmalıdır; betiklerde değişken genişletmeyi kısıtlayın; gizli anahtarları yazdırmaktan (echoing) kaçının; ve PAT’leri depolamak yerine
system.accessTokenkapsamlı API’leri tercih edin. Yanlışlıkla sızan gizli anahtarlar için işlem hattı loglarını periyodik olarak tarayın ve tespit edildiğinde bunları değiştirin (rotate).
Microsoft Defender for DevOps, GitHub ve Azure DevOps genelinde depo ve işlem hattı güvenlik duruşunu birleştirir. Kod, gizli anahtar, IaC ve bağımlılık risk sinyallerini almak ve birleştirilmiş öneriler sunmak için kuruluşları/projeleri Defender for Cloud’a bağlayın. Bulguları sahipleriyle ilişkilendirir, son kullanma tarihi olan bastırma iş akışlarını destekler ve dal korumaları, zorunlu gözden geçirenler ve durum denetimlerinin benimsenmesini ölçer. Birden çok analiz aracını (ör. Semgrep, Trivy, tfsec, Gitleaks, Bandit) tek bir adımda düzenlemek ve SARIF’i kod taramasına yayınlamak için Defender for DevOps’u Microsoft Security DevOps görevi/eylemi ile birlikte kullanın. DevOps en iyi uygulamalarını (ör. gizli anahtar taramasının etkinleştirilmesi, zorunlu gözden geçiren sayısının ≥ 2 olması, yönetici olmayan birleştirmelerin devre dışı bırakılması) izleyen ve zorunlu kılan yönetişim girişimleri oluşturmak için Defender for Cloud’u kullanın ve böylece depo hijyenini denetlenebilir bir kontrol seviyesine yükseltin.
Pratik Problem Senaryosu
Spotify, GitHub Enterprise Cloud’daki depolara ve Azure DevOps çok aşamalı YAML işlem hatları aracılığıyla dağıtımlara sahip, .NET ve Node.js’i kapsayan yeni bir AKS üzerinde barındırılan mikro hizmet yığını için güvenli teslimatı standartlaştırmalıdır. Buradaki zorluk, birleştirmeden (merge) önce savunmasız bağımlılıkları ve yanlış yapılandırılmış altyapıyı durdurmak, statik kimlik bilgilerini ortadan kaldırmak ve kritik CVE’lere sahip imajların bir üst aşamaya geçişini engellemek ve aynı zamanda denetlenebilir uyumluluk kanıtı üretmektir.
- PR aşamasında SAST/SCA ve gizli anahtar taramasını zorunlu kılın
- PR dekorasyonu ve kalite kapıları ile çoklu dil SAST için SonarCloud’u seçin; yeni kod kapsamını ≥ %80 ve sıfır yeni Kritik güvenlik açığı olarak ayarlayın. Dependabot, güvenli yükseltmeler için otomatik PR oluşturmak üzere etkinleştirilir ve GitHub bağımlılık incelemesi, bilinen CVE’leri getiren PR’ları engeller. CI’daki Gitleaks ile birlikte GitHub Advanced Security gizli anahtar taraması, kimlik bilgilerinin ifşa olmasına karşı derinlemesine savunma sağlar.
- Bir üst aşamaya geçmeden önce kimliği doğrulanmış DAST ekleyin
- Bir işlem hattı aşamasında, önceden tanımlanmış test hesaplarıyla hazırlık (staging) ortamını hedefleyen OWASP ZAP’ı kullanın. Bir sürüm denetimi, yeni Yüksek/Kritik sorunlar ortaya çıkarsa üretimi engeller. ZAP, OWASP uyumlu kapsamı ve kolay CI otomasyonu için seçilmiştir.
- Key Vault ve iş yükü kimlik federasyonu ile kimlikleri ve gizli anahtarları güvence altına alın
- Hizmet bağlantıları için hizmet sorumlusu istemci gizli anahtarlarını Microsoft Entra iş yükü kimlik federasyonu ile değiştirerek depolanan gizli anahtarları ortadan kaldırın. İşlem hatları, en az ayrıcalıklı get/list izinleri aracılığıyla Azure Key Vault’tan çalışma zamanı gizli anahtarlarını ve veritabanı kimlik bilgilerini alır. Bu, uzun ömürlü kimlik bilgilerini ortadan kaldırır ve rotasyonu merkezileştirir.
- Sertifika otomasyonunu uygulayın
- Ingress ve mTLS sertifikalarını otomatik rotasyon ile Key Vault’ta saklayın. AKS, gizli anahtarları Kubernetes’e kopyalamaktan kaçınmak için Secrets Store CSI sürücüsü aracılığıyla sertifikaları çeker. Event Grid, yenileme sonrası bağlamaları doğrulamak için bir Function’ı tetikler. Bu tasarım, kesinti süresini ve insan hatasını en aza indirir.
- Konteynerleri ve kayıt defterlerini güçlendirin
- Dockerfile’ları ve oluşturulan imajları taramak için CI’da Trivy’yi çalıştırın; Kritik/Yüksek seviyede başarısız olur. Yalnızca temiz imajları ACR’ye itin. ACR’yi push anında ve periyodik olarak taramak için Defender for Containers’ı etkinleştirin ve bulguları Defender for Cloud’a sunun. İlke destekli sürüm denetimleri, çözülmemiş Kritik/Yüksek CVE’lere sahip imajların dağıtılmasını engeller. Trivy hızlı geri bildirim sağlar; Defender ise sürekli, kayıt defteri yerel güvencesi ekler.
- IaC taraması yapın ve Bicep/ARM linting’i yapın
- Terraform ve Helm chart’larını taramak için Checkov ve tfsec kullanın; etiketleme, şifreleme ve ağ denetimlerini zorunlu kılın. Azure yerel şablonları için CI’da Bicep linter ve ARM TTK çalıştırılır. Başarısız olan denetimler birleştirmeleri engeller; temel çizgiler, gürültüyü yeni/değiştirilmiş kaynaklarla sınırlar. Bu araçlar, geniş kural kapsamları ve güçlü Azure destekleri için seçilmiştir.
- Uyumluluğu ve kanıtları kod haline getirin
- CIS Azure ve şirket temel çizgileri için Azure Policy girişimleri atayın; kritik koruma mekanizmalarında Reddet (Deny) ve tanılama için DeployIfNotExists’i zorunlu kılın. Sonuçları Defender for Cloud’un mevzuat panolarına aktarın. Değiştirilemez kanıt için Activity Logs ve Defender önerilerini Log Analytics’e dışa aktarın. İlke sürekli zorlama sağlar; panolar denetime hazır görünümler sunar.
- İşlem hatlarını ve korumalı kaynakları sıkılaştırın
- Hizmet bağlantılarını kapsamı belirlenmiş abonelikler/kaynak grupları ile kısıtlayın; üretim için ortam onayları ve Azure Monitor sorgu denetimleri gerektirin. Değişken gruplarını ve güvenli dosyaları koruyun; tüm gizli anahtarları maskeleyin. Şirket içi (self-hosted) aracıları özel ağ ile güçlendirin. Bu özellikler patlama yarıçapını azaltır ve yüksek riskli eylemler için insan denetimi sağlar.
- Microsoft Defender for DevOps ile duruşu birleştirin
- Kod, gizli anahtar ve IaC bulgularını toplamak ve depo korumalarının benimsenmesini izlemek için GitHub kuruluşunu ve Azure DevOps projesini Defender for Cloud’a bağlayın. Hizmetler arasında standartlaştırılmış tarama sağlamak için SARIF yayınlama ile Semgrep, Trivy, tfsec ve Gitleaks’i düzenlemek üzere Microsoft Security DevOps eylemini/görevini kullanın. Bu, risk yönetimi ve düzeltme iş akışlarını merkezileştirir.
Her araç/özellik, mümkün olan en erken tespiti, otomatik zorlamayı ve denetlenebilirliği sağlamak için seçilmiştir: SonarCloud ve ZAP, kod ve çalışma zamanı risklerini engeller; Dependabot ve Trivy, güvenli güncellemeleri hızlandırır; Key Vault ve kimlik federasyonu, statik gizli anahtarları ortadan kaldırır; Checkov/tfsec ve Azure Policy, yapılandırma kaymasını (drift) önler; korumalı kaynaklar ve onaylar, patlama yarıçapını kontrol eder; Defender for DevOps ve Defender for Cloud, birleşik, eyleme geçirilebilir duruş yönetimi sunar.
← Sürüm Yönetimi ve Dağıtım Stratejileri · Tüm alanlar · Test Stratejisi ve Kalite Mühendisliği →
Bu soruları çözün → · ExamRoll.io’da süreli pratik →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Sınavınızı geçin →