Kimlik doğrulama ve yetkilendirme işlemleri, sırasıyla kimlik ve kaynaklara erişimi doğrulamak için kullanılan mekanizmalardır. Bu dokümanda, uygulamanızda kimlik doğrulama ve yetkilendirme işlemlerini gerçekleştirmeden önce bilmeniz gereken önemli terimler açıklanmaktadır.
Not: Bu genel bakış, Google Workspace API'leri için kimlik doğrulama ve yetkilendirmeye odaklanmaktadır. Bu dokümandaki bazı bilgiler diğer Google API'leriyle ilgili olmayabilir.
Sürece genel bakış
Aşağıdaki şemada, Google Workspace API'leri için kimlik doğrulama ve yetkilendirmenin ü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 API anahtarı, son kullanıcı kimlik bilgileri veya hizmet hesabı kimlik bilgileriyle uygulamanızın kimliğini doğrulamak için yetkilendirme kapsamları ve kimlik bilgilerine erişirsiniz.
Uygulamanızın erişim için kimliğini doğrulama: Uygulamanız çalışırken kayıtlı erişim kimlik bilgileri değerlendirilir. Uygulamanızın kimliği son kullanıcı olarak doğrulanıyorsa bir 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 bunu yapmasını ister.
Kullanıcı rızası isteme: Uygulamanızın son kullanıcı olarak kimlik doğrulaması yapılıyorsa Google, uygulamanızın istenen verilere erişmesine izin verip vermemeye karar verebilmesi için OAuth izin ekranını görüntüler.
Onaylanan kaynaklar için istek gönderme: Kullanıcı erişim kapsamlarını kabul ederse uygulamanız kimlik bilgilerini ve kullanıcı tarafından onaylanmış erişim kapsamlarını bir isteğe göre gruplandırır. İstek, bir 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ı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'ın erişim jetonunu kullanır.
Yenileme jetonu alma (isteğe bağlı): Tek bir erişim jetonunun kullanım ömrü dışında bir Google API'sine erişmesi gereken uygulama bir 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 konusunda yeni bir istekle sonuçlanır (3-6. adımlar).
Önemli terimler
Aşağıda, kimlik doğrulama ve yetkilendirmeyle ilgili terimlerin bir listesi bulunmaktadır:
- Kimlik Doğrulama
Ana hesabın (kullanıcı veya kullanıcı adına işlem yapan bir uygulama olabilen) olmasını sağlayan şey, bu kişinin kim olduğunu belirtmesidir. Google Workspace uygulamaları yazarken aşağıdaki türlerde kimlik doğrulama hakkında bilgi sahibi olmanız gerekir:
- Kullanıcı kimlik doğrulaması
- Kullanıcının uygulamanızda kimliğini doğrulama (oturum açma) işlemidir. Kullanıcı kimlik doğrulama işlemi, genellikle kullanıcının uygulamada kimliğini doğrulamak için kullanıcı adı ve şifre kombinasyonunu kullandığı bir oturum açma işlemi kapsamında gerçekleştirilir. Kullanıcı kimlik doğrulaması, Google ile Oturum Açma kullanılarak bir uygulamaya dahil edilebilir.
- Uygulama kimlik doğrulaması
- Uygulamanın kimliği, doğrudan uygulamayı çalıştıran kullanıcı adına Google hizmetleri genelinde doğrulanır. 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şmesi veya işlem gerçekleştirmesi gereken izinler ya da "yetki". Yetkilendirme işlemi, uygulamanızda yazdığınız kod üzerinden gerçekleştirilir. Bu kod, kullanıcıyı uygulamanın kendi adına işlem yapmak istediği konusunda bilgilendirir ve izin veriliyorsa Google'dan verilere erişmek veya işlem yapmak için kullanılan bir 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 bir kullanıcı adı/şifre kombinasyonudur. Google Workspace API'leri için yetkilendirme söz konusu olduğunda kimlik bilgisi, genellikle uygulama geliştirici ve kimlik doğrulama sunucusu arasında bilinen benzersiz bir gizli dize gibi bir kimlik biçimidir. Google bu kimlik doğrulama kimlik bilgilerini destekler: API anahtarı, OAuth 2.0 İstemci Kimliği ve hizmet hesapları.
- API anahtarı
- Haritalar API'si kullanılarak sağlanan veriler veya Google Workspace paylaşım ayarlarındaki "Bu bağlantıya sahip olan herkes internet üzerinden Google Workspace dosyası" gibi paylaşılan Google Workspace dosyaları gibi herkese açık verilere erişim isteğinde bulunmak için kullanılan kimlik bilgisi.
- 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 gereklidir.
- İstemci gizli anahtarı
- Yalnızca uygulamanız ve yetkilendirme sunucusu tarafından bilinmesi gereken bir karakter dizesi. İstemci gizli anahtarı, yalnızca yetkili istekte bulunanlara jeton vererek kullanıcının verilerini korur. İstemci sırrınızı hiçbir zaman uygulamanıza dahil etmemelisiniz.
- Hizmet hesabı anahtarları
- Bir Google hizmetinin yetkilendirmesini almak için hizmet hesapları tarafından kullanılır.
- Hizmet hesabı
- Sunucudan sunucuya etkileşimler için kullanılan, bazı verilere erişim veya bazı işlemleri gerçekleştirme işlemi gerçekleştiren yüzsüz uygulama gibi bir 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ılabilirler.
- 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 uygulamasının adını, hangi tür verilere eriştiğini 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 ile uygulamanıza döndürür. Daha fazla bilgi için Uygulamanız için kapsam seçme bölümüne bakın.
- Yetkilendirme sunucusu
Google'ın, bir uygulamanın istenen verilerine ve işlemlerine erişim jetonu kullanarak erişim izni verme sunucusu.
- Yetkilendirme kodu
Bir erişim jetonu almak için kullanılan yetkilendirme sunucusundan gönderilen kod. Yalnızca uygulamanızın türü bir web sunucusu uygulaması veya yüklü bir uygulama olduğunda kod gerekir.
- Erişim jetonu
Google Workspace API'sine erişim sağlayan bir jeton. Tek bir erişim jetonu, kapsamlar olarak bilinen çeşitli derecelerde birden fazla API'ye erişim izni verebilir. 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" sağlamak 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çevesi uygulamanızı temsil eder.
- Ana hesap
Bir kaynağa erişim izni verebilen, kimlik olarak da bilinen bir varlık. Google Workspace API'leri iki tür ana hesabı destekler: kullanıcı hesapları ve hizmet hesapları. Daha fazla bilgi için Ana Hesaplar konusuna bakın.
- 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ığı belirtir. Üç veri türü vardır:
- Kamu alanı verileri
- Bazı Google Haritalar verileri gibi herkesin erişebileceği veriler. Bu verilere genellikle bir 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 bir OAuth 2 istemci kimliği veya hizmet hesabı kullanılarak erişilir.
- Bulut verileri
- Bir Google Cloud projesinin sahip olduğu veriler. Bu veri türüne genellikle bir hizmet hesabı tarafından erişilebilir.
- Kullanıcı rızası
Uygulamanızın kullanıcısının, verilere erişmesi ve kullanıcı adına işlem gerçekleştirmesi için uygulamayı 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üklenen uygulama" olarak da adlandırılır) ve Evrensel Windows Platformu (UWP).
- Hizmet hesabı
Kimlik doğrulaması yapma ve verilere erişim yetkisine sahip olması gereken, insan harici bir kullanıcıyı temsil etmesi amaçlanan özel bir Google hesabı türü. Uygulamanız, kullanıcıların doğrudan dahil olmaması için Google API'lerini çağıracak hizmet hesabının kimliğini varsayar. Tek başına hizmet hesapları kullanıcı verilerine erişmek için kullanılamaz. Verilere genellikle Workspace API'leri kullanılarak erişilir. Ancak bir hizmet hesabı, alan genelinde yetki verme özelliğini uygulayarak kullanıcı verilerine erişebilir. Daha fazla bilgi için Hizmet hesaplarını anlama başlıklı makaleye bakın.
- Alan genelinde yetki verme
Bir uygulamaya, Google Workspace kuruluşundaki kullanıcılar adına kullanıcı verilerine erişme yetkisi verebilen bir yönetim özelliği. Alan genelinde yetki, kullanıcı verilerinde yöneticilerle 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 alan genelinde yetkiyi yalnızca süper yöneticiler etkinleştirebilir. Daha fazla bilgi için Bir hizmet hesabına alan genelinde yetki verme başlıklı makaleye bakın.
Sonraki adım
Uygulamanızın OAuth izin ekranını yapılandırarak kullanıcıların, uygulamanızın verilerine hangi şekilde erişebildiğini anlayıp onaylamalarını sağlayın.