Deploy a Cloud Run service

Check my progress

/ 20

Enable and add policy to IAP

Check my progress

/ 30

Access User Identity Information

Check my progress

/ 25

Use Cryptographic Verification

Check my progress

/ 25

This lab may incorporate AI tools to support your learning.

GSP499

Google Cloud Yönlendirmesiz Öğrenim Laboratuvarı

Genel Bakış

Bu laboratuvarda, Google App Engine ile minimal bir web uygulaması oluşturacak, ardından uygulamaya erişimi kısıtlamak ve kullanıcı kimliği bilgileri sağlamak için Identity-Aware Proxy'yi (IAP) kullanmanın çeşitli yollarını keşfedeceksiniz. Uygulamanız şunları yapabilecek:

  • Bir karşılama sayfası gösterme
  • IAP tarafından sağlanan kullanıcı kimlik bilgilerine erişme
  • Kullanıcı kimlik bilgilerinde adres sahteciliğini önlemek için kriptografik doğrulama kullanma

Neler öğreneceksiniz?

Bu laboratuvarda, aşağıdaki görevleri nasıl gerçekleştireceğinizi öğreneceksiniz:

  • Python kullanarak basit bir Cloud Run hizmeti yazın ve dağıtın.
  • Uygulamanıza erişimi kısıtlamak için IAP'yi etkinleştirin ve devre dışı bırakın.
  • Kullanıcı kimliği bilgilerini IAP'den uygulamanıza taşıyın.
  • Adres sahteciliğine karşı koruma sağlamak için IAP'den gelen bilgileri kriptografik olarak doğrulayın.

Ön koşullar

Python programlama diliyle ilgili temel düzeyde bilginizin olması, öğrenme deneyiminizi olumlu yönde etkileyecektir.

Bu laboratuvar, Cloud Run ve IAP üzerinde odaklanmıştır. Alakalı olmayan kavramlar ve kod blokları işaretlenmiştir ve yalnızca kopyalayıp yapıştırmanız için paylaşılmıştır.

Identity-Aware Proxy'ye giriş

Web uygulamanızdaki kullanıcıların kimliklerini doğrulamak çoğunlukla gereklidir ve genellikle uygulamanızda özel programlama gerektirir. Google Cloud uygulamalarında ise bu sorumlulukları Identity-Aware Proxy hizmetine bırakabilirsiniz. Yalnızca seçili kullanıcıların erişimini kısıtlamanız gerekiyorsa uygulamada herhangi bir değişiklik yapılmasına gerek yoktur. Uygulamanın, kullanıcı kimliğini bilmesi gerekiyorsa (örneğin kullanıcı tercihlerini sunucu tarafında tutmak için) Identity-Aware Proxy bunu en az miktarda uygulama kodu ile sağlayabilir.

Identity-Aware Proxy nedir?

Identity-Aware Proxy (IAP); uygulamanıza gönderilen web isteklerini karşılayan, Google Kimlik Hizmeti'ni kullanarak istekte bulunan kullanıcıların kimliğini doğrulayan ve yalnızca yetkilendirdiğiniz kullanıcılardan gelen isteklere izin veren bir Google Cloud hizmetidir. Ayrıca istek başlıklarını, kimliği doğrulanmış kullanıcı hakkında bilgi içerecek şekilde değiştirebilir.

Kurulum ve şartlar

Laboratuvarı Başlat düğmesini tıklamadan önce

Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Start Lab'i (Laboratuvarı başlat) tıkladığınızda başlayan zamanlayıcı, Google Cloud kaynaklarının ne süreyle kullanımınıza açık durumda kalacağını gösterir.

Bu uygulamalı laboratuvarı kullanarak, laboratuvar etkinliklerini simülasyon veya demo ortamı yerine gerçek bir bulut ortamında gerçekleştirebilirsiniz. Bunu yapabilmeniz için size yeni, geçici kimlik bilgileri verilir. Bu kimlik bilgilerini laboratuvar süresince Google Cloud'da oturum açmak ve Google Cloud'a erişmek için kullanabilirsiniz.

Bu laboratuvarı tamamlamak için gerekenler:

  • Standart bir internet tarayıcısına erişim (Chrome Tarayıcı önerilir)
