Actions Policy ve Allowlist
Actions Policy & Allowlist
Bu derste neler öğreneceksin
- Enterprise ve organization düzeyinde Actions politikalarını yapılandırmayı anlamak
- Action allowlist ile hangi actions'ların kullanılabileceğini kısıtlamayı bilmek
- Actions güvenlik riski olan yapılandırmaları tespit etmek
GitHub Actions, CI/CD otomasyon platformudur. GH-100 Domain 6, Actions’ın kurumsal ortamda güvenli yönetimini ölçer — özellikle hangi actions’ların kullanılabileceğini kısıtlama konusunu.
Actions’ı Etkinleştirme / Devre Dışı Bırakma
Enterprise düzeyinde:
Enterprise → Policies → Actions
→ "Enable for all organizations"
→ "Disable for all organizations"
→ "Enable for specific organizations"
Org düzeyinde:
Organization → Settings → Actions → General
→ "Allow all actions" / "Allow specific actions" / "Disable Actions"
Action Allowlist
Belirli actions’ların kullanımına izin vermek için allowlist yapılandırılır:
Organization → Settings → Actions → General
→ "Allow select actions and reusable workflows"
→ Seçenekler:
- Allow actions created by GitHub
- Allow actions by Marketplace verified creators
- Allow specific actions (pattern ile: owner/repo@*)
Örnek kısıtlayıcı allowlist:
actions/*, # GitHub resmi actions
github/*, # GitHub ekibi actions
company/internal-* # Şirket içi actions
Default Workflow Permissions
Workflow’ların varsayılan GITHUB_TOKEN yetkileri:
Organization → Settings → Actions → General → Workflow permissions
→ "Read and write" (geniş — önerilmez)
→ "Read-only" (dar — önerilen)
Best practice: Varsayılanı read-only yap, her workflow için permissions: bloğuyla gerekli izinleri açıkça belirt.
Fork’tan PR’da Actions
Dış fork’tan gelen PR’larda Actions’ın otomatik çalışması güvenlik riski taşır:
Organization → Settings → Actions → General
→ "Fork pull request workflows from outside collaborators"
→ "Require approval for first-time contributors" (önerilen)
→ "Require approval for all outside collaborators" (en güvenli)
Actions Cache Yönetimi
Actions cache, GITHUB_TOKEN kapsamında çalışır ve repo bazlı izole edilir. Cache poisoning saldırısına karşı:
- Pull request’lerde cache’i read-only yap
- Push workflow’larıyla cache’i güncelle