Modül 2 · Modül 2 — Domain 2: User Identity & Authentication · ⏱ 10-15 dakika

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ı

SAMLOIDC
FormatXMLJSON (JWT)
ProtokolEski, karmaşıkModern, OAuth 2.0 tabanlı
GitHub Enterprise kullanımıSSO (GHEC + GHES)GHEC SSO + Actions OIDC
Conditional AccessSı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.