Not: Bu laboratuvarı çalıştırmak için tarayıcıyı gizli modda (önerilen) veya gizli tarama penceresinde açın. Aksi takdirde, kişisel hesabınızla öğrenci hesabınız arasında oluşabilecek çakışmalar nedeniyle kişisel hesabınızdan ek ücret alınabilir.
  • Laboratuvarı tamamlamak için yeterli süre (Laboratuvarlar başlatıldıktan sonra duraklatılamaz.)
Not: Bu laboratuvar için yalnızca öğrenci hesabını kullanın. Farklı bir Google Cloud hesabı kullanırsanız bu hesaptan ödeme alınabilir.

Laboratuvarınızı başlatma ve Google Cloud konsolunda oturum açma

  1. Start Lab (Laboratuvarı Başlat) düğmesini tıklayın. Laboratuvar için ödeme yapmanız gerekiyorsa ödeme yöntemini seçebileceğiniz bir iletişim kutusu açılır. Sağdaki Lab setup and access (Laboratuvar kurulumu ve erişimi) panelinde şunlar yer alır:

    • Open Google Cloud console (Google Cloud konsolunu aç) düğmesi
    • Bu laboratuvarda kullanmanız gereken geçici kimlik bilgileri (kullanıcı adı ve şifre)
    • Bu laboratuvarda ilerlemek için gerekebilecek diğer bilgiler

    Laboratuvar zamanlayıcısının sayfanın üst kısmına yakın bir yerde bulunduğunu ve kalan süreyi gösterdiğini unutmayın.

  2. Open Google Cloud console'u (Google Cloud konsolunu aç) tıklayın (veya Chrome Tarayıcı'yı kullanıyorsanız sağ tıklayıp Bağlantıyı gizli pencerede aç'ı seçin).

    Laboratuvar, kaynakları çalıştırır ve sonra "Oturum açın" sayfasını gösteren başka bir sekme açar.

    İpucu: Sekmeleri ayrı pencerelerde, yan yana açın.

    Not: Bir hesap seçin iletişim kutusunu görürseniz Başka bir hesap kullan'ı tıklayın.
  3. Gerekirse aşağıdaki kullanıcı adını kopyalayıp Oturum açın iletişim kutusuna yapıştırın.

    {{{user_0.username | "Username"}}}

    Kullanıcı adını Lab setup and access (Laboratuvar kurulumu ve erişimi) panelinde de bulabilirsiniz.

  4. Next'i (Sonraki) tıklayın.

  5. Aşağıdaki şifreyi kopyalayıp Welcome (Hoş geldiniz) iletişim kutusuna yapıştırın.

    {{{user_0.password | "Password"}}}

    Şifreyi Lab setup and access (Laboratuvar kurulumu ve erişimi) panelinde de bulabilirsiniz.

  6. Next'i (Sonraki) tıklayın.

    Önemli: Laboratuvarın sizinle paylaştığı giriş bilgilerini kullanmanız gerekir. Google Cloud hesabınızın kimlik bilgilerini kullanmayın. Not: Bu laboratuvarda kendi Google Cloud hesabınızı kullanabilmek için ek ücret ödemeniz gerekebilir.
  7. Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:

    • Hüküm ve koşulları kabul edin.
    • Geçici bir hesap kullandığınızdan, kurtarma seçenekleri veya iki faktörlü kimlik doğrulama eklemeyin.
    • Ücretsiz denemelere kaydolmayın.

Birkaç saniye sonra Google Cloud konsolu bu sekmede açılır.

Not: Google Cloud ürün ve hizmetlerine erişmek için gezinme menüsünü tıklayın veya Search (Arama) alanına hizmetin veya ürünün adını yazın. Gezinme menüsü simgesi ve arama alanı

Cloud Shell'i etkinleştirme

