Mengautentikasi pengguna

Untuk mengautentikasi pengguna di aplikasi Google Cloud, Google menawarkan metode autentikasi pengguna berikut:

Layanan Autentikasi Ringkasan
Identity Platform (direkomendasikan) Mengautentikasi pengguna menggunakan sandi, nomor telepon, penyedia identitas gabungan yang populer seperti Google, Facebook, Twitter, dan penyedia apa pun yang mendukung protokol SAML atau OpenID Connect. Solusi ini menawarkan berbagai fitur perusahaan termasuk autentikasi multi-faktor, dukungan OIDC dan SSO SAML, multi-tenancy, SLA 99,95%, dan banyak lagi.

Metode yang direkomendasikan saat memulai project baru, sehingga Anda dapat menggunakan kemampuan Identity Platform serta fitur lama dari Firebase Authentication.
Firebase Authentication Mengautentikasi pengguna dengan menggunakan opsi autentikasi yang berbeda, termasuk dengan Google, Facebook, dan Twitter. Firebase Authentication mendukung jumlah pengguna terbesar dengan mempertahankan jumlah kode terkecil.

Metode yang direkomendasikan untuk men-deploy solusi dengan langkah yang paling sederhana.
Google Identity Services untuk Web Mengautentikasi pengguna dengan menggunakan akun pengguna Google dari Gmail dan Google Workspace.

Metode yang direkomendasikan untuk mendukung akun khusus Google, atau mendukung Akun Google di sistem login yang sudah ada.
OAuth 2.0 dan OpenID Connect Memberikan identitas gabungan dari penyedia pilihan Anda, termasuk Google.

Metode yang direkomendasikan jika Anda ingin membuat protokol autentikasi pengguna sendiri.
Identity-Aware Proxy (IAP) Menyediakan autentikasi dengan menambahkan lapisan verifikasi Identity and Access Management (IAM) di atas aplikasi App Engine Anda. IAP memungkinkan Anda mengontrol akses ke layanan App Engine, sebelum permintaan mencapai resource aplikasi. Hal ini membuat IAP tidak cocok sebagai perlindungan dari aktivitas dalam project Google Cloud yang sama.

Metode yang direkomendasikan jika Anda ingin menggunakan Akun Google dan IAM untuk mengontrol akses pengguna.
Users API Mengautentikasi pengguna yang menggunakan akun Google dan Google Workspace. Layanan Pengguna App Engine hanya dapat diakses melalui paket layanan lama.

Identity Platform

Identity Platform adalah platform pengelolaan akses dan identitas pelanggan (CIAM) yang memungkinkan organisasi menyesuaikan identitas dan autentikasi untuk pendaftaran dan login pengguna di aplikasi mereka. Identity Platform mendukung beberapa metode autentikasi (SAML, OIDC, email/sandi, media sosial, ponsel, dan autentikasi kustom) untuk memberikan opsi integrasi yang fleksibel bagi semua solusi identitas. Identity Platform dibuat pada skala, performa, jaringan, dan keamanan global Google Cloud, serta dilengkapi dengan dukungan tingkat perusahaan dan SLA untuk memenuhi permintaan hampir semua aplikasi atau layanan.

Solusi ini paling cocok bagi sebagian besar pengguna yang menginginkan opsi autentikasi yang fleksibel berdasarkan fitur tingkat perusahaan dan SLA yang andal.

Identity Platform menawarkan sistem identitas penggunanya sendiri. Jika sudah menggunakan Google Workspace untuk domain Anda dan ingin mengautentikasi pengguna berdasarkan login tersebut, Anda harus menggunakan Layanan Identitas Google untuk Web.

Untuk mempelajari cara mengintegrasikan Identity Platform dengan App Engine, coba panduan cara membuat pengguna login di App Engine.

Firebase Authentication

Firebase Authentication menyediakan layanan identitas dan autentikasi drop-in yang dapat disesuaikan untuk pendaftaran dan login pengguna. Serupa dengan Identity Platform, Firebase Authentication mendukung beberapa metode autentikasi (SAML, OIDC, email/sandi, sosial, seluler, dan autentikasi kustom) guna memberikan opsi integrasi yang fleksibel untuk solusi identitas apa pun.

Firebase Authentication berbeda dengan Identity Platform karena tidak memiliki fitur perusahaan tertentu. Untuk mengetahui informasi selengkapnya, baca Perbedaan antara Identity Platform dan Firebase Authentication.

