GHAS mimarisi ve önkoşullar
GHAS architecture and prerequisites
Bu derste neler öğreneceksin
- GHAS'ın üç ana bileşenini (secret scanning, code scanning, supply chain) kavramak
- GHAS'ın GitHub Enterprise ile ilişkisini ve lisans modelini anlamak
- Sınavda çıkan mimari kavramları (active committers, security overview) tanımak
- Hangi özelliklerin hangi katmanda aktif olduğunu bilmek
GHAS üç temel pilara dayanır
GitHub Advanced Security, üç ana güvenlik pilının entegrasyonudur:
GHAS
├── Secret Scanning
│ ├── Push protection
│ ├── Custom patterns
│ └── Validity checks
├── Code Scanning (CodeQL)
│ ├── Default setup
│ ├── Advanced setup
│ └── Custom queries
└── Supply Chain Security
├── Dependency graph
├── Dependabot alerts
├── Dependabot security updates
├── Dependabot version updates
└── Dependency review
Bu üç pilar birbirinden bağımsız olarak etkinleştirilebilir; ancak sınavda çoğunlukla entegre senaryo soruları olarak karşına çıkar.
Enterprise katmanı ve lisanslama
GHAS, GitHub Enterprise (Cloud veya Server) lisansı gerektirir. Lisans modeli:
| Kavram | Açıklama |
|---|---|
| Active committer | Son 90 günde GHAS etkin bir repo’ya commit atan kullanıcı |
| Lisans birimi | Her active committer başına 1 seat |
| Görünüm | Organization → Settings → Advanced Security → Active committers |
| Tahmin | Repository bazlı committer sayısını önceden görebilirsin |
Security Overview — GHAS’ın kontrol merkezi
Security overview sayfası (Organization → Security) GHAS’ın merkezi görünüm noktasıdır. Sınavda bu sayfada ne yapılabileceği sık sorulur:
- Tüm repolardaki alert sayısını ve durumunu görmek
- Domain 2 (secret), Domain 3 (supply chain), Domain 4 (code scanning) alertlerini tek ekranda filtrelemek
- Alert trendlerini zaman içinde takip etmek
- Security campaigns başlatmak (Mayıs 2026 itibarıyla GA)
Özellik-tier haritası (sınav için kritik)
| Özellik | Free/Team | Enterprise + GHAS |
|---|---|---|
| Dependency graph | ✓ | ✓ |
| Dependabot alerts (public) | ✓ | ✓ |
| Dependabot alerts (private) | Sınırlı | ✓ |
| Dependabot security updates | ✓ | ✓ |
| Dependabot version updates | ✓ | ✓ |
| Basic secret scanning (public) | ✓ | ✓ |
| Secret scanning (private) | ✗ | ✓ |
| Push protection | ✗ | ✓ |
| Custom secret patterns | ✗ | ✓ |
| Validity checks | ✗ | ✓ |
| Code scanning — default setup | ✓ (public) | ✓ (hepsi) |
| Code scanning — advanced setup | ✓ (public) | ✓ (hepsi) |
| Custom CodeQL queries | ✓ (public) | ✓ (hepsi) |
| Security overview | ✗ | ✓ |
| Security campaigns | ✗ | ✓ |
| Audit log (detaylı) | ✗ | ✓ |
GitHub Actions ile entegrasyon
GHAS özellikleri GitHub Actions workflow’larıyla tetiklenir veya etkileşime girer. Temel bağlantılar:
# Code scanning için GitHub Actions örneği
on:
push:
branches: [main]
pull_request:
schedule:
- cron: '0 6 * * 1' # Haftalık tam tarama
jobs:
analyze:
uses: github/codeql-action/analyze@v3
Secret scanning ve Dependabot ise GitHub platformu tarafından otomatik çalışır — Actions gerektirmez. Bu fark sınavda çıkar.
Sınavda mimari soruları nasıl yaklaş?
Bir senaryo sorusu “X güvenlik sorununu nasıl tespit edersin?” biçimindeyse:
- Hangi GHAS pilari ilgili? (secret / code / supply chain)
- GitHub Enterprise gerekiyor mu?
- Özellik varsayılan olarak mı açık, yoksa yapılandırma mı gerekiyor?
Bu üç soruyu cevaplarsan doğru şıkka ulaşırsın.
Sırada ne var?
Modül 1’de GHAS’ın özellik seti ve domain 1 konularını derinleştireceğiz.