Cloud Shell, çok sayıda geliştirme aracı içeren bir sanal makinedir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Cloud Shell, Google Cloud kaynaklarınıza komut satırı erişimi sağlar.

  1. Google Cloud konsolunun üst kısmından Activate Cloud Shell (Cloud Shell'i etkinleştir) Cloud Shell'i etkinleştir simgesi simgesini tıklayın.

  2. Aşağıdaki pencereleri tıklayın:

    • Cloud Shell bilgi penceresinde devam edin.
    • Google Cloud API çağrıları yapmak için Cloud Shell'e kimlik bilgilerinizi kullanma yetkisi verin.

Bağlandığınızda kimliğiniz zaten doğrulanmıştır. Proje ise Project_ID'nize () göre ayarlanmıştır. Çıkış, bu oturum için Project_ID'yi tanımlayan bir satır içerir:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud, Google Cloud'un komut satırı aracıdır. Cloud Shell'e önceden yüklenmiştir ve sekmeyle tamamlamayı destekler.

  1. (İsteğe bağlı) Etkin hesap adını şu komutla listeleyebilirsiniz:
gcloud auth list
  1. Authorize'ı (Yetkilendir) tıklayın.

Çıkış:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (İsteğe bağlı) Proje kimliğini şu komutla listeleyebilirsiniz:
gcloud config list project

Çıkış:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Not: gcloud ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'a genel bakış rehberinde bulabilirsiniz.

Kodu indirme

Komut yazabilmek için Cloud Shell'de komut satırı alanını tıklayın.

Kodu, herkese açık depolama paketinden indirin ve ardından kod klasörüne geçiş yapın:

gcloud storage cp gs://{{{project_0.project_id}}}-bucket/user-authentication-with-iap.zip . unzip user-authentication-with-iap.zip cd user-authentication-with-iap

Bu klasör, bu laboratuvarın her adımı için bir alt klasör içerir. Her bir adımı gerçekleştirmek üzere doğru klasöre geçeceksiniz.

1. görev: Uygulamanızı dağıtma ve IAP ile koruma

Bu, Python'da yazılmış ve yalnızca "Hello, World" (Merhaba Dünya) karşılama sayfasını görüntüleyen bir Cloud Run hizmetidir. Uygulamayı dağıtıp test edeceğiz, ardından IAP kullanarak uygulamaya erişimi kısıtlayacağız.

Uygulama kodunu inceleme

  • Ana proje klasöründen, bu adım için gerekli kodu içeren 1-HelloWorld alt klasörüne geçin.
cd 1-HelloWorld

Uygulama kodu, main.py dosyası içindedir. Flask web çerçevesini kullanarak web isteklerine bir şablonun içeriğiyle yanıt verir. Şablon dosyası templates/index.html içindedir ve bu adım için yalnızca basit HTML içerir. İkinci bir şablon dosyası, templates/privacy.html içinde son derece temel bir örnek gizlilik politikası içerir.

Başka bir dosya da mevcuttur: requirements.txt, uygulamanın kullandığı tüm varsayılan olmayan Python kitaplıklarını listeler.

Aşağıda gösterildiği şekilde cat komutunu kullanarak kabuktaki her dosyayı listeleyebilirsiniz:

cat main.py

Alternatif olarak, Cloud Shell araç çubuğundaki Open Editor (Düzenleyiciyi Aç) simgesine tıklayarak Cloud Shell kod düzenleyiciyi başlatabilir ve kodu bu şekilde inceleyebilirsiniz.

Bu adım için herhangi bir dosyayı değiştirmenize gerek yoktur.

Cloud Run'a dağıt

  1. Uygulamayı Cloud Run'a dağıtın:
gcloud run deploy user-auth-lab --source . --allow-unauthenticated --region={{{ project_0.default_region | "REGION" }}}
  1. API'yi etkinleştirmeniz istenirse evet için Y yazın. Devam etmek için Artifact Registry deposu oluşturmanız istenirse evet için Y yazın.

Dağıtım, birkaç dakika içinde tamamlanacaktır. Hizmet URL'sini içeren bir mesaj görürsünüz.

  1. Web sayfasını görüntülemek için gösterilen Hizmet URL'sini yeni bir tarayıcı sekmesinde açın. Erişim, henüz kısıtlanmamıştır.

IAP Hello World sekmeli sayfası

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Cloud Run hizmetini dağıtın.

IAP ile erişimi kısıtlama

  1. Google Cloud Console'un Gezinme menüsünde (Gezinme menüsü simgesi) Security (Güvenlik) > Identity-Aware Proxy'yi tıklayın.

  2. Enable API'ı (API'yi etkinleştir) tıklayın.

  3. Go to Identity Aware Proxy'yi (Identity Aware Proxy'ye git) tıklayın.

  4. IAP'yi etkinleştirmek için user-auth-lab'in yanındaki IAP sütununda bulunan açma/kapatma düğmesini tıklayın.

  5. Onaylamak için Etkinleştir'i tıklayın.