Solusi ini adalah solusi terbaik jika Anda menginginkan cara paling sederhana dalam menyiapkan autentikasi pengguna untuk aplikasi App Engine. Bagi banyak pengguna, Firebase Authentication adalah cara tercepat untuk menerapkan atau menguji autentikasi.

Untuk mempelajari Firebase Authentication lebih lanjut, coba langkah berikut ini:

  • Tutorial Web Firebase menandai cara menggunakan Firebase di situs, termasuk login pengguna dengan Google sebagai Penyedia Identitas.

  • Aplikasi Panduan Memulai Firebase menunjukkan cara mengintegrasikan Firebase di seluruh platform, menggunakan contoh login gabungan dan login nama pengguna/sandi. Contoh ini menunjukkan Firebase Authentication menggunakan JavaScript SDK serta iOS dan Android.

Google Identity Services untuk Web

Google Identity Services untuk Web adalah library klien terkait proses login untuk Google yang dibuat pada protokol OAuth 2.0 dan OpenID Connect. Hal ini memungkinkan login yang cepat dan mudah dengan menyediakan tombol Login dengan Google yang muncul di situs atau aplikasi Anda.

Solusi ini paling cocok jika Anda ingin mengautentikasi pengguna berdasarkan Akun Google mereka, atau jika Anda menggunakan konsol Google Admin untuk domain Anda.

OAuth 2.0 dan OpenID Connect

OpenID Connect adalah lapisan identitas di atas protokol OAuth 2.0. Google menawarkan implementasi OAuth 2.0 yang sesuai dengan spesifikasi OpenID Connect dan Tersertifikasi OpenID. Ada juga beberapa penyedia lain yang tersedia.

Solusi ini sangat cocok jika Anda menginginkan penyesuaian dan kontrol total atas penerapan autentikasi Anda.

Untuk informasi selengkapnya, lihat OpenID Connect.

Identity-Aware Proxy (IAP)

Tidak seperti opsi autentikasi lainnya yang mengimplementasikan autentikasi dalam aplikasi Anda, IAP melindungi dan mengamankan aplikasi Anda dengan menambahkan lapisan autentikasi dan otorisasi IAM di depan resource Anda. Lapisan ini memverifikasi permintaan eksternal yang masuk sebelum aplikasi dapat dijangkau. Pengguna yang tidak memiliki akses ke aplikasi Anda tidak dapat memiliki akses untuk menjangkau aplikasi App Engine Anda.

Anda dapat mengaktifkan IAP untuk seluruh aplikasi, atau untuk layanan atau versi tertentu dari aplikasi Anda. Layanan atau aplikasi yang dilindungi IAP hanya dapat diakses oleh akun utama yang memiliki peran IAM yang tepat. Saat pengguna mencoba mengakses resource yang diamankan oleh IAP, IAP akan melakukan pemeriksaan autentikasi dan otorisasi untuk Anda. Pelajari cara IAP mengamankan resource aplikasi Anda di ringkasan IAP.

IAP tidak memberikan perlindungan terhadap aktivitas dalam suatu project, seperti satu layanan App Engine yang mengakses layanan lain dalam project yang sama.

Solusi ini paling cocok jika Anda ingin menggunakan akun pengguna Google dan IAM untuk mengizinkan akses pengguna.

Guna mempelajari cara mengonfigurasi IAP untuk resource App Engine, lihat panduan memulai IAP.

Users API

Users API memungkinkan aplikasi App Engine melakukan tugas berikut:

  • Mendeteksi apakah pengguna saat ini login menggunakan Akun Google.
  • Mengalihkan pengguna ke halaman login yang sesuai untuk login.
  • Minta pengguna membuat Akun Google baru jika mereka belum memilikinya.

Saat pengguna login, aplikasi dapat mengakses alamat email pengguna. Aplikasi juga dapat mendeteksi apakah pengguna saat ini adalah administrator, sehingga memudahkan penerapan area khusus admin pada aplikasi.

Solusi ini berfungsi dengan baik jika Anda mengupgrade aplikasi yang sudah ada dari runtime generasi pertama ke runtime generasi kedua, dan ingin terus menggunakan Users API. Jika Anda menginginkan fleksibilitas untuk beralih ke Cloud Run atau platform hosting aplikasi Google Cloud lainnya di kemudian hari, sebaiknya lakukan migrasi ke solusi autentikasi pengguna yang lebih modern.

Untuk mempelajari cara mengintegrasikan Users API, lihat ringkasan Users API.

Layanan autentikasi lainnya

Auth0 menyediakan autentikasi dengan berbagai penyedia identitas dan fitur single sign-on.