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 işlemlerini uygulamadan önce bilmeniz gereken temel terimler açıklanmaktadır.
Kimlik doğrulama, isteği yapan kişiyi tanımlar. Yetkilendirme, talep sahibinin hangi kaynaklara erişebileceğini ve hangi erişim düzeyine sahip olduğunu belirler. Kimlik doğrulama, yetkilendirme için ön koşuldur. İstekte bulunanın kimliğini belirlemeden 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 vardığınızda resepsiyon görevlisi, rezervasyonunuzu doğrulamak için kimliğinizi ister. Kimliğiniz, otelde kimliğinizi doğrular. Resepsiyon görevlisi size otel anahtarı verir. Bu anahtar, oteldeki otel odanız, spor salonu ve iş merkezi gibi belirli kaynaklara erişmenizi sağlar. Otel anahtarı, bu kaynaklara erişmenize izin verir.
İşleme genel bakış
Aşağıdaki şemada, Google Workspace API'leri için kimlik doğrulama ve yetkilendirme ile ilgili üst düzey adımlar gösterilmektedir:

Google Cloud projenizi ve uygulamanızı yapılandırın: Geliştirme sırasında uygulamanızı Google Cloud Console'a kaydederek yetkilendirme kapsamlarını ve erişim kimlik bilgilerini tanımlarsınız. Böylece uygulamanızın kimliğini API anahtarı, son kullanıcı kimlik bilgisi veya hizmet hesabı kimlik bilgisi ile doğrulayabilirsiniz.
Erişim için uygulamanızın kimliğini doğrulayın: Uygulamanız çalıştırıldığında, kayıtlı erişim kimlik bilgileri değerlendirilir. Uygulamanız son kullanıcı olarak kimlik doğruluyorsa oturum açma istemi gösterilebilir.
Kaynak isteğinde bulunma: Uygulamanızın Google kaynaklarına erişmesi gerektiğinde, daha önce kaydettiğiniz ilgili erişim kapsamlarını kullanarak Google'dan istekte bulunur.
Kullanıcı izni isteyin: Uygulamanız son kullanıcı olarak kimlik doğrulaması yapıyorsa Google, kullanıcının uygulamanıza istenen verilere erişim izni verip vermeyeceğine karar verebilmesi için OAuth izin ekranını gösterir.
Kaynaklar için onaylanmış istek gönderme: Kullanıcı, erişim kapsamlarını onaylarsa uygulamanız kimlik bilgilerini ve kullanıcı tarafından onaylanmış erişim kapsamlarını bir istekte paketler. Erişim jetonu almak için istek, Google yetkilendirme sunucusuna gönderilir.
Google, bir erişim jetonu döndürür: Erişim jetonu, 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, jeton tarafından sınırlanan 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'dan alınan erişim jetonunu kullanır.
Yenileme jetonu alma (isteğe bağlı): Uygulamanızın tek bir erişim jetonunun kullanım ömrünün ötesinde bir Google API'sine erişmesi gerekiyorsa yenileme jetonu alabilir.
Daha fazla kaynak isteğinde bulunma: Ek erişim gerekirse uygulamanız kullanıcıdan yeni erişim kapsamları vermesini ister. Bu da erişim jetonu alma isteğinin (3-6. adımlar) yeniden gönderilmesine neden olur.
Önemli terminoloji
Kimlik doğrulama ve yetkilendirmeyle ilgili terimlerin listesini aşağıda bulabilirsiniz:
- Kimlik doğrulama
Kullanıcı veya kullanıcı adına hareket eden bir uygulama olabilen bir asıl kullanıcının, iddia ettiği kişi olduğundan emin olma işlemi. Google Workspace uygulamaları yazarken şu kimlik doğrulama türlerinin farkında olmanız gerekir:
- Kullanıcı kimlik doğrulaması
- Kullanıcının uygulamanızda kimliğini doğrulama (oturum açma) işlemi. Kullanıcı kimlik doğrulaması genellikle, kullanıcının kimliğini uygulamaya 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ı yapması. Uygulama kimlik doğrulaması genellikle uygulamanızın kodunda önceden oluşturulmuş kimlik bilgileri kullanılarak gerçekleştirilir.
- Yetkilendirme
Asıl kullanıcının verilere erişmek veya işlemleri gerçekleştirmek için sahip olduğu izinler ya da "yetki". Yetkilendirme işlemi, uygulamanızda yazdığınız kod aracılığıyla gerçekleştirilir. Bu kod, uygulamayı kullanıcının adına işlem yapmaya yetkilendirir ve izin verilirse veriye erişmek veya işlemleri gerçekleştirmek için kullanılan Google'dan erişim jetonu almak üzere uygulamanızın benzersiz kimlik bilgilerini kullanır.
- Kimlik bilgisi
Yazılım güvenliğinde kullanılan bir kimlik biçimi. Kimlik doğrulama açısından kimlik bilgisi genellikle kullanıcı adı ve şifre kombinasyonudur. Google Workspace API'leri için yetkilendirme açısından kimlik bilgisi genellikle yalnızca uygulama geliştirici ile kimlik doğrulama sunucusu arasında bilinen benzersiz bir gizli dize gibi bir kimlik biçimidir. Google şu kimlik doğrulama kimlik bilgilerini destekler: API anahtarı, OAuth 2.0 istemci kimliği ve hizmet hesapları.
- API anahtarı
- Herkese açık verilere erişim isteğinde bulunmak için kullanılan kimlik bilgisi (ör. Haritalar API'si kullanılarak sağlanan veriler veya Google Workspace paylaşım ayarlarında "İnternette bu bağlantıya sahip olan 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 istenirken 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 bir karakter dizesi. İstemci gizli anahtarı, yalnızca yetkili talep sahiplerine jeton vererek kullanıcı verilerini korur. Şifrelenmemiş istemci gizli anahtarınızı uygulamanıza hiçbir zaman eklememelisiniz. İ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 başlıklı makaleyi inceleyin.
- Hizmet hesabı anahtarları
- Hizmet hesapları tarafından bir Google hizmetine yetki almak için kullanılır.
- Hizmet hesabı
- Bazı verilere erişmek veya bazı işlemleri gerçekleştirmek için süreç olarak çalışan, yüzü olmayan bir uygulama gibi sunucular arası etkileşimlerde kullanılan bir kimlik bilgisi. Hizmet hesapları genellikle bulut tabanlı verilere ve işlemlere erişmek için kullanılır. Ancak bu jetonlar, 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 bir OAuth 2.0 URI dizesi. Google Workspace için yetkilendirme kapsamı URI'leri, Google Workspace uygulama 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şimlerin verileceğini seçebilir. Ardından Google'ın kimlik doğrulama sunucusu, izin verilen kapsamları erişim jetonu olarak uygulamanıza döndürür. Daha fazla bilgi için Uygulamanız için kapsamları seçme başlıklı makaleyi inceleyin.
- Yetkilendirme sunucusu
Bir uygulamanın istenen verilerine ve işlemlerine erişim jetonu kullanarak erişim izni veren Google sunucusu.
- Yetkilendirme kodu
Erişim jetonu almak için yetkilendirme sunucusundan gönderilen kod. Yalnızca uygulama türünüz bir web sunucusu uygulaması veya yüklü bir uygulama olduğunda kod gerekir.
- Erişim jetonu
Google Workspace API'sine erişim izni veren bir jeton. Tek bir erişim jetonu, birden fazla API'ye farklı derecelerde erişim izni verebilir. Bu derecelere kapsamlar adı verilir. 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 "güvenli yetki verilmiş erişim" veya uygulama kullanıcısı adına 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 uygulamanızdaki halini gösterir.
- Principal
Bir kaynağa erişim izni verilebilen tüzel kişi (kimlik olarak da bilinir). Google Workspace API'leri iki tür asıl öğeyi destekler: kullanıcı hesapları ve hizmet hesapları. Daha fazla bilgi için Yetkililer başlıklı makaleyi 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 öğeyi ifade eder. Üç veri türü vardır:
- Kamu malı verileri
- Bazı Google Haritalar verileri gibi herkesin erişebileceği veriler. Bu verilere genellikle API anahtarı kullanılarak erişilir.
- Son kullanıcı verileri
- Belirli bir son kullanıcıya veya gruba ait veriler (ör. belirli bir kullanıcının Google Drive dosyaları). Bu veri türüne genellikle 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ı rızası
Uygulamanızın kullanıcısının, uygulamayı yetkilendirerek kullanıcının verilerine erişmesine ve kullanıcı adına işlemler yapmasına izin vermesini gerektiren 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ı (aynı zamanda "yüklü uygulama" olarak da adlandırılır) ve Evrensel Windows Platformu (UWP).
- Hizmet hesabı
Verilere erişmek için kimliğinin doğrulanması ve yetkilendirilmesi gereken, insan olmayan bir kullanıcıyı temsil etmesi amaçlanan özel bir Google Hesabı türü. Uygulamanız Google API'lerine çağrı yapmak için hizmet hesabı kimliğini üstlenir; yani kullanıcılar bu işleme doğrudan dahil değildir. Hizmet hesapları, kullanıcı verilerine erişmek için tek başlarına kullanılamaz. Bu veriler genellikle Workspace API'leri kullanılarak erişilen verilerdir. Ancak bir hizmet hesabı, alan genelinde yetki verme yetkisini uygulayarak kullanıcı verilerine erişebilir. Daha fazla bilgi için Hizmet hesaplarını anlama başlıklı makaleyi inceleyin.
- Alan genelinde yetki devri
Bir uygulamanın Google Workspace kuruluşundaki kullanıcılar adına kullanıcı verilerine erişmesine yetki verebilen 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 devretmek için OAuth 2.0 ile hizmet hesaplarını kullanır. Bu özelliğin gücü nedeniyle, alan genelinde yetki devrini yalnızca süper yöneticiler etkinleştirebilir. Daha fazla bilgi için Delegating domain-wide authority to a service account (Alan genelinde yetkiyi bir hizmet hesabına devretme) başlıklı makaleyi inceleyin.
Sonraki adım
Kullanıcıların, uygulamanızın verilerine hangi erişimlere sahip olduğunu anlayıp onaylayabilmesi için uygulamanızın OAuth kullanıcı rızası ekranını yapılandırın.