Ringkasan token

Dokumen ini dan dokumen Jenis token mencakup beberapa token yang digunakan oleh Google Cloud untuk autentikasi dan otorisasi. Dokumen ini ditujukan bagi orang yang ingin mempelajari cara kerja autentikasi berbasis token, atau yang ingin menerapkan autentikasi tanpa menggunakan Library Klien Cloud.

Anda tidak perlu mengetahui informasi ini saat berinteraksi dengan Google Cloud API menggunakan Library Klien Cloud, konsol Google Cloud , atau Google Cloud CLI—proses pemilihan jenis token yang tepat, serta mendapatkan dan memuat ulang token tersebut ditangani secara otomatis untuk Anda.

Autentikasi pengguna

Saat berinteraksi dengan Google Cloud, pengguna manusia tidak berinteraksi dengan APIGoogle Cloud secara langsung. Sebagai gantinya, mereka menggunakan klien untuk bertindak atas nama mereka. Klien yang mereka gunakan dapat berupa aplikasi web, aplikasi desktop, atau utilitas seperti Google Cloud CLI atau curl.

Karena klien membuat permintaan, bukan pengguna, Google Cloud tidak dapat meminta informasi identitas dari pengguna secara langsung untuk memeriksa apakah mereka memiliki izin untuk menggunakan API. Sebagai gantinya, identitas ini diteruskan ke API melalui klien dalam bentuk token, yang disertakan dalam setiap permintaan API.

Token autentikasi pengguna mengenkode informasi berikut:

  • Identitas pengguna.

  • Identitas klien.

  • Jaminan bahwa klien diizinkan untuk bertindak atas nama pengguna.

Mengautentikasi pengguna dan memberikan otorisasi kepada klien melibatkan pihak-pihak berikut:

  • Pengguna.

  • Klien yang bertindak atas nama pengguna.

  • Server otorisasi, yang digunakan oleh Google API untuk mengautentikasi klien.

  • A Google Cloud API yang berinteraksi dengan klien.

Klien tidak dapat mengeluarkan token sendiri. Sebagai gantinya, mereka harus bekerja dengan server otorisasi untuk melakukan hal berikut:

  1. Autentikasi pengguna.

  2. Lakukan autentikasi klien.

  3. Memberi otorisasi klien untuk bertindak atas nama pengguna.

  4. Terbitkan token ke klien.

Diagram hubungan pengguna yang melakukan autentikasi melalui klien

Pengguna yang melakukan autentikasi dengan login ke Akun Google-nya adalah pengguna pokok. Principal memiliki pengidentifikasi principal yang mirip dengan berikut ini:

user:alex@example.com

Pengguna yang melakukan autentikasi menggunakan workforce identity federation dan penyedia identitas eksternal adalah pokok workforce identity pool. Principal memiliki ID principal yang mirip dengan berikut ini:

principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com

Autentikasi workload

Beberapa klien perlu berinteraksi dengan Google API atas nama mereka sendiri. Misalnya, tugas terjadwal mungkin perlu membaca data dari BigQuery atau Cloud Storage tanpa melibatkan pengguna manusia.

Klien yang bertindak tanpa pengawasan dan atas nama mereka sendiri disebut sebagai workload. Tidak seperti autentikasi pengguna, autentikasi beban kerja menggabungkan autentikasi pengguna dan otorisasi klien dalam satu langkah. Oleh karena itu, token autentikasi workload mengenkode identitas hanya klien.

Autentikasi dan otorisasi beban kerja melibatkan pihak-pihak berikut:

  • Beban kerja, yang bertindak sebagai klien dan pengguna, serta atas namanya sendiri.

  • Server otorisasi, yang digunakan oleh Google API untuk mengautentikasi klien.

  • A Google Cloud API yang berinteraksi dengan klien.

Untuk mengakses Google Cloud API, klien harus menggunakan server otorisasi untuk melakukan hal berikut:

  1. Lakukan autentikasi klien.

  2. Beri otorisasi klien.

  3. Terbitkan token ke klien.

Diagram hubungan workload yang melakukan autentikasi melalui klien

Beban kerja yang diautentikasi juga disebut sebagai prinsipal, tetapi beban kerja menggunakan ID prinsipal yang berbeda dengan pengguna.

Workload yang melakukan autentikasi menggunakan akun layanan adalah akun utama akun layanan. Akun utama memiliki ID akun utama yang mirip dengan berikut ini:

serviceAccount:my-service-account@my-project.

Beban kerja yang melakukan autentikasi menggunakan workload identity federation adalah pokok workload identity pool. Principal memiliki ID principal yang mirip dengan berikut:

principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE

Server otorisasi

Google Cloud membagikan fasilitas autentikasi dan otorisasi tertentu dengan layanan Google lainnya. Fasilitas bersama mencakup Login dengan Google, serta layanan OpenID Connect dan OAuth 2.0 yang disediakan oleh Google Identity.

Layanan terkait autentikasi lainnya, seperti Workload Identity Federation dan Workforce Identity Federation, khusus untuk Google Cloud dan tidak dapat digunakan untuk layanan Google lainnya.

Karena pemisahan ini, Google Cloud menggunakan dua server otorisasi. Salah satunya dibagikan ke layanan Google lainnya, dan yang lainnya khusus untuk Google Cloud. Tabel berikut menjelaskan berbagai server dan propertinya.

Server otorisasi Authentication type Authentication API Kepala sekolah
Server otorisasi Google
  • Autentikasi pengguna
  • Autentikasi workload
Google Cloud Server otorisasi Identity and Access Management (IAM)
  • Autentikasi pengguna
  • Autentikasi workload

Server otorisasi adalah layanan global dan dapat diakses dari region Google Cloud mana pun. Namun, tidak semua region berisi deployment kedua server otorisasi:

  • Server otorisasi Google tersedia di wilayah tertentu.

  • Server otorisasi Google Cloud IAM tersedia di semua region.

Untuk mengoptimalkan keandalan, gunakan server otorisasi IAM Google Cloud jika memungkinkan.

Langkah berikutnya

Baca tentang jenis token.