Kasus penggunaan autentikasi dan otorisasi

Halaman ini mencantumkan beberapa kasus penggunaan autentikasi dan otorisasi umum, dengan link ke informasi selengkapnya tentang cara menerapkan setiap kasus penggunaan.

Untuk ringkasan autentikasi di Google, lihat Autentikasi di Google.

Autentikasi ke Google API

Google API memerlukan token akses atau kunci API yang valid bersama setiap permintaan. Bagaimana Anda memberikan kredensial yang diperlukan ini bergantung pada tempat kode dijalankan dan jenis kredensial yang diterima API.

Menggunakan library klien dan Kredensial Default Aplikasi

Cara yang direkomendasikan untuk menggunakan Google API adalah dengan menggunakan library klien dan Kredensial Default Aplikasi (ADC). Application Default Credentials (ADC) adalah strategi yang digunakan oleh library autentikasi Google untuk menemukan kredensial secara otomatis berdasarkan lingkungan aplikasi. Library autentikasi menyediakan kredensial tersebut untuk Library Klien Cloud dan Library Klien Google API. Saat Anda menggunakan ADC, kode Anda dapat berjalan di lingkungan pengembangan atau produksi tanpa mengubah cara aplikasi Anda melakukan autentikasi ke layanan dan API Google Cloud.

Cara menyiapkan ADC bergantung pada tempat kode Anda dijalankan. ADC mendukung autentikasi sebagai akun layanan dan autentikasi sebagai pengguna.

Melakukan autentikasi dari Google Kubernetes Engine (GKE)

Anda menggunakan Workload Identity untuk mengaktifkan workload yang berjalan di GKE agar dapat mengakses Google API dengan aman. Dengan Workload Identity, akun layanan GKE di cluster GKE Anda dapat berfungsi sebagai akun layanan Identity and Access Management (IAM).

Autentikasi dari Cloud Run for Anthos

Anda dapat melakukan autentikasi layanan Cloud Run for Anthos menggunakan Workload Identity, yang memungkinkan Anda mengakses Google API.

Menggunakan API yang menerima kunci API

Kunci API mengaitkan permintaan API dengan project Google Cloud untuk tujuan penagihan dan kuota. Jika API mendukung kunci API, kunci API dapat diberikan bersama permintaan API, alih-alih token. Untuk menentukan apakah API mendukung kunci API, lihat dokumentasi untuk API Anda.

Menggunakan Token Web JSON (JWT) yang ditandatangani sendiri

Beberapa Google API mendukung Token Web JSON (JWT) yang ditandatangani sendiri, alih-alih token akses. Dengan menggunakan JWT yang ditandatangani sendiri, Anda dapat menghindari permintaan jaringan ke server otorisasi Google. Pendekatan ini mengharuskan Anda membuat JWT Anda tanda tangani sendiri. Untuk informasi selengkapnya tentang token, lihat Jenis token.

Menggunakan library dan paket autentikasi

Jika ADC dan implementasi OAuth yang disediakan oleh Library Klien Cloud atau Library Klien Google API tidak tersedia di lingkungan Anda, Anda dapat menggunakan paket dan library autentikasi.

Tersedia paket dan library autentikasi berikut:

Anda juga dapat menerapkan alur OAuth 2.0 menggunakan endpoint OAuth 2.0 Google. Pendekatan ini memerlukan pemahaman yang lebih mendetail tentang cara kerja OAuth 2.0 dan OpenID Connect. Untuk informasi selengkapnya, lihat Menggunakan OAuth 2.0 untuk Aplikasi Server Web.

Kasus penggunaan khusus layanan Google Cloud

Beberapa layanan Google Cloud mendukung alur autentikasi khusus untuk layanan tersebut.

Memberikan akses berbatas waktu ke resource Cloud Storage menggunakan URL bertanda tangan

URL bertanda tangan memberikan akses berbatas waktu ke resource Cloud Storage tertentu.