IAP'nin etkin olup olmadığını test etme

  1. Yeni bir tarayıcı sekmesi açın ve uygulamanızın URL'sine gidin. Google ile Oturum Aç sayfası açılır.

  2. Konsolda oturum açmak için kullandığınız öğrenci hesabı kimlik bilgileriyle oturum açın.

    Erişiminizi reddeden bir ekran ile karşılaşacaksınız. Uygulamanızı IAP ile başarıyla korudunuz ancak henüz hiçbir kullanıcı hesabına yetki vermediniz.

  3. Konsoldaki Identity-Aware Proxy sayfasına geri dönün.

  4. Sağ tarafta ayrıntılar kenar çubuğunu açmak için user-auth-lab Cloud Run hizmetinin yanındaki onay kutusunu işaretleyin.

  5. Ana Hesap Ekle'yi tıklayın.

  6. Yeni ana hesaplar bölümünde öğrenci e-posta adresinizi girin.

  7. Rol seç bölümünde Cloud IAP > IAP Güvenli Web Uygulaması Kullanıcısı'nı seçin.

  8. Kaydet'i tıklayın. Sayfanın altında "Politika Güncellendi" mesajı görünecektir.

  9. Uygulamanıza geri dönün ve sayfayı yeniden yükleyin. Yetkili bir hesapla giriş yaptığınız için artık web uygulamanızı görüyor olmanız gerekir.

Not: Rol değişikliği yaklaşık bir dakika içinde geçerlilik kazanır. Sayfada hala "Erişiminiz yok" mesajını görüyorsanız bir dakika bekleyip sayfayı yenilemeyi deneyin.

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. IAP'yi etkinleştirme ve politika ekleme

Erişim reddedildi sayfasını görmeye devam ediyorsanız IAP giriş çerezini temizleyin:

  1. Hizmet URL'nizin sonuna /_gcp_iap/clear_login_cookie ekleyin (ör. https://user-auth-lab-[rastgele-karma].run.app/_gcp_iap/clear_login_cookie) ve açın.
  2. Yeni Google ile oturum açın sayfası göründüğünde Başka bir hesap kullanın'ı tıklayın ve öğrenci kimlik bilgilerinizi yeniden girin.

2. görev: Kullanıcı kimlik bilgilerine erişme

Bir uygulama IAP ile korunduğunda IAP'nin geçirilen web isteği başlıklarında sağladığı kimlik bilgileri kullanılabilir. Bu adımda uygulama, giriş yapan kullanıcının e-posta adresini ve Google Kimlik Hizmeti tarafından o kullanıcıya kalıcı olarak atanan benzersiz kullanıcı kimliğini alacaktır. Bu veriler, karşılama sayfasında kullanıcıya gösterilecektir.

  • Cloud Shell'de bu adımla ilgili klasöre geçin:
cd ~/user-authentication-with-iap/2-HelloUser

Cloud Run'a dağıt

  1. Uygulamayı Cloud Run'a dağıtın:
gcloud run deploy user-auth-lab --source . --region={{{ project_0.default_region | "REGION" }}}
  1. Devam etmek isteyip istemediğiniz sorulduğunda Evet anlamında Y tuşuna basın.

Dağıtım birkaç dakika içinde tamamlanacaktır. Beklerken uygulama dosyalarını aşağıda açıklanan şekilde inceleyebilirsiniz.

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Kullanıcı Kimlik Bilgilerine Erişme

Uygulama dosyalarını inceleme

  1. cat komutunu kullanarak ana uygulama dosyasını Cloud Shell'de görüntüleyin:
cat main.py
  1. Kullanıcı verilerinin nasıl görüntülendiğini görmek için şablon dosyasını inceleyin:
