OIDC ve Token Politikaları
OIDC & Token Policies
Bu derste neler öğreneceksin
- OIDC'nin GitHub Enterprise'daki kullanım senaryolarını açıklamak
- CAP (Conditional Access Policy) ile OIDC bağlantısını anlamak
- Enterprise düzeyinde token politikalarını yapılandırmayı bilmek
OIDC (OpenID Connect), SAML’e alternatif modern bir kimlik doğrulama protokolüdür. GitHub Enterprise Cloud, OIDC’yi hem kullanıcı kimlik doğrulamasında hem de GitHub Actions workload identity için kullanır.
OIDC ile SAML Farkı
| SAML | OIDC | |
|---|---|---|
| Format | XML | JSON (JWT) |
| Protokol | Eski, karmaşık | Modern, OAuth 2.0 tabanlı |
| GitHub Enterprise kullanımı | SSO (GHEC + GHES) | GHEC SSO + Actions OIDC |
| Conditional Access | Sınırlı | Tam destek (Azure AD ile) |
GHEC + Azure AD OIDC + CAP
GitHub Enterprise Cloud, Azure Active Directory (Entra ID) ile OIDC kurulduğunda Conditional Access Policy (CAP) destekler. Bu sayede:
- Compliant cihazlardan giriş zorunlu kılınabilir
- MFA koşulları belirtilebilir
- IP aralığı kısıtlamaları uygulanabilir
CAP, Azure AD tarafından değerlendirilir; GitHub uygun token’ı aldığında kullanıcıya izin verir.
GitHub Actions OIDC
GitHub Actions workflow’ları, id-token: write izniyle OIDC token alabilir ve bu token’ı cloud provider’lara doğrudan kimlik kanıtı olarak kullanabilir. Böylece uzun ömürlü secret saklamak gerekmez.
permissions:
id-token: write
contents: read
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789012:role/GitHubActionsRole
aws-region: us-east-1
Enterprise Token Politikaları
Enterprise admin, organizasyonlardaki token kullanımını kısıtlayabilir:
- Fine-grained PAT politikası: Fine-grained token’ların kullanımına izin ver, kısıtla veya admin onayına tabi tut
- OAuth App access: Org’un dışındaki OAuth App’lerin erişimini kısıtla
- GitHub App installation policy: Yalnızca onaylanmış GitHub App’lere izin ver
Sınav noktası: Enterprise admin, fine-grained PAT’ları “Require administrator approval” olarak ayarlarsa, kullanıcıların fine-grained token oluşturması admin onayı bekler. Bu, PAT kullanımını denetimli hale getirir.