Desteklenen Erişim Belirteçlerini tanımlama

Tamamlandı

Burada farklı GitHub erişim belirteçleri, uygulamaları, sınırlamaları ve hız sınırları hakkında bilgi edinirsiniz.

Şirketinizdeki kullanıcılara erişim izni verdiğinizde kimlik doğrulaması son derece önemlidir. Kullanıcı erişiminin kapsamı sıkı olmalı ve yalnızca kullanıcıların görevlerini tamamlaması için gerekenleri içermelidir. Şirket içindeki kullanıcılara kullanım örnekleri için en iyi seçeneği kullanma konusunda yol göstermesine yardımcı olduğunuzdan, farklı erişim belirteçlerini anlamak önemlidir.

GitHub, kullanıcıların gerçekleştirmeleri gereken farklı etkinliklerde kimlik doğrulaması yapmalarına olanak sağlayan çeşitli belirteçler kullanır. Genellikle bu farklı belirteçler basittir ve hangi belirtecin kullanılacağını bilmek kolaydır. Ancak bazen aynı sonucu elde etmek için birden çok belirteç kullanılabilir, bu nedenle belirteç seçmek iyi, daha iyi ve en iyi bir karara varabilir. Bu durumlarda, GitHub belirteçlerinin özelliklerini ve bir belirtecin erişim kapsamını doğru bir şekilde belirlemek önemlidir. Kullanılabilir farklı erişim belirteçlerinin listesi aşağıdadır:

  • GitHub kişisel erişim belirteçleri
  • GitHub kullanıcıdan sunucuya belirteçler
  • GitHub sunucudan sunucuya belirteçler
  • OAuth erişim belirteçleri
  • Belirteçleri yenileme

Bir güvenlik açığı bulunduğunda riskin hızla azaltılabilmesi için geliştirme ekibinizin doğru kapsama sahip belirteçleri kullanmasını teşvik etmek önemlidir. Şimdi bu erişim belirteçlerinin her birine daha yakından bakalım.

Kişisel Erişim Belirteçleri

Kişisel erişim belirteci (PAT), GitHub'da kimlik doğrulaması için parola kullanmaya alternatiftir. Depoları göndermek ve çekmek için GitHub'ın kullanıcı erişimini doğrulaması gerekir. Doğrulama, kullanıcının doğrulanmış e-posta adresi üzerinden yapılır. İş akışınızın gerektirdiği kadar kişisel erişim belirteci oluşturabilirsiniz ve bunları parolalar kadar güvenli bir şekilde ele almalıdır. Farklı uygulamalar için farklı belirteçler kullanmak, güvenlik için en iyi yöntemdir. GitHub'da kişisel erişim belirteci oluşturmak için Ayarlar'a gidin ve Geliştirici ayarları'nın altında Kişisel erişim belirteçleri'ni seçin.

GitHub kişisel erişim belirteci örneği içeren ekran görüntüsü.

Tek bir belirtecin kapsamını yalnızca atadığınız işin kimliğini doğrulamak için gereken erişime izin verecek şekilde ayarlayabilirsiniz. Belirteç belirli bir kullanıcıya bağlıdır ve kullanıcının kuruluşa ve depolara erişimiyle uyumlu hale gelir. Kişisel erişim belirtecini istediğiniz zaman iptal edebilirsiniz. Bu, özellikle bir güvenlik sorunu oluştuğunda önemlidir. Ekibinize, kişisel erişim belirteçlerinin kullanıcı adı ve parola olarak güvenli bir şekilde ele alınması gerektiğini bildirmeniz önemlidir. Bir belirtecin gizliliği tehlikeye girerse, belirteci iptal etmek için hemen işlem yapmanız gerekir.

Kişisel erişim belirteci oluşturmaya yönelik ayrıntılı adımlar burada bulunabilir: Kişisel erişim belirteci oluşturma - GitHub Docs

Cihaz Belirteçleri

Cihaz Belirteci temelde bir PAT'nin makine hesabı sürümüdür ve cihaz bağlamında kullanılır ve kullanıcı olmayan belirli kullanım örneklerinde belirli bir depoya erişim sağlar. OAuth akışı kullanan bir uygulama kurulumunda cihaz belirteci kullanılır. Bunlar, genellikle çalıştırıcılar, özel uygulama hizmetleri, Linux'taki Cron işleri veya otomatik görevlerle ilgili diğer benzer senaryolarda kullanılır. Kişisel erişim belirtecinde olduğu gibi cihaz belirteci de tek bir hesaba bağlıdır ve cihaz belirtecini oluşturduğunuz hesap bir lisans kullanır.

GitHub Uygulama Yükleme Belirteçleri

Yükleme belirteci, GitHub uygulamasının bir kuruluştaki uygulamanın yüklemesi için kimliği doğrulanmış API istekleri göndermesine olanak tanır. Yükleme belirteci oluşturmadan önce belirtecin uygulandığı GitHub uygulamasını hedef depoya yüklemeniz gerekir. Yükleme belirteçleri bir saat geçerlidir ve belirli bir amaç için oluşturulduğundan ve nispeten kısa bir süre içinde süresi dolduğundan güvenlidir.

OAuth Erişim Belirteçleri

OAuth2 belirteçleri, tarayıcıda çalışan standart OAuth uygulamaları ve CLI araçları gibi başsız uygulamalar için kullanıcıları yetkilendirmek için kullanılır. Uygulamanızın api'ye kullanıcı erişim belirteci ile erişmesine izin verir. Bu belirteçler GitHub kullanıcı kimliğinizi üçüncü taraf uygulamalara bağlamanıza olanak tanıyarak uygulamanın sizin adınıza eylemler gerçekleştirmesini sağlar. Örneğin, user:email kapsamını isteyen bir uygulama kullanmak istiyorsanız, uygulamaya özel e-posta adreslerinize salt okunur erişim verilir. Bu belirteçler, üretim uygulamaları için web uygulaması akışı kullanılarak edinilebilir. Bu belirteçler kısa süreli olduğundan ve süresi 10 dakika içinde dolduğundan, bunlar da güvenlidir.