cat templates/index.html

Bu klasör, daha önce dağıtmış olduğunuz 1-HelloWorld uygulamasında görünenlerle aynı dosya setini içerir ancak dosyalardan ikisi değiştirilmiştir: main.py ve templates/index.html. Program, IAP'nin istek başlıklarında sağladığı kullanıcı bilgilerini alacak şekilde değiştirilmiştir ve şablonda artık bu veriler bulunmaktadır.

main.py'de, IAP tarafından sağlanan kimlik verilerini alan iki satır bulunur:

user_email = request.headers.get('X-Goog-Authenticated-User-Email') user_id = request.headers.get('X-Goog-Authenticated-User-ID')

X-Goog-Authenticated-User- başlıkları IAP tarafından sağlanır ve adlar büyük/küçük harflere duyarlı değildir. Yani tercihe bağlı olarak tamamı küçük veya büyük harflerle girilebilir. Render_template ifadesi, görüntülenebilmeleri için artık bu değerleri içerir:

page = render_template('index.html', email=user_email, id=user_id)

index.html şablonu, adları çift küme parantezi içine alarak bu değerleri gösterebilir:

Hello, {{ email }}! Your persistent ID is {{ id }}.

Gördüğünüz üzere sağlanan veriler, accounts.google.com ile başlar, bu da bilginin nereden geldiğini gösterir. Uygulamanız, ham değerleri almak için isterseniz iki nokta dahil olmak üzere her şeyi kaldırabilir.

Güncellenmiş uygulamayı test etme

  1. Uygulamanızın URL'sini alın:
gcloud run services describe user-auth-lab --region={{{ project_0.default_region | "REGION" }}} --format='value(status.url)'
  1. Bu URL'yi yeni bir tarayıcı sekmesinde açın.
  2. E-posta adresinizin ve kalıcı kimliğinizin gösterildiğini görmek için gerekirse sayfayı yenileyin.

IAP'yi devre dışı bırakma

IAP devre dışı bırakılırsa veya atlanırsa bu uygulamaya ne olur? Görmek için IAP'yi kapatın.

  1. Bulut konsolu penceresinde, Gezinme menüsü'nde Security (Güvenlik) > Identity-Aware Proxy'yi tıklayın.
  2. Cloud Run hizmetinizin (ör. user-auth-lab) yanındaki IAP açma/kapatma düğmesini tıklayarak IAP'yi devre dışı bırakın.
  3. Herkese açık erişime izin ver'i tıklayın.
  4. Uygulama web sayfasını yenileyin. Herhangi bir kullanıcı bilgisi olmadan, aynı sayfayı görüyor olmanız gerekir.

