GitHub Apps ile Enterprise Yönetimi PAT’siz Yürütmek
GitHub Apps’in doğrudan enterprise hesabına kurulabilmesi genel kullanıma açıldı. Enterprise ve organization düzeyindeki otomasyonlarda klasik personal access token (PAT) kullanımını artık daha geniş bir alanda GitHub App kimliğiyle değiştirebilirsiniz. Duyuruyla gelen yeni ve genişletilmiş izinler yönetişim (governance), güvenlik ve yönetimsel ayarlar etrafında toplanıyor; organization seviyesinde daha önce açık kalan iki eksik de kapatılıyor.
Neden PAT yerine GitHub App?
Klasik PAT’ler bir kullanıcıya bağlıdır, otomasyonun sınırını o kullanıcının yetkileri, hesabının durumu ve token’ın kapsamı belirler. GitHub App ise kendi kimliğiyle çalışır ve yalnızca kayıt sırasında seçilen izinlerle sınırlıdır. Enterprise hesabına kurulum senaryosu yokken, enterprise ayarlarına dokunan betikler çoğu zaman bir enterprise owner’ın PAT’ine bağımlı kalıyordu. Bu akışların önemli bir kısmı artık uygulama tabanlı kimliğe taşınabiliyor.
Genişleme rastgele değil, belirli alanlarda yoğunlaşıyor. Kaynakta öne çıkarılan üç başlık şöyle:
- Governance: Enterprise düzeyindeki repository policy’lerini ve ruleset’leri yönetmek, delegated bypass isteklerini okumak.
- Security: İki faktörlü kimlik doğrulama (2FA) gereksinimlerini yapılandırmak, domain doğrulamak, IP allowlist yönetmek ve enterprise erişim kısıtlamalarını kontrol etmek.
- Administration: Enterprise profilini güncellemek, enterprise genelinde üye ayrıcalıklarını ve repository erişim ayarlarını yönetmek.
Yeni izinler ve kapsadıkları API’ler
İzinleri GitHub App ayarlarınızdan, iş akışınızın gerektirdiği kadarını seçerek tanımlıyorsunuz. Duyuruda listelenen yeni izinler ve karşılık gelen API/GraphQL kapsamı şöyle:
| İzin | Erişim | Yeni desteklenen API ve GraphQL verisi |
|---|---|---|
| Enterprise organization and repository policies | Read/write | EnterpriseOwnerInfo üzerindeki policy alanlarını okuma; private repository forking, default repository permissions, repository visibility changes, repository creation, repository deletion, issue deletion, collaborator invitations, deploy keys, protected branch updates, dependency insights ayarı, organization projects ayarı ve repository projects güncelleme. |
| Enterprise bypass requests | Read | Push-rule ve repository-policy bypass isteklerini okuma. |
| Enterprise settings | Read/write | EnterpriseOwnerInfo üzerinden server installations ve organization invitations dahil enterprise verisini okuma; enterprise profilini güncelleme. Enterprise organization ve repository policy erişimi için okuma izni gerekiyor. |
| Enterprise two-factor authentication | Read/write | EnterpriseOwnerInfo üzerindeki 2FA alanlarını okuma; two-factor gereksinimlerini ve izin verilmeyen kimlik doğrulama yöntemlerini güncelleme. |
| Enterprise verifiable domains; organization verifiable domains | Write | Enterprise veya organization için VerifiableDomain erişimi. |
| Enterprise IP allowlist; organization IP allowlist | Read/write | IpAllowListEntry ve ilgili mutation’larla enterprise veya organization allowlist kayıtlarını oluşturma, güncelleme ve silme; allowlist zorlamasını, GitHub Apps güvenini ve Enterprise Managed Users için kullanıcı düzeyinde zorlamayı açıp kapatma. |
| Enterprise access restrictions | Write | Enterprise erişim kısıtlamalarını etkinleştirme veya devre dışı bırakma. |
| Enterprise repository rulesets | Write | Enterprise rules REST API’leri ve GraphQL’deki RepositoryRuleset üzerinden ruleset yönetimi. |
Mevcut izinlerde kapatılan boşluklar
Bazı API ve nesnelerde GitHub Apps desteği eksikti. Bu düzeltmelerle aynı izinler daha fazla otomasyon senaryosunu kapsıyor:
- Enterprise people (read/write):
EnterpriseRepositoryInfookunabiliyor;EnterpriseOwnerInfo.outsideCollaboratorsüzerinden repository detaylarına erişilebiliyor. Ayrıca owner veya member rolüyle kendinizi bir organization’a ekleyebiliyorsunuz. - Enterprise billing (write): Marketplace için member purchasing ayarı güncellenebiliyor.
Uygulamaya geçerken nelere dikkat etmeli?
İlk iş, taşımak istediğiniz iş akışları için GitHub App’inizin izinlerini belirlemek. Listede bazı izinler yalnızca write, bazıları yalnızca read, bazıları da her ikisini kapsıyor; hepsini işaretleyip geçmek yerine akış bazlı seçim yapmak hem en az ayrıcalık ilkesine hem de duyurunun kurgusuna uyuyor.
İzinler arasında bir bağımlılık da var. Enterprise organization ve repository policy’lerine erişebilmek için Enterprise settings izninin okuma hakkı gerekiyor. Policy güncellemelerini otomasyona bağlarken bu ön koşulu atlarsanız beklenmedik yetki hatalarıyla karşılaşabilirsiniz.
Güncellemeler GHES 3.24’te de kullanılabilir olacak. GitHub App ile GraphQL kullanımı ve enterprise hesabı yönetimi için GitHub’ın rehberleri var; enterprise kurulumunun nasıl yapılacağı içinse “Installing a GitHub App on your enterprise” dokümanı başvuru noktası.
Kaynaklar ve İleri Okuma
- Enterprise installations for GitHub Apps generally available – The GitHub Blog (orijinal duyuru)
- GitHub App için izin seçme
- Enterprise hesabınıza GitHub App kurma
- GraphQL ile enterprise hesabı yönetimi
- GraphQL enterprise-admin referansı
- REST: enterprise yönetimi
- REST: enterprise rules API’leri
- REST: bypass requests
- GraphQL organization referansı
- GraphQL repository referansı
- GitHub Enterprise’a üçüncü parti app kurulumu
- GitHub Apps’te least privilege için yeni izinler
- GitHub Apps ve enterprise faturalama verisi







0 comments