Kimlik doğrulama ve yetkilendirme, sırasıyla kimliği ve kaynaklara erişimi doğrulamak için kullanılan mekanizmalardır. Bu dokümanda, uygulamanızda kimlik doğrulama ve yetkilendirme uygulamadan önce bilmeniz gereken anahtar terimler açıklanmaktadır.
Kimlik doğrulama, kimin istekte bulunduğunu 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 bir ön koşuldur. Önce istekte bulunanın kimliğini oluşturmadan 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 girdiğinizde resepsiyon memuru, 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şmenize yetki verir.
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:

Google Cloud projenizi ve uygulamanızı yapılandırma: Geliştirme sırasında uygulamanızı Google Cloud konsoluna kaydedersiniz. Bu aşamada, uygulamanızı bir API anahtarı, son kullanıcı kimlik bilgisi veya hizmet hesabı kimlik bilgisi ile doğrulamak için yetkilendirme kapsamlarını ve 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ın kimliği son kullanıcı olarak doğrulanıyorsa oturum açma istemi gösterilebilir.
Kaynak isteme: Uygulamanızın Google kaynaklarına erişmesi gerektiğinde, daha önce kaydettiğiniz ilgili erişim kapsamlarını kullanarak Google'dan izin ister.
Kullanıcıdan izin isteyin: Uygulamanızda kimlik doğrulaması son kullanıcı olarak yapılıyorsa Google, OAuth kullanıcı rızası ekranını gösterir. Böylece kullanıcı, uygulamanıza istenen verilere erişim izni verip vermemeye karar verebilir.
Kaynaklar için onaylanmış istek gönderme: Kullanıcı, erişim kapsamlarını kabul ederse uygulamanız kimlik bilgilerini ve kullanıcı tarafından onaylanan erişim kapsamlarını bir istek altında gruplandırır. İstek, erişim jetonunu 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 ömründen sonra da bir Google API'sine erişmesi gerekiyorsa yenileme jetonu alabilir.
Daha fazla kaynak isteme: Ek erişim gerekiyorsa uygulamanız kullanıcıdan yeni erişim kapsamları vermesini ister. Bu da erişim jetonu almak için yeni bir istek gönderilmesiyle sonuçlanır (3-6. adımlar).
Önemli terminoloji
Aşağıda, kimlik doğrulama ve yetkilendirmeyle ilgili bir terim listesi yer almaktadır:
- Kimlik Doğrulama
Kullanıcı veya kullanıcı adına hareket eden bir uygulama olabilecek memnun söz konusu kişi olduğundan emin olma eylemidir. Google Workspace uygulamalarını yazarken şu kimlik doğrulama türlerini bilmeniz gerekir:
- Kullanıcı kimlik doğrulaması
- Bir kullanıcının uygulamanızda kimlik doğrulaması (oturum açma) işlemi. Kullanıcı kimlik doğrulaması genellikle kullanıcının uygulamaya kimliğini doğrulamak için bir 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 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 aracılığıyla gerçekleştirilir. Bu kod, kullanıcıyı uygulamanın kendi adına hareket etmek istediği ve izin verilirse Google'dan verilere erişmek veya işlem gerçekleştirmek için kullanılan bir erişim jetonu almak için uygulamanızın benzersiz kimlik bilgilerini kullandığı konusunda bilgilendirir.
- 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 bağlamında, kimlik bilgisi genellikle yalnızca uygulama geliştirici ve kimlik doğrulama sunucusu arasında bilinen benzersiz bir gizli dize gibi bir tür tanımlamadır. Google şu kimlik doğrulama kimlik 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. Örneğin, Maps API kullanılarak sağlanan veriler veya Google Workspace paylaşım ayarlarında "İnternetteki herkes" ayarı kullanılarak paylaşılan Google Workspace dosyaları.
- OAuth 2 istemci kimliği
- Kullanıcıya ait verilere erişim isteğinde bulunmak 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 gerekir.
- İstemci gizli anahtarı
- Yalnızca uygulamanız ve yetkilendirme sunucusu tarafından bilinmesi gereken karakter dizesidir. İstemci gizli anahtarı, yalnızca yetkili istek sahiplerine jeton vererek kullanıcı verilerini korur. Şifrelenmemiş istemci sırrınızı uygulamanıza asla dahil etmemelisiniz. İstemciyi 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 verilen kaynaklara veya işlemlere erişim düzeyini tanımlayan OAuth 2.0 URI dizesi. 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 ayrıntılı bilgi için Uygulamanız için kapsam seçme bölümüne bakın.
- Yetkilendirme sunucusu
Google'ın, bir uygulamanın istediği veri ve işlemlerine erişim jetonu kullanarak erişim izni veren sunucusu.
- Yetkilendirme kodu
Erişim jetonu almak için kullanılan yetkilendirme sunucusundan gönderilen koddur. 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 çok 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çevesinin uygulanmasını temsil eder.
- Müdür
Bir kaynağa erişim izni verilebilen, kimlik olarak da bilinen varlık. Google Workspace API'leri iki ana hesabı destekler: kullanıcı hesapları ve hizmet hesapları. Daha fazla bilgi için Ana Hesaplar 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
- Herkes tarafından erişilebilen veriler (ör. Google Haritalar'daki bazı veriler) Bu verilere genellikle bir API anahtarı kullanılarak erişilebilir.
- Son kullanıcı verileri
- Belirli bir kullanıcının Google Drive dosyaları gibi, belirli bir son kullanıcıya veya gruba ait olan veriler. Bu veri türüne genellikle bir OAuth 2 istemci kimliği veya hizmet hesabı kullanılarak erişilebilir.
- 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ın kullanıcısının, uygulamayı verilere erişmesi ve kullanıcı adına işlem gerçekleştirmesi için yetkilendirmesini gerektiren bir yetkilendirme adımıdır.
- Uygulama türü
Oluşturacağınız uygulamanın türü. Google Cloud Console'u kullanarak kimlik bilgileri oluştururken uygulamanızın türünü 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 eden ö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 işleme dahil olmaz. Hizmet hesapları tek başına kullanıcı verilerine erişmek için kullanılamaz. Verilere normalde Workspace API'leri kullanılarak erişilebilir. Bununla birlikte bir hizmet hesabı, alan genelinde yetki verme işlemini 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
Bir uygulamayı, Google Workspace kuruluşundaki kullanıcılar adına 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, yetki yetkisini bu şekilde 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 bölümüne bakın.
Sonraki adım
Uygulamanızın OAuth izin ekranını yapılandırarak kullanıcıların, uygulamanızın verilerine olan erişim düzeyini anlayıp onaylayabilmesini sağlayın.