Belirteçleri Yenile

Yenileme belirteci bir OAuth belirteciyle bağlantılıdır. Yeni bir OAuth belirteci (kullanıcıdan sunucuya istek aracılığıyla) verildiğinde, yanıta bir yenileme belirteci eklenir. Kullanıcı belirtecinin süresi dolduğunda, yenileme belirteci geri arama isteğiyle yeni bir kullanıcı belirteci ile değiştirilebilir. Her yeni OAuth belirteci düzenlendiğinde, yenileme belirteci eklenir. Yenileme belirteçleri altı ay geçerlidir ve OAuth belirteçlerinizi güncelleştirmek için iyi bir anımsatıcıdır.

Tanımlanabilir ön ekler

Sektörde gördüğümüz gibi belirteç ön ekleri belirteçleri tanımlanabilir hale getirmenin net bir yoludur. GitHub, her belirteci temsil eden üç harfli ön ekleri içerir. Ön ek, ghşirketi belirten iki harfle başlar ve ardından belirteç türünün ilk harfi gelir. Kullanılabilir erişim belirteci türlerinin ön ekleri şunlardır:

  • ghp GitHub kişisel erişim belirteçleri için
  • ghu kullanıcıdan sunucuya GitHub belirteçleri için
  • ghs GitHub sunucudan sunucuya belirteçler için
  • gho OAuth erişim belirteçleri için
  • ghr yenileme belirteçleri için

Ayrıca, bu ön eklerin okunabilirliği geliştirmek için belirtecin içinde bir ayırıcı (_) vardır. Alt çizgi, Güvenli Karma Algoritmaları (SSA) gibi rastgele oluşturulan dizelerin bu belirteçleri yanlışlıkla çoğaltamamasını sağlamaya yardımcı olan bir Base64 karakteri değildir. Önekler, GitHub deposundaki güvenliği daha da artırmak için kullanılan GitHub'ın gelişmiş güvenlik özelliği olan gizli tarama işlemi sırasında, hatalı pozitif oranını azaltmaya da yardımcı olur.

Jeton oranlama sınırları

Hız sınırlarının aşılması geliştirme süresinin kaybolmasına neden olabilir. GitHub Uygulamaları ve OAuth uygulamaları için hız sınırları hakkında konuşalım. Hız sınırlarını anlayarak, ekibinizdeki geliştiriciler için bir kaynak olarak kuruluşunuzun bu GitHub kaynaklarına yaptığı yatırımı iyileştirmeye yardımcı olabilirsiniz.

Hız sınırları GitHub'da trafik hızını denetlemeye yardımcı olur ve saatteki isteklere göre hesaplanır.

  • GitHub kurumsal hesabına yüklenen github uygulamasının istek hızı sınırı saatte 15.000 istektir.
  • OAuth Uygulamasının kimliği tek bir kullanıcı için doğrulanır ve saatte 5.000 istekle sınırlıdır.

Kurumsal yöneticiler için uygulama hızı sınırlarını izlemeli ve geliştiricilerle birlikte çalışarak betiklerini sınırların içinde kalacak şekilde ayarlamanız gerekir. Genellikle, geliştiriciniz bir iş akışında çok fazla bilgi isteyen bir betik yazma gibi bir şey yapmadıkça hız sınırları önemli değildir. Aniden, geliştirme durma noktasına gelir ve hız sınırları bir performans sorununa dönüşür. Saat başına istek sayısını sınırlayarak veya bir iş akışını istekler arasında beklemek üzere değiştirerek bu hız sınırı fazla kullanım sorunlarını önleyebilirsiniz. Temel Kimlik Doğrulaması veya OAuth kullanarak hız sınırınızı aşarsanız, büyük olasılıkla API yanıtlarını önbelleğe alarak ve koşullu istekleri kullanarak sorunu çözebilirsiniz.

Yönetim konsolundan, kuruluşunuzdaki kimliği doğrulanmamış kullanıcılar için özel bir hız sınırı ayarlayabilir ve belirli kullanıcıların tam API hız sınırını kullanmasına izin veren bir muafiyet listesi oluşturabilirsiniz.

API hız sınırlarını ayarlayan yönetim konsolunun ekran görüntüsü.

Aşağıdaki Hız Sınırı API'sini kullanarak istediğiniz zaman geçerli hız sınırı durumunuzu de kontrol edebilirsiniz. Herhangi bir API isteğinin döndürülen HTTP üst bilgileri geçerli hız sınırı durumunuzu gösterir.

curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/rate_limit

Örnek yanıt

{
  "resources": {
    "core": {
      "limit": 5000,
      "remaining": 4999,
      "reset": 1372700873,
      "used": 1
    },
    "search": {
      "limit": 30,
      "remaining": 18,
      "reset": 1372697452,
      "used": 12
    },
    "graphql": {
      "limit": 5000,
      "remaining": 4993,
      "reset": 1372700389,
      "used": 7
    },
    "integration_manifest": {
      "limit": 5000,
      "remaining": 4999,
      "reset": 1551806725,
      "used": 1
    },
    "code_scanning_upload": {
      "limit": 500,
      "remaining": 499,
      "reset": 1551806725,
      "used": 1
    }
  },
  "rate": {
    "limit": 5000,
    "remaining": 4999,
    "reset": 1372700873,
    "used": 1
  }
}

Hız sınırları hakkında daha ayrıntılı bilgi için GitHub Docs'ta Hız sınırlama makalesini inceleyin.