Kimlik doğrulama ve yetkilendirme hakkında bilgi

Kimlik doğrulama ve yetkilendirme, sırasıyla kimliği doğrulamak ve kaynaklara erişmek için kullanılan mekanizmalardır. Bu dokümanda, uygulamanızda kimlik doğrulama ve yetkilendirmeyi uygulamadan önce bilmeniz gereken temel terimler açıklanmaktadır.

Kimlik doğrulama, isteği kimin yaptığını tanımlar. Yetkilendirme, istek sahibinin hangi kaynaklara erişebileceğini ve sahip olduğu erişim düzeyini tanımlar. Kimlik doğrulama, yetkilendirmenin ön koşuludur. Öncelikle istek sahibinin 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 geldiğinizde resepsiyon görevlisi rezervasyonunuzu doğrulamak için kimliğinizi ister. Kimliğiniz, otelde kimliğinizi doğrular. Resepsiyon görevlisi size otel anahtarını verir. Bu anahtar, otel odanızla, spor salonuyla ve iş merkeziyle gibi belirli kaynaklara erişmenizi sağlar. Otel anahtarı, bu kaynaklara erişmeniz için sizi yetkilendirir.

İşleme genel bakış

Aşağıdaki şemada, Google Workspace API'leri için kimlik doğrulama ve yetkilendirmenin üst düzey adımları gösterilmektedir:

Kimlik doğrulama ve yetkilendirme uygulama sürecinin üst düzey adımları
Şekil 1. Kimlik doğrulama ve yetkilendirme uygulamayla ilgili üst düzey adımlar
  1. Google Cloud projenizi ve uygulamanızı yapılandırın: Geliştirme sırasında uygulamanızı Google Cloud Console'a kaydedersiniz. Bu sırada, uygulamanızın kimliğini API anahtarı, son kullanıcı kimliği veya hizmet hesabı kimliği ile doğrulamak için yetkilendirme kapsamlarını ve erişim kimlik bilgilerini tanımlarsınız.

  2. Erişim için uygulamanızın kimliğini doğrulama: Uygulamanız çalıştırıldığında 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.

  3. 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 erişim ister.

  4. 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.

  5. Kaynaklar için onaylanmış istek gönderme: Kullanıcı erişim kapsamlarına izin verirse uygulamanız, kimlik bilgilerini ve kullanıcı tarafından onaylanan erişim kapsamlarını bir istek halinde paketler. Erişim jetonu almak için istek Google yetkilendirme sunucusuna gönderilir.

  6. 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 jetonla sınırlanan tüm özellikleri devre dışı bırakır.

  7. İstenen kaynaklara erişim: Uygulamanız, ilgili API'leri çağırmak ve kaynaklara erişmek için Google'dan gelen erişim jetonunu kullanır.

  8. Yenileme jetonu alma (isteğe bağlı): Uygulamanızın tek bir erişim jetonunun kullanım süresinin ötesinde bir Google API'ye erişmesi gerekiyorsa yenileme jetonu alabilir.

  9. Daha fazla kaynak isteğinde bulunun: 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 istekle sonuçlanır (3-6. adımlar).

Önemli terminoloji

Kimlik doğrulama ve yetkilendirmeyle ilgili terimlerin listesi aşağıda verilmiştir:

Kimlik doğrulama

Kullanıcı veya kullanıcı adına hareket eden bir uygulama olabilecek bir temsilcinin kim olduğunu doğrulama işlemi. Google Workspace uygulamaları yazarken aşağıdaki kimlik doğrulama türlerini göz önünde bulundurmanız gerekir:

Kullanıcı kimlik doğrulaması
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 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 özelliği kullanılarak bir uygulamaya dahil edilebilir.
Uygulama kimlik doğrulaması
Uygulamayı çalıştıran kullanıcı adına doğrudan Google hizmetlerinde kimlik doğrulama işlemi. Uygulama kimlik doğrulaması genellikle uygulamanızın kodunda önceden oluşturulmuş kimlik bilgileri kullanılarak gerçekleştirilir.
Yetkilendirme

Temel kullanıcının verilere erişmek veya işlem yapmak 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, kullanıcıyı uygulamanın kendi adına işlem yapmak istediğini konusunda bilgilendirir ve izin verilirse verilere erişmek veya işlem yapmak için 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 tanımlama şekli. 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 bilgileri genellikle yalnızca uygulama geliştirici ile kimlik doğrulama sunucusu arasında bilinen benzersiz bir gizli dize gibi bir kimlik tanımlama biçimidir. Google, API anahtarı, OAuth 2.0 istemci kimliği ve hizmet hesapları gibi kimlik doğrulama kimlik bilgilerini destekler.

