Türkçe
  • auth
  • cli
  • ai

CLI Kimlik Doğrulaması Nedir ve Günümüzde Kullanılan Yaygın Yöntemler

CLI kimlik doğrulaması, modern geliştirici iş akışlarının merkezinde yer alıyor. Logto, tüm ana CLI kimlik doğrulama yöntemlerini destekler.

Guamian
Guamian
Product & Design

Kullanıcı kimlik doğrulamasına haftalar harcamayı bırakın
Logto ile güvenli uygulamaları daha hızlı yayınlayın. Kullanıcı kimlik doğrulamasını dakikalar içinde entegre edin ve temel ürününüze odaklanın.
Başlayın
Product screenshot

Modern geliştirici iş akışları büyük ölçüde komut satırı araçlarına dayanıyor. Bulut servislerinin dağıtımından, yapay zeka ajanlarının çalıştırılmasına veya altyapının yönetilmesine kadar, CLI mühendisler için en güçlü arayüzlerden biri haline geldi. Fakat her deploy, auth veya run komutunun ardında kritik bir gereksinim var:

CLI, kim olduğunu bilmeli.

İşte burada CLI kimlik doğrulaması devreye giriyor.

Bu makalede, CLI kimlik doğrulamasının ne anlama geldiğini, neden önemli olduğunu ve günümüz geliştirici ekosisteminde yaygın olarak kullanılan kimlik doğrulama yöntemlerini inceleyeceğiz.

CLI Kimlik Doğrulaması Nedir?

CLI kimlik doğrulaması (Komut Satırı Arayüzü kimlik doğrulaması), bir CLI'nin komutları çalıştıran kişi veya servisin kimliğini doğrulamak için kullandığı mekanizmadır.

CLI'nın şunları yapmasını sağlar:

  • kullanıcıyı doğrulama
  • kısa ömürlü ve uzun ömürlü jetonlar alma
  • arka uç API'larına güvenli erişim
  • kalıcı bir oturum açma durumu koruma

Tarayıcılar çerezlere ve oturumlara dayanırken, CLI'lar yerel olarak saklanan jetonlara, OAuth veya diğer standart kimlik doğrulama akışlarıyla beraber güvenir.

Kısacası, CLI kimlik doğrulaması terminale kendi oturum açma sistemini verir, böylece kullanıcı adına güvenle hareket edebilir.

CLI kimlik doğrulaması neden gereklidir?

CLI kimlik doğrulaması, birkaç gerçek dünya problemini çözer:

  1. Kimlik — API arka ucu, komutları kimin verdiğini bilmelidir.
  2. Güvenlik — Geliştiriciler ham sırları terminale veya betiklere yapıştırmamalı.
  3. Jeton yaşam döngüsü — CLI'lar otomatik yenilemeli kısa ömürlü erişim jetonlarına ihtiyaç duyar.
  4. Kullanıcı kolaylığı — Bir kez doğrulandıktan sonra, geliştiriciler tekrar tekrar oturum açmamalıdır.
  5. Otomasyon desteği — CI/CD hatları makine dostu jetonlara ihtiyaç duyar.

CLI'lar özellikle yapay zeka destekli araçlarla geliştikçe, sağlam ve güvenli kimlik doğrulama ihtiyacı daha da artıyor.

Yaygın CLI kimlik doğrulama yöntemleri

Farklı platformlar, güvenlik gereksinimleri, kullanıcı deneyimi ihtiyaçları ve altyapı tasarımlarına göre farklı CLI kimlik doğrulama yöntemleri kullanır. Aşağıda, modern geliştirici araçlarında en yaygın kullanılan yöntemler yer almaktadır.

1. OAuth 2.0 Cihaz Kodu Akışı (En yaygın yöntem)

Bu, şu uygulamalar tarafından kullanılan sektör standartı akıştır:

  • GitHub CLI
  • AWS SSO
  • Azure CLI
  • Vercel CLI
  • OpenAI CLI
  • Birçok yapay zeka tabanlı runtime

Nasıl çalışır

  1. CLI, kimlik sağlayıcısından bir cihaz kodu istemek için çağrı yapar.
  2. Kullanıcıdan bir URL'yi ziyaret edip kısa bir doğrulama kodu girmesi istenir.
  3. Tarayıcı oturum açma işlemini (şifre, geçiş anahtarı, SSO) yönetir.
  4. Onaylandıktan sonra CLI jetonları (erişim + yenileme) alır.
  5. CLI, jetonları yerel olarak saklar ve sonraki komutlarda bunları kullanır.

Neden popüler

  • Her yerde çalışır (yerel, SSH, konteynerler).
  • Güçlü güvenlik özellikleri.
  • Terminalde şifre yazmaya gerek yoktur.
  • MFA, geçiş anahtarları ve kurumsal SSO'yu destekler.

Cihaz Kodu Akışı, modern geliştirici araçları için varsayılan yaklaşımdır; güvenlik, esneklik ve kullanıcı deneyimi dengesi sunar.

2. Localhost Yönlendirme OAuth Akışı

Daha akıcı bir oturum açma deneyimi sunmak isteyen araçlar tarafından kullanılır.

