Kimlik doğrulama ve yetkilendirme, sırasıyla kimliği ve kaynaklara erişimi doğrulamak için kullanılan mekanizmalardır. Bu belgede, uygulamanızda kimlik doğrulama ve yetkilendirme uygulamadan önce bilmeniz gereken anahtar terimler açıklanmaktadır.
Kimlik doğrulama, isteği kimin yaptığını tanımlar. Yetkilendirme, istekte bulunanın hangi kaynaklara erişebileceğini ve hangi erişim düzeyine sahip olduğunu tanımlar. Kimlik doğrulama, yetkilendirme için ön koşuldur. İstekte bulunanın kimliğini oluşturmadan önce hangi kaynaklara erişileceğini belirleyemezsiniz. Daha ayrıntılı bir tanım için Önemli terminoloji bölümüne bakın.
Aşağıdaki basitleştirilmiş otel rezervasyonu örneğini inceleyin. Otele ulaştığınızda resepsiyon görevlisi, rezervasyonunuzu doğrulamak için kimliğinizi ister. Kimliğiniz otele giriş yaparken kimliğinizi doğrular. Resepsiyon görevlisi size bir otel anahtarı verir. Bu anahtar otel odanız, spor salonu ve iş merkezi gibi belirli kaynaklara erişmenizi sağlar. Otel anahtarı, bu kaynaklara erişmeniz için sizi yetkilendirir.
Sürece genel bakış
Aşağıdaki şemada, Google Workspace API'leri için üst düzey kimlik doğrulama ve yetkilendirme adımları gösterilmektedir:
![Kimlik doğrulama ve yetkilendirme uygulamasının üst düzey adımları](https://developers-dot-devsite-v2-prod.appspot.com/workspace/images/auth-overview.png?authuser=5&hl=tr)
Google Cloud projenizi ve uygulamanızı yapılandırma: Geliştirme sırasında uygulamanızı Google Cloud konsoluna kaydedersiniz. Bu aşamada, yetkilendirme kapsamlarını ve uygulamanızın kimliğini API anahtarı, son kullanıcı kimlik bilgisi veya hizmet hesabı kimlik bilgisi ile doğrulamak için erişim kimlik bilgilerini tanımlarsınız.
Erişim için uygulamanızın kimliğini doğrulayın: Uygulamanız çalışırken kayıtlı erişim kimlik bilgileri değerlendirilir. Uygulamanız son kullanıcı olarak kimlik doğrulaması yapıyorsa oturum açma istemi gösterilebilir.
Kaynak isteme: Uygulamanızın Google kaynaklarına erişmesi gerektiğinde, uygulamanız daha önce kaydettirdiğiniz ilgili erişim kapsamlarını kullanarak Google'dan bilgi ister.
Kullanıcıdan izin isteme: Uygulamanız son kullanıcı olarak kimlik doğrulanıyorsa Google, OAuth izin ekranını görüntüler. Böylece kullanıcı, uygulamanıza istenen verilere erişim izni verip vermeyeceğinize karar verebilir.
Kaynaklar için onaylanmış istek gönderme: Kullanıcı, erişim kapsamlarını kabul ederse uygulamanız kimlik bilgilerini ve kullanıcı onaylı erişim kapsamlarını bir istek altında gruplandırır. İstek, erişim jetonu almak için Google yetkilendirme sunucusuna gönderilir.
Google bir erişim jetonu döndürür: Erişim jetonu, izin verilen erişim kapsamlarının listesini içerir. Döndürülen kapsam listesi, istenen erişim kapsamlarından daha sınırlıysa uygulamanız jetonla sınırlandırılan tüm özellikleri devre dışı bırakır.
İstenen kaynaklara erişim: Uygulamanız, ilgili API'leri çağırmak ve kaynaklara erişmek için Google'ın erişim jetonunu kullanır.
Yenileme jetonu alma (isteğe bağlı): Uygulamanız, tek bir erişim jetonunun kullanım ömrü sonrasında bir Google API'ye erişmesi gerekiyorsa yenileme jetonu alabilir.
Daha fazla kaynak isteyin: Ek erişim gerekirse uygulamanız kullanıcıdan yeni erişim kapsamları vermesini ister. Bu da erişim jetonu almak için yeni bir istekle sonuçlanır (3-6 arasındaki adımlar).
Önemli terminoloji
Aşağıda, kimlik doğrulama ve yetkilendirmeyle ilgili terimlerin listesi yer almaktadır:
- Kimlik Doğrulama
Bir kullanıcı veya kullanıcı adına hareket eden bir uygulama olabilecek bir sorumlunun, ifade ettiği kişi olmasını sağlama işlemi. Google Workspace uygulamalarını yazarken şu kimlik doğrulama türlerini göz önünde bulundurmanız gerekir:
- Kullanıcı kimlik doğrulaması
- Bir kullanıcının uygulamanızda kimlik doğrulaması (oturum açma) yapması. Kullanıcı kimlik doğrulaması, genellikle kullanıcının uygulamada kimliğini doğrulamak için kullanıcı adı ve şifre kombinasyonu kullandığı bir oturum açma işlemiyle gerçekleştirilir. Kullanıcı kimlik doğrulaması, Google ile Oturum Açma kullanılarak bir uygulamaya dahil edilebilir.
- Uygulama kimlik doğrulaması
- Bir uygulamanın, uygulamayı çalıştıran kullanıcı adına doğrudan Google hizmetlerinde kimlik doğrulaması yapma işlemidir. Uygulama kimlik doğrulaması genellikle uygulamanızın kodunda önceden oluşturulmuş kimlik bilgileri kullanılarak gerçekleştirilir.
- Yetkilendirme
Ana hesabın verilere erişmek veya işlemleri gerçekleştirmek için sahip olduğu izinler veya "yetki". Yetkilendirme işlemi, uygulamanızda yazdığınız kod üzerinden gerçekleştirilir. Bu kod, kullanıcıyı uygulamanın kendi adına hareket etmek istediği konusunda bilgilendirir ve izin verilmesi durumunda, Google'dan verilere erişmek veya işlemler gerçekleştirmek için kullanılan bir erişim jetonu almak amacıyla uygulamanızın benzersiz kimlik bilgilerini kullanır.
- Yeterlilik Belgesi
Yazılım güvenliğinde kullanılan bir kimlik biçimi. Kimlik doğrulama açısından, kimlik bilgisi genellikle bir kullanıcı adı ve şifre kombinasyonudur. Google Workspace API'leri için yetkilendirme açısından, kimlik bilgisi genellikle yalnızca uygulama geliştirici ve kimlik doğrulama sunucusu arasında bilinen, benzersiz bir gizli anahtar dizesi gibi bir tür kimlik bilgisidir. Google şu kimlik doğrulama bilgilerini destekler: API anahtarı, OAuth 2.0 İstemci Kimliği ve hizmet hesapları.
- API anahtarı
- Herkese açık verilere erişim isteğinde bulunmak için kullanılan kimlik bilgileri (ör. Maps API kullanılarak sağlanan veriler veya Google Workspace paylaşım ayarlarındaki "İnternetteki herkes" ayarı kullanılarak paylaşılan Google Workspace dosyaları).
- OAuth 2 istemci kimliği
- Kullanıcıya ait verilere erişim istemek için kullanılan kimlik bilgisi. Bu, Google Workspace API'lerini kullanarak verilere erişim isteğinde bulunurken kullanılan birincil kimlik bilgisidir. Bu kimlik bilgisi için kullanıcı izni gerekiyor.
- İstemci gizli anahtarı
- Yalnızca uygulamanız ve yetkilendirme sunucusu tarafından bilmesi gereken bir karakter dizesi. İstemci gizli anahtarı, yalnızca yetkili istekte bulunanlara jetonlar vererek kullanıcı verilerini korur. Şifrelenmemiş istemci sırrınızı uygulamanıza asla dahil etmemelisiniz. İstemci gizli anahtarını güvenli bir şekilde saklamanızı öneririz. Daha fazla bilgi için İstemci kimlik bilgilerini güvenli bir şekilde işleme bölümüne bakın.
- Hizmet hesabı anahtarları
- Bir Google hizmeti için yetkilendirme almak amacıyla hizmet hesapları tarafından kullanılır.
- Hizmet hesabı
- Bazı verilere erişmek veya bazı işlemleri gerçekleştirmek için işlem olarak çalışan yüzsüz bir uygulama gibi sunucudan sunucuya etkileşimler için kullanılan kimlik bilgisi. Hizmet hesapları genellikle bulut tabanlı verilere ve işlemlere erişmek için kullanılır. Ancak alan genelinde yetki verme ile birlikte kullanıldığında kullanıcı verilerine erişmek için kullanılabilir.
- Kapsam
Bir uygulamaya sağlanan kaynaklara veya işlemlere erişim düzeyini tanımlayan OAuth 2.0 URI dizesidir. Google Workspace için yetkilendirme kapsamı URI'leri Google Workspace uygulamasının adını, eriştiği veri türünü ve erişim düzeyini içerir. Uygulamanızın kullanıcıları istenen kapsamları inceleyip hangi erişimin verileceğini seçebilir. Ardından Google'ın kimlik doğrulama sunucusu, izin verilen kapsamları bir erişim jetonu içinde uygulamanıza döndürür. Daha fazla bilgiyi Uygulamanız için kapsamları seçme bölümünde bulabilirsiniz.
- Yetkilendirme sunucusu
Google'ın, bir uygulamanın istediği veri ve işlemlerine erişim jetonu kullanarak erişim izni vermek için kullandığı sunucudur.
- Yetkilendirme kodu
Erişim jetonu almak için kullanılan yetkilendirme sunucusundan gönderilen kod. Kod, yalnızca uygulamanızın türü bir web sunucusu uygulaması veya yüklü uygulama olduğunda gerekir.
- Erişim jetonu
Google Workspace API'ye erişim sağlayan bir jeton. Tek bir erişim jetonu, birden fazla API'ye kapsamlar olarak bilinen çeşitli derecelerde erişim sağlayabilir. Uygulamanızın yetkilendirme kodu, erişim jetonları ister ve bunları Google Workspace API'lerini çağırmak için kullanır.
- Kaynak sunucusu
Uygulamanızın çağırmak istediği API'yi barındıran sunucu.
- OAuth 2.0 çerçevesi
Uygulamanızın kullanıcısı adına "güvenli, yetki verilmiş erişim" veya verilere ve işlemlere erişim sağlamak için kullanabileceği bir standart. Uygulamanızda kullandığınız kimlik doğrulama ve yetkilendirme mekanizmaları, OAuth 2.0 çerçevesi kullanımınızı temsil eder.
- Müdür
Bir kaynağa erişim izni verilebilen ve kimlik olarak da bilinen varlık. Google Workspace API'leri iki ana hesap türünü destekler: kullanıcı hesapları ve hizmet hesapları. Daha fazla bilgi için Müdürler bölümünü inceleyin.
- Veri türü
Kimlik doğrulama ve yetkilendirme bağlamında veri türü, uygulamanızın erişmeye çalıştığı verilerin sahibi olan varlığı ifade eder. Üç veri türü vardır:
- Kamu alanı verileri
- Herkesin erişebileceği veriler (ör. Google Haritalar verileri) Bu verilere genellikle API anahtarı kullanılarak erişilebilir.
- Son kullanıcı verileri
- Belirli bir son kullanıcıya veya gruba ait olan veriler (ör. belirli bir kullanıcının Google Drive dosyaları). Bu veri türüne genellikle bir OAuth 2 istemci kimliği veya hizmet hesabı kullanılarak erişilir.
- Bulut verileri
- Bir Google Cloud projesine ait veriler. Bu veri türüne genellikle bir hizmet hesabı tarafından erişilir.
- Kullanıcı izni
Uygulamanızı kullananların uygulamayı verilere erişmesi ve kullanıcı adına işlem gerçekleştirmeleri için yetkilendirmesini gerektiren bir yetkilendirme adımı.
- Uygulama türü
Oluşturacağınız uygulamanın türü. Google Cloud Console'u kullanarak kimlik bilgileri oluştururken uygulama türünüzü seçmeniz istenir. Uygulama türleri şunlardır: Web uygulaması (JavaScript), Android, Chrome uygulaması, iOS, TV'ler ve Sınırlı Giriş cihazları, Masaüstü uygulaması ("yüklü uygulama" olarak da adlandırılır) ve Evrensel Windows Platformu (UWP).
- Hizmet hesabı
Kimlik doğrulaması yapılması ve verilere erişme yetkisi olması gereken, insan harici bir kullanıcıyı temsil etmeyi amaçlayan özel bir Google hesabı türü. Uygulamanız, Google API'lerini çağıran hizmet hesabının kimliğini varsayar. Böylece kullanıcılar doğrudan müdahale etmez. Hizmet hesapları tek başına kullanıcı verilerine erişmek için kullanılamaz. Verilere genelde Workspace API'leri kullanılarak erişilebilir. Ancak bir hizmet hesabı, alan genelinde yetki verme işlevini uygulayarak kullanıcı verilerine erişebilir. Daha fazla bilgi için Hizmet hesaplarını anlama bölümüne bakın.
- Alan genelinde yetki verme
Google Workspace kuruluşundaki kullanıcılar adına bir uygulamayı, kullanıcı verilerine erişmesi için yetkilendirebilen bir yönetim özelliği. Alan genelinde yetki, kullanıcı verileri üzerinde yöneticiyle ilgili görevleri gerçekleştirmek için kullanılabilir. Google Workspace yöneticileri bu şekilde yetki vermek için hizmet hesaplarını OAuth 2.0 ile kullanır. Bu özelliğin gücü nedeniyle, yalnızca süper yöneticiler alan genelinde yetki verme özelliğini etkinleştirebilir. Daha fazla bilgi için Bir hizmet hesabına alan genelinde yetki verme başlıklı makaleyi inceleyin.
Sonraki adım
Kullanıcıların, uygulamanızın verilerine nasıl erişileceğini anlayıp onaylayabilmesini sağlamak için uygulamanızın OAuth izin ekranını yapılandırın.