API anahtarı
Haritalar API'si kullanılarak sağlanan veriler veya Google Workspace paylaşım ayarlarında "İnternet'te bu bağlantıya sahip olan herkes" ayarı kullanılarak 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 gerekir.
İstemci gizli anahtarı
Yalnızca uygulamanız ve yetkilendirme sunucusu tarafından bilinmesi gereken bir karakter dizesi. İstemci gizlisi, yalnızca yetkili istek sahiplerine jeton vererek kullanıcının verilerini korur. Şifrelenmemiş istemci gizli anahtarınızı hiçbir zaman uygulamanıza dahil etmemeniz gerekir. İ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 yetkilendirme almak için kullanılır.
Hizmet hesabı
Sunucular arası etkileşimler için kullanılan kimlik bilgileri (ör. bazı verilere erişmek veya bazı işlemleri gerçekleştirmek için işlem olarak çalışan kimliği olmayan bir uygulama). 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 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şimin 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 kapsam seçme başlıklı makaleyi inceleyin.

Yetkilendirme sunucusu

Google'ın, bir uygulamanın istenen verilerine ve işlemlerine erişim jetonu kullanarak erişim izni veren sunucusu.

Yetkilendirme kodu

Erişim jetonu almak için yetkilendirme sunucusundan gönderilen bir kod. Kod yalnızca uygulama türünüz web sunucusu uygulaması veya yüklü uygulama olduğunda gereklidir.

Erişim jetonu

Bir Google Workspace API'sine erişim izni veren jeton. Tek bir erişim jetonu, birden fazla API'ye kapsam olarak bilinen farklı erişim dereceleri 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, kendisine "güvenli yetki verilmiş erişim" sağlamak veya uygulamanın 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çevesini uygulama şeklinizi temsil eder.

Müdür

Bir kaynağa erişim izni verilebilecek kimlik olarak da bilinen varlık. Google Workspace API'leri iki tür asıl öğeyi destekler: kullanıcı hesapları ve hizmet hesapları. Daha fazla bilgi için yöneticiler bölümüne 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 öğeyi ifade eder. Üç veri türü vardır:

Herkese açık alan verileri
Herkesin erişimine açık veriler (ör. bazı Google Haritalar verileri). 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, uygulamanın verilere erişmesi ve kullanıcı adına işlem yapması 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: Web uygulaması (JavaScript), Android, Chrome uygulaması, iOS, TV'ler ve Sınırlı Giriş cihazları, Masaüstü uygulaması ("yüklü uygulama" olarak da bilinir) ve Evrensel Windows Platformu (UWP).

Hizmet hesabı

Kimliğini doğrulaması ve verilere erişmek için yetkilendirilmesi gereken, insan olmayan bir kullanıcıyı temsil etmek için tasarlanmış ö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ı, genellikle Workspace API'leri kullanılarak erişilen kullanıcı verilerine erişmek için tek başına kullanılamaz. Ancak bir hizmet hesabı, alan genelinde yetki verme işlemini uygulayarak kullanıcı verilerine erişebilir. Daha fazla bilgi için Hizmet hesaplarını anlama başlıklı makaleyi inceleyin.

Alan genelinde yetki verme

Bir uygulamanın, Google Workspace kuruluşundaki kullanıcılar adına kullanıcı verilerine erişmesi için yetki verebilecek bir yönetim özelliği. Alan genelinde yetki, kullanıcı verilerinde yöneticiyle ilgili görevleri gerçekleştirmek için kullanılabilir. Google Workspace yöneticileri, yetkiyi bu şekilde devretmek için OAuth 2.0 ile hizmet hesaplarını kullanır. Bu özelliğin gücü nedeniyle, alan genelinde yetkiyi devretme özelliğini yalnızca süper yöneticiler etkinleştirebilir. Daha fazla bilgi için Alan genelinde yetkiyi bir hizmet hesabına verme başlıklı makaleyi inceleyin.

Sonraki adım

Kullanıcıların, uygulamanızın verilerine hangi erişime sahip olduğunu anlayıp onaylamasını sağlamak için uygulamanızın OAuth izin ekranını yapılandırın.