Nasıl çalışır

  1. CLI, rastgele bir portta küçük bir yerel sunucu başlatır.
  2. Tarayıcı otomatik olarak açılır.
  3. Oturum açma sonrası kimlik sağlayıcı http://localhost:xxxx/callback adresine yönlendirir.
  4. CLI OAuth jetonlarını alır ve yerel sunucuyu kapatır.

Artıları

  • Yüksek kaliteli kullanıcı deneyimi.
  • Kopyala-yapıştır adımı yoktur.

Eksileri

  • Uzaktan shell'de veya bulut ortamlarında ideal değildir.
  • Localhost portlarını bağlayabilmeli.

Genellikle GUI dostu CLI'larda veya "tek tıkla giriş" isteyen geliştirici araçlarında yaygındır.

3. API anahtarları / Kişisel erişim jetonları (Eski ama hala yaygın)

Bazı CLI'lar, geliştiricilerin bir API anahtarı veya kişisel erişim jetonu yapıştırmasına izin verir.

Örnek

Artıları

  • Basit.
  • Otomasyona uygun.

Eksileri

  • Daha düşük güvenlik.
  • MFA yoktur.
  • Döndürülmesi zordur.
  • Jetonlar genellikle geniş izinlere sahiptir.

Çoğu modern platform bu modelden uzaklaşıyor veya sadece makine kullanımı ile sınırlandırıyor.

4. İstemci Kimlik Bilgileri (OAuth2 İstemci Kimlik Bilgileri Akışı)

Bu, servislerin ve CI/CD işlerinin kullanıcı etkileşimi olmadan kimliğini doğrulaması için standart yöntemdir.

Kimlik sağlayıcılar şu bilgileri sunar:

  • client_id
  • client_secret

Servis bunları bir erişim jetonuna dönüştürür:

Özellikleri

  • Kullanıcı katılımı yoktur
  • Tarayıcı gerekmez
  • Kısa ömürlü erişim jetonları
  • Arka uçtan arka uca veya CI sistemleri için ideal
  • OAuth2 ve RBAC ile temiz entegrasyon

Bu, tüm kimlik sağlayıcılar arasında en yaygın desteklenen otomasyon kimlik doğrulama yöntemidir.

5. Kullanıcı Adı + Parola girişi (Bugün nadir)

Kimlik bilgilerini doğrudan bir CLI'ya girmek:

Bu yöntem eskimiş ve önerilmez, çünkü:

  • parola girişi sızıntı riski taşır
  • MFA desteği yoktur
  • SSO ile bütünleşemez
  • zayıf denetlenebilirlik

Modern araçlar, bunun yerine çevrimdışı veya eski kurumsal ortamlarda kullanır.

CLI'lar jetonları nasıl saklar?

Çoğu CLI jetonları şuralarda saklar:

Tercih edilen

  • macOS Anahtarlık
  • Windows Kimlik Bilgisi Yöneticisi
  • Linux Keyring

Alternatif

  • ~/.config/aracadi altında şifrelenmiş yerel dosyalar
  • JSON veya TOML yapılandırma dosyaları

Jetonlar şunlara sahip olmalı:

  • kısa ömürlü
  • yenilenebilir
  • iptal edilebilir
  • roller ve izinlerle kapsamlanmış

İyi tasarlanmış bir jeton yaşam döngüsü, CLI kimlik doğrulama güvenliğinin temelidir.

Hangi yöntemi kullanmalısın?

Bir CLI tasarlıyorsan:

SenaryoEn iyi kimlik doğrulama yöntemi
Yerelde insan girişiCihaz Kodu Akışı
GUI ihtiyacı olan insanLocalhost OAuth yönlendirme
CI/CDİstemci kimlik bilgileri akışı
Hızlı prototiplemeAPI anahtarları
Kurumsal SSO gerekiyorsaCihaz Kodu Akışı

Cihaz Kodu Akışı, her yerde çalıştığı ve tarayıcının güvenliğini devraldığı için modern varsayılanıdır.

Özet

CLI kimlik doğrulaması, modern komut satırı araçlarının arkasındaki kimlik temellerini sağlar.

Geliştiricilerin güvenli şekilde kimlik doğrulaması yapmasına, jeton almasına ve hassas kimlik bilgilerini ortaya çıkarmadan bulut servisleri veya yapay zeka çalıştırmaları ile etkileşime geçmesine olanak tanır.

En yaygın CLI kimlik doğrulama yöntemleri şunlardır:

  1. OAuth Cihaz Kodu Akışı
  2. Localhost OAuth Yönlendirme Akışı
  3. API anahtarları / Kişisel Erişim Jetonları
  4. CI/CD için İstemci kimlik bilgileri akışı
  5. Eski kullanıcı adı/parola (bugün nadir)

Geliştirici araçları yapay zeka odaklı hale geldikçe ve daha fazla iş terminalde yürütüldükçe, CLI kimlik doğrulaması modern kimlik altyapısının temel bir parçası oluyor. Logto, tüm ana CLI kimlik doğrulama modellerini destekler; Cihaz Kodu Akışı ise şu anda geliştirme aşamasındadır.

👉 Logto ile başla