Uygulama artık korunmuyor olduğundan, bir kullanıcı IAP'den geçmiş gibi görünen bir web isteği gönderebilir. Örneğin, Cloud Shell'den aşağıdaki curl komutunu çalıştırın (<your-url-here> kodunu, uygulamanızın URL'siyle değiştirin):

curl -X GET YOUR_URL -H "X-Goog-Authenticated-User-Email: totally fake email"

Web sayfası komut satırında görüntülenecek ve sahte e-posta adresi gösterilecektir:

<!doctype html> <html> <head> <title>IAP Hello User</title> </head> <body> <h1>Hello World</h1> <p> Hello, totally fake email! Your persistent ID is None. </p> <p> This is step 2 of the User Authentication with IAP</em> codelab. </p> </body> </html>

Uygulamanın IAP'nin devre dışı bırakıldığını veya atlandığını bilmesi mümkün değildir. Bunun potansiyel bir risk olduğu durumlar için Kriptografik Doğrulama bir çözüm olabilir.

3. görev: Kriptografik doğrulama kullanma

IAP'nin kapatılma veya atlanma riski söz konusuysa uygulamanız, aldığı kimlik bilgilerinin geçerli olup olmadığını kontrol edebilir. Bu, IAP tarafından eklenen, X-Goog-IAP-JWT-Assertion şeklinde üçüncü bir web isteği başlığını kullanır. Başlığın değeri, kullanıcı kimlik verilerini de içeren, kriptografik olarak imzalanmış bir nesnedir. Uygulamanız, dijital imzayı doğrulayabilir ve bu nesnede sağlanan verileri kullanarak bunların herhangi bir değişiklik yapılmadan IAP tarafından sağlandığından emin olabilir.

Dijital imza doğrulaması, en son Google ortak anahtar kümesini almak da dahil olmak üzere birkaç ekstra adım gerektirir. IAP'nin birileri tarafından devre dışı bırakılması veya atlanması riskini göz önünde bulundurarak ve uygulamanın hassasiyetine bağlı olarak uygulamanızın bu ekstra adımlara ihtiyaç duyup duymadığına karar verebilirsiniz.

  • Cloud Shell'de bu adımla ilgili klasöre geçin:
cd ~/user-authentication-with-iap/3-HelloVerifiedUser

Cloud Run'a dağıt

  1. IAP ile korunan Cloud Run hizmetiniz için Signed Header JWT Audience (İmzalı Başlık JWT Kitlesi) istemci kimliğini bulun:

    • Cloud Console'da Identity-Aware Proxy sayfasına gidin.

    • Listede user-auth-lab adlı kullanıcıyı bulun.

    • Not: En sağdaki İşlemler sütununu görmek için kaynaklar tablosunu sağa kaydırmanız (tablonun altındaki yatay kaydırma çubuğunu kullanarak) gerekebilir.

    • Actions (İşlemler) bölümünde, kaynağın yanındaki üç dikey nokta düğmesini tıklayın ve Get JWT audience code'u (JWT kitle kodunu al) seçin.

    • Görüntülenen modalda Client ID (Müşteri Kimliği) dizesini kopyalayıp bir metin düzenleyiciye yapıştırın ve Ok (Tamam) seçeneğini belirleyin.

  2. Uygulamayı Cloud Run'a dağıtın ve IAP_AUDIENCE ortam değişkenini kopyaladığınız istemci kimliği değeriyle ayarlayın:

gcloud run deploy user-auth-lab --source . --set-env-vars IAP_AUDIENCE="YOUR_CLIENT_ID" --region={{{ project_0.default_region | "REGION" }}}
  1. Devam etmek isteyip istemediğiniz sorulduğunda Evet anlamında Y tuşuna basın.

Dağıtım birkaç dakika içinde tamamlanacaktır. Beklerken uygulama dosyalarını aşağıda açıklanan şekilde inceleyebilirsiniz.

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Kriptografik Doğrulama Kullanma

Uygulama dosyalarını inceleme

  1. cat komutunu kullanarak Cloud Shell'de yeni kimlik doğrulama yardımcı dosyasını görüntüleyin:
cat auth.py
  1. Doğrulanmış kullanıcı yönteminin nasıl entegre edildiğini görmek için ana uygulama dosyasını görüntüleyin:
cat main.py

Bu klasör, 2-HelloUser'da görünenlerle aynı dosya setini içerir ancak iki dosya değiştirilmiş ve bir yeni dosya eklenmiştir. Yeni dosya auth.py'dir ve kriptografik olarak imzalanmış kimlik bilgilerini almak ve doğrulamak için bir user() yöntemi sağlar. Değiştirilmiş dosyalar ise main.py ve templates/index.html'dir, bunlar da artık söz konusu yöntemin sonuçlarını kullanır. Son dağıtımda bulunan doğrulanmamış başlıklar da karşılaştırma amacıyla gösterilir.

  • Yeni işlev, birincil olarak user() işlevi içindedir:
def user(): assertion = request.headers.get('X-Goog-IAP-JWT-Assertion') if assertion is None: return None, None info = jwt.decode( assertion, keys(), algorithms=['ES256'], audience=audience() ) return info['email'], info['sub']

assertion, belirtilen istek başlığında sağlanan, kriptografik olarak imzalanmış veridir. Kod, bu veriyi doğrulamak ve kodunu çözmek için bir kitaplıktan yararlanır. Doğrulama işleminde, imzalanan verileri kontrol etmek ve verilerin hangi kitleye yönelik hazırlandığını (esasen korunmakta olan Google Cloud projesi) bilmek için Google'ın sağladığı ortak anahtarlar kullanılır. Yardımcı fonksiyonlar keys() ve audience(), bu değerleri toplar ve döndürür.

İmzalanmış nesnede ihtiyacımız olan iki veri parçası vardır: doğrulanmış e-posta adresi ve benzersiz kimlik değeri (abone için sub içinde sağlanmış, standart alan).

Böylece 3. adım tamamlanmış olur.

Kriptografik doğrulamayı test etme

Dağıtım hazır olduğunda uygulamanızın URL'sini şu komutla alabilirsiniz:

gcloud run services describe user-auth-lab --region={{{ project_0.default_region | "REGION" }}} --format='value(status.url)'
  1. Bu URL'yi yeni bir tarayıcı sekmesinde açın.
  2. Daha önce IAP'yi devre dışı bıraktığınızı, bu nedenle uygulamanın hiçbir IAP verisi sağlamadığını unutmayın. E-posta ve kimlik için Yok seçeneğinin gösterildiği bir sayfa gördüğünüzü doğrulayın.
  3. Konsolda Identity-Aware Proxy sayfasına gidin.
  4. Cloud Run hizmetinizin yanındaki IAP açma/kapatma düğmesini tıklayarak IAP'yi yeniden etkinleştirin.
  5. Onaylamak için Etkinleştir'i tıklayın.
  6. Cloud Shell'de aşağıdaki komutu çalıştırarak IAP hizmet aracısına Cloud Run hizmetinizi çağırma izni verin:
gcloud run services add-iam-policy-binding user-auth-lab \ --member="serviceAccount:service-$(gcloud projects describe {{{project_0.project_id}}} --format='value(projectNumber)')@gcp-sa-iap.iam.gserviceaccount.com" \ --role="roles/run.invoker" \ --region={{{ project_0.default_region | "REGION" }}}
  1. Uygulama sayfasını yenileyin. Şifrelenmiş e-posta ve kullanıcı kimliğinin artık doğru şekilde görüntülendiğini ve doğrulandığını kontrol edin.

Doğrulanan yöntemle sağlanan e-posta adresinde accounts.google.com: ön ekinin bulunmadığına dikkat edin.

IAP'nin kapatılması veya atlanması durumunda, doğrulanan veriler eksik veya geçersiz olur, çünkü Google'ın özel anahtarlarının sahibi tarafından oluşturulmadıkça geçerli bir imzaya sahip olmaları mümkün değildir.

Tebrikler!

Cloud Run hizmetini dağıttınız. İlk olarak, uygulamaya erişimi yalnızca seçtiğiniz kullanıcılarla sınırlandırdınız. Ardından, IAP'nin uygulamanıza erişim izni verdiği kullanıcıların kimliklerini aldınız ve görüntülediniz, ayrıca IAP'nin devre dışı bırakılması veya atlanması durumunda bu bilgilerde nasıl adres sahteciliği yapılabileceğini gördünüz. Son olarak, kullanıcı kimliğinin kriptografik olarak imzalanmış, adres sahteciliği için kullanılması mümkün olmayan onaylarını doğruladınız.

Sonraki adımlar / Daha fazla bilgi

Google Cloud eğitimi ve sertifikası

...Google Cloud teknolojilerinden en iyi şekilde yararlanmanıza yardımcı olur. Derslerimizde teknik becerilere odaklanırken en iyi uygulamalara da yer veriyoruz. Gerekli yetkinlik seviyesine hızlıca ulaşmanız ve öğrenim maceranızı sürdürebilmeniz için sizlere yardımcı olmayı amaçlıyoruz. Temel kavramlardan ileri seviyeye kadar farklı eğitim programlarımız mevcut. Ayrıca, yoğun gündeminize uyması için talep üzerine sağlanan, canlı ve sanal eğitim alternatiflerimiz de var. Sertifikasyonlar ise Google Cloud teknolojilerindeki becerilerinizi ve uzmanlığınızı doğrulamanıza ve kanıtlamanıza yardımcı oluyor.

Kılavuzun Son Güncellenme Tarihi: 28 Mayıs 2026

Laboratuvarın Son Test Edilme Tarihi: 28 Mayıs 2026

Telif Hakkı 2026 Google LLC. Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.

Complete this quick step to start your lab.