Jika aplikasi Anda menangani permintaan dari pengguna, praktik terbaiknya adalah membatasi akses hanya kepada pengguna yang diizinkan. Pengguna biasanya tidak memiliki izin IAM di project Google Cloud atau layanan Cloud Run Anda.
Kami membedakan dua jenis pengguna:
- Pengguna akhir: Pengguna aplikasi yang bukan milik organisasi Anda. Pengguna tersebut biasanya perlu mendaftarkan akun untuk dirinya sendiri.
- Pengguna internal: Pengguna yang secara eksplisit diberi akses ke aplikasi oleh administrator di organisasi Anda. Pengguna tersebut biasanya milik organisasi Anda.
Mengautentikasi pengguna akhir
Jika ingin mengautentikasi pengguna menggunakan email/sandi, nomor telepon, penyedia media sosial seperti Google, Facebook, atau GitHub, atau mekanisme autentikasi kustom, Anda dapat menggunakan Identity Platform. Menggunakan Firebase Authentication mirip dengan menggunakan Identity Platform.
Anda memerlukan aplikasi seluler atau web publik yang menangani alur login, lalu melakukan panggilan API yang diautentikasi ke layanan Cloud Run. Aplikasi web publik ini dapat dihosting di layanan Cloud Run publik.
Untuk mengetahui tutorial lengkap tentang penggunaan Identity Platform untuk autentikasi pengguna akhir, lihat tutorial Autentikasi pengguna akhir untuk Cloud Run.
Tambahkan kode ke layanan Cloud Run Anda untuk memverifikasi token ID.
Lakukan hal berikut di web atau aplikasi seluler Anda:
- Gunakan library klien Firebase Auth yang sesuai untuk mendapatkan token ID:
- Android: Gunakan metode
GetTokenResult().getToken()
. - iOS: Gunakan metode
User.getIDTokenResult(completion:)
. - Web: Gunakan metode
firebase.User.getIdToken()
.
- Android: Gunakan metode
- Sertakan token ID di header
Authorization: Bearer ID_TOKEN
dalam permintaan ke layanan.
- Gunakan library klien Firebase Auth yang sesuai untuk mendapatkan token ID:
Anda dapat menggunakan salah satu metode berikut untuk mengakses informasi profil pengguna:
- Gunakan Firebase Admin SDK untuk membuat permintaan jaringan guna mengambil data pengguna.
- Gunakan Library Klien Google API untuk mengambil data pengguna menggunakan metode yang paling sesuai untuk runtime yang Anda pilih.
Untuk panduan menyeluruh terkait aplikasi yang menggunakan teknik autentikasi ini, ikuti tutorial autentikasi pengguna akhir untuk Cloud Run.
Mengautentikasi pengguna internal
Untuk autentikasi pengguna internal, Anda dapat menggunakan Identity-Aware Proxy.
Agar dapat menyiapkan Identity-Aware Proxy untuk layanan Cloud Run yang sudah ada, lihat dokumentasi untuk mengaktifkan Identity-Aware Proxy untuk Cloud Run.
Untuk petunjuk tentang cara autentikasi pengguna atau akun layanan Cloud Run yang dijamin oleh Identity-Aware Proxy dengan menggunakan OAuth 2.0, silakan lihat dokumentasi mengenai Autentikasi terprogram.