Melakukan autentikasi ke cluster GKE Enterprise

Anda dapat melakukan autentikasi ke cluster GKE Enterprise menggunakan identitas Google Cloud atau dengan menggunakan penyedia identitas pihak ketiga:

Mengonfigurasi API yang di-deploy dengan Gateway API atau Cloud Endpoints untuk autentikasi

Gateway API dan Cloud Endpoints mendukung autentikasi antar layanan dan autentikasi pengguna dengan Firebase, token ID yang ditandatangani Google, Okta, Auth0, dan JWT.

Untuk informasi selengkapnya, lihat dokumentasi produk:

Autentikasi untuk aplikasi yang dihosting di Cloud Run atau Cloud Functions

Aplikasi yang dihosting di Cloud Run dan Cloud Functions memerlukan token OpenID Connect (OIDC), atau token ID, untuk autentikasi.

Untuk informasi selengkapnya, lihat dokumentasi produk untuk layanan hosting yang tercantum di bawah. Untuk informasi tentang cara lain memperoleh token ID, baca Mendapatkan token ID. Untuk informasi selengkapnya tentang token ID, termasuk memvalidasi token ID, lihat token ID.

Cloud Run

Ada berbagai cara untuk menyiapkan layanan Cloud Run, tergantung pada bagaimana layanan akan dipanggil. Anda mungkin juga perlu melakukan autentikasi ke layanan lain dari layanan Cloud Run, yang memerlukan token ID OIDC.

Untuk melakukan autentikasi pengguna ke layanan Anda dari web atau aplikasi seluler, gunakan Identity Platform atau Firebase Authentication. Anda juga dapat menggunakan Identity-Aware Proxy (IAP) untuk melakukan autentikasi pengguna internal.

Cloud Functions

Saat memanggil fungsi, Anda harus melakukan autentikasi pemanggilan. Anda dapat menggunakan kredensial pengguna atau token ID OIDC.

Autentikasi pengguna aplikasi

Ada berbagai opsi untuk melakukan autentikasi pengguna akhir aplikasi, tergantung pada lingkungan aplikasi Anda lainnya. Gunakan deskripsi di bawah guna membantu Anda memahami opsi terbaik untuk aplikasi Anda.

Layanan autentikasi Deskripsi
Google Identity Services

Google Identity Services meliputi Login dengan Google, tombol login pengguna Google, serta API dan SDK Layanan Identitas. Google Identity Services didasarkan pada protokol OAuth 2.0 dan OpenID Connect (OIDC).

Jika Anda membuat aplikasi seluler, dan ingin melakukan autentikasi pengguna menggunakan akun Gmail dan Google Workspace, Login dengan Google bisa menjadi opsi yang tepat. Login Dengan Google juga mendukung penggunaan Akun Google dengan sistem login yang ada.

Informasi selengkapnya

Login dengan Google menyediakan login akun Gmail dan Google Workspace, serta dukungan untuk sandi sekali pakai (OTP). Login dengan Google ditargetkan untuk akun khusus Google, atau Akun Google di sistem login yang ada, untuk aplikasi seluler.

Login dengan Google tersedia untuk iOS, Android, dan web.

Firebase Authentication

Firebase Authentication menyediakan layanan dan library autentikasi guna melakukan autentikasi pengguna ke aplikasi Anda untuk berbagai jenis akun pengguna.

Jika Anda ingin menerima login pengguna dari beberapa platform, Firebase Authentication dapat menjadi opsi yang tepat.

Informasi selengkapnya

Firebase Authentication menyediakan fungsionalitas autentikasi untuk berbagai jenis akun pengguna. Firebase Authentication mendukung autentikasi sandi dan login gabungan dengan Google, Facebook, Twitter, dan platform lainnya.

Identity Platform dan Firebase Authentication sama-sama didasarkan pada Layanan Identitas Google. Firebase Authentication ditargetkan untuk aplikasi konsumen. Identity Platform ideal bagi pengguna yang ingin menjadi penyedia identitas mereka sendiri, atau siapa pun yang memerlukan fungsi yang siap digunakan untuk perusahaan yang disediakan Identity Platform. Untuk informasi selengkapnya tentang perbedaan antara produk-produk tersebut, lihat Perbedaan antara Identity Platform dan Firebase Authentication.

Link berikut menyediakan informasi selengkapnya:

Identity Platform

Identity Platform adalah platform pengelolaan akses dan identitas pelanggan (CIAM) yang membantu organisasi menambahkan fungsionalitas pengelolaan akses dan identitas tingkat perusahaan ke aplikasi mereka.

Jika Anda membuat aplikasi untuk digunakan dengan penyedia identitas Google seperti Google Workspace, atau layanan pengelolaan akses dan identitas Anda sendiri, Identity Platform bisa menjadi opsi yang tepat.

Informasi selengkapnya

Identity Platform menyediakan layanan identitas dan autentikasi siap pakai yang dapat disesuaikan untuk pendaftaran dan login pengguna. Identity Platform mendukung beberapa metode autentikasi: SAML, OIDC, email/sandi, sosial, telepon, dan opsi kustom.

Identity Platform dan Firebase Authentication sama-sama didasarkan pada Google Identity Services. Firebase Authentication ditargetkan untuk aplikasi konsumen. Identity Platform ideal bagi pengguna yang ingin menjadi penyedia identitas mereka sendiri, atau siapa pun yang memerlukan fungsi yang siap digunakan untuk perusahaan yang disediakan Identity Platform. Untuk informasi selengkapnya tentang perbedaan antara produk-produk tersebut, lihat Perbedaan antara Identity Platform dan Firebase Authentication.

OAuth 2.0 dan OpenID Connect

Dengan OpenID Connect, Anda dapat menangani dan menggunakan token autentikasi dengan penyesuaian sesuka hati.

Jika Anda menginginkan kontrol maksimum atas implementasi OAuth 2.0, dan merasa nyaman mengimplementasikan alur OAuth 2.0, pertimbangkan opsi ini.

Informasi selengkapnya

Implementasi OAuth 2.0 Google mematuhi spesifikasi OpenID Connect dan Bersertifikat OpenID. OpenID Connect adalah lapisan identitas di atas protokol OAuth 2.0. Aplikasi Anda dapat menggunakan OpenID Connect untuk memvalidasi token ID dan mengambil informasi profil pengguna.

OAuth 2.0 dapat digunakan untuk menerapkan autentikasi terprogram ke resource yang diamankan dengan Identity-Aware Proxy.

Identity-Aware Proxy (IAP)

Dengan IAP, Anda dapat mengontrol akses ke aplikasi sebelum permintaan mencapai resource aplikasi Anda.

Tidak seperti layanan autentikasi lain dalam tabel ini, yang diimplementasikan dalam aplikasi Anda, IAP melakukan autentikasi sebelum aplikasi dapat dijangkau.

Informasi selengkapnya

Dengan IAP, Anda membuat lapisan otorisasi pusat untuk aplikasi dan menggunakan header bertanda tangan untuk mengamankan aplikasi Anda. Aplikasi yang dilindungi IAP hanya dapat diakses oleh akun utama yang memiliki peran IAM yang benar. Saat pengguna akhir mencoba mengakses resource yang diamankan oleh IAP, IAP akan melakukan pemeriksaan autentikasi dan otorisasi untuk Anda. IAP tidak melindungi dari aktivitas dalam suatu project, seperti layanan lain dalam project yang sama.

Untuk identitas Google, IAP menggunakan token ID. Untuk informasi selengkapnya, lihat Autentikasi terprogram.

Untuk mengetahui informasi tentang cara IAP mengamankan resource aplikasi Anda, lihat Ringkasan IAP.

Tutorial khusus bahasa berikut tersedia untuk IAP:

App Engine Users API Untuk aplikasi yang berjalan di lingkungan standar App Engine, Users API tersedia guna menyediakan fungsi autentikasi pengguna untuk beberapa bahasa.
Otorisasi akses untuk resource pengguna akhir Jika aplikasi Anda mengakses resource yang dimiliki oleh pengguna akhir, Anda harus mendapatkan izin mereka untuk melakukannya. Kasus penggunaan ini terkadang disebut three-legged OAUTH atau 3LO, karena ada tiga entity yang terlibat: aplikasi, server otorisasi, dan penggunanya.

Opsi autentikasi dan otorisasi untuk Google Cloud dan Google Workspace

Google Cloud dan Google Workspace menyediakan berbagai opsi untuk menyiapkan akses, meningkatkan keamanan akun, dan mengelola akun.

Memberikan akses ke resource Google Cloud untuk workload eksternal

Workload identity federation memungkinkan Anda memberikan akses beban kerja lokal atau multi-cloud ke resource Google Cloud. Secara historis, kasus penggunaan ini memerlukan penggunaan kunci akun layanan, tetapi workload identity federation menghindari pemeliharaan dan beban keamanan penggunaan kunci akun layanan. workload identity federation mendukung banyak penyedia identitas yang kompatibel dengan OIDC atau SAML 2.0. Penyedia identitas yang didukung meliputi AWS, Azure Active Directory, Active Directory lokal, Okta, GitHub Actions, dan cluster Kubernetes.

Menyiapkan penyedia identitas

Anda dapat menggunakan Google sebagai penyedia identitas, dengan menggunakan Cloud Identity atau Google Workspace. Anda juga dapat menggabungkan akun Cloud Identity atau Google Workspace dengan penyedia identitas eksternal. Pendekatan ini menggunakan SAML, yang memungkinkan karyawan Anda menggunakan identitas dan kredensial yang ada untuk login ke layanan Google.

Menyiapkan autentikasi 2 langkah

Mewajibkan autentikasi 2 langkah adalah praktik terbaik yang membantu mencegah pihak tidak bertanggung jawab mengakses akun saat mereka memperoleh akses ke kredensial akun tersebut. Dengan autentikasi 2 langkah, diperlukan informasi atau identifikasi kedua dari pengguna sebelum pengguna tersebut diautentikasi. Google menyediakan beberapa solusi yang mendukung standar FIDO (Fast IDentity Online).

Identity Platform mendukung autentikasi 2 langkah untuk aplikasi web, iOS, dan Android.

Google Identity Services mendukung autentikasi FIDO (Fast IDentity Online).

Google mendukung berbagai solusi hardware untuk autentikasi 2 langkah, seperti Kunci Titan.

Menyiapkan akses berbasis sertifikat

Sebagai bagian dari solusi zero-trust BeyondCorp Enterprise, akses berbasis sertifikat membatasi akses hanya untuk pengguna yang terautentikasi di perangkat tepercaya, yang mengidentifikasi perangkat melalui sertifikat X.509 mereka. Akses berbasis sertifikat terkadang disebut juga sebagai Transport Layer Security mutual (mTLS).

Informasi akun dan autentikasi umum

Mendapatkan bantuan untuk mengakses Akun Google

Jika Anda memerlukan bantuan dalam mengakses atau mengelola Akun Google, lihat halaman dukungan Akun Google.

Menangani kredensial yang disusupi

Jika Anda yakin bahwa kredensial Anda telah disusupi, ada langkah-langkah yang dapat dilakukan oleh Anda atau administrator untuk memitigasi situasi tersebut. Untuk informasi selengkapnya, lihat Menangani kredensial Google Cloud yang disusupi.

Mendapatkan bantuan terkait masalah certificate authority

Jika Anda melihat error yang terkait dengan masalah pada sertifikat atau certificate authority (CA) Anda, termasuk root CA, lihat FAQ Layanan Kepercayaan Google untuk informasi selengkapnya.