# Kimlik Doğrulama vs Yetkilendirme

Adres: https://softwaredictionary.org/tr/karsilastirma/authentication-vs-authorization
Son güncelleme: 2026-09-30

Kısaca: Kimlik doğrulama, parola ya da passkey gibi yollarla kim olduğunuzu doğrular; yetkilendirme ise kimliğiniz bilindikten sonra neler yapabileceğinize karar verir.

## Kimlik doğrulama (authentication) ile yetkilendirme (authorization) arasındaki fark nedir?

Kimlik doğrulama, sıkça authn diye kısaltılır ve kimliği kanıtlama sürecidir: sistem bir parolayı, tek kullanımlık bir kodu, bir passkey'i ya da bir sertifikayı denetler ve 42 numaralı kullanıcı olduğunuz sonucuna varır. Yetkilendirme, ya da authz, izinleri denetleme sürecidir: 42 numaralı kullanıcı olduğunuza göre bu faturayı görüntüleyebilir ya da şu ayarları değiştirebilir misiniz?

İkisi ayrıdır, çünkü farklı sorulara yanıt verir ve farklı zamanlarda değişir. Kimliğiniz tüm oturum boyunca aynı kalır, ama izinler kaynağa ve eyleme bağlıdır; roller (RBAC), nitelikler ya da sahiplik kurallarından gelebilir. İkisini ayrı tutmak, izin kurallarını yeniden yazmadan insanların nasıl giriş yaptığını, ya da tersini değiştirmenizi sağlar.

Pratikte her korumalı istekte art arda çalışırlar: önce kimlik doğrulama, sonra yetkilendirme. HTTP'nin her başarısızlık için bir durum kodu bile vardır: `401 Unauthorized` çağıranın kimliğinin doğrulanmadığı, `403 Forbidden` ise çağıranın bilindiği ama izni olmadığı anlamına gelir. Standartlar da aynı ayrımı izler: OpenID Connect girişi, OAuth 2.0 ise erişim vermeyi ele alır.

Sık yapılan bir yanlış, OAuth'un bir kimlik doğrulama protokolü olduğu düşüncesidir. OAuth 2.0 yetkilendirme için tasarlanmıştır; bir uygulamanın bir kullanıcı adına kaynaklara erişmesini sağlar ve bunun üzerindeki kimlik OpenID Connect'ten gelir. Bir diğeri, giriş yapmanın yeterli olduğu düşüncesidir: uygun yetkilendirme denetimleri olmayan, kimliği doğrulanmış bir kullanıcı çoğu zaman diğer kullanıcıların verilerini okuyabilir.

| Özellik | Kimlik Doğrulama | Yetkilendirme |
| --- | --- | --- |
| Yanıtladığı soru | Sen kimsin? | Neler yapmana izin var? |
| Ne zaman olur | Önce, genellikle girişte | Kimlik doğrulamadan sonra, her korumalı eylemde |
| Dayandığı şeyler | Parolalar, passkey'ler, tek kullanımlık kodlar, biyometri | Roller, izinler, politikalar ve sahiplik |
| Kullanıcı katılımı | Kullanıcı kimlik bilgilerini sağlar | Çoğunlukla görünmez; sistem kuralları uygular |
| Başarısızlık durumu | 401 Unauthorized | 403 Forbidden |
| Kim değiştirir | Kullanıcı, örneğin parolayı sıfırlayarak | Bir yönetici ya da sahip, örneğin bir rol vererek |
| Yaygın standartlar | OpenID Connect, SAML, WebAuthn | OAuth 2.0 kapsamları (scope), RBAC ve ABAC politikaları |

## Kimlik Doğrulama şu durumlarda doğru seçim

- Başka bir şey olmadan önce kullanıcının kimliğini doğrulamanız gerekiyor.
- Giriş, kayıt, parola sıfırlama ya da çok faktörlü akışlar geliştiriyorsunuz.
- API'nizi hangi servisin ya da cihazın çağırdığını doğrulamanız gerekiyor.

## Yetkilendirme şu durumlarda doğru seçim

- Farklı kullanıcılar farklı şeyleri görmeli veya değiştirmeli.
- Roller, izinler ya da yönetici özellikleri tasarlıyorsunuz.
- Üçüncü taraf bir uygulamanın kullanıcı verileriyle neler yapabileceğini sınırlamanız gerekiyor.

## Sık sorulan sorular

**401 ile 403 arasındaki fark nedir?**

`401 Unauthorized`, isteğin geçerli kimlik bilgilerinden yoksun olduğu, yani sunucunun kim olduğunuzu bilmediği anlamına gelir. `403 Forbidden` ise sunucunun kim olduğunuzu bildiği ama izninizin olmadığı anlamına gelir.

**OAuth kimlik doğrulama mı, yetkilendirme mi?**

OAuth 2.0 bir yetkilendirme çerçevesidir: bir uygulamaya kaynaklara sınırlı erişim verir. OpenID Connect ise kimlik doğrulama için OAuth'un üzerine bir kimlik katmanı ekler.

**Hangisi önce gelir, kimlik doğrulama mı yetkilendirme mi?**

Kimlik doğrulama önce gelir; çünkü sistem neler yapabileceğinize karar vermeden önce kim olduğunuzu bilmelidir. Herkesin görebildiği herkese açık sayfalar ikisini de atlar.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
