Halaman ini menjelaskan beberapa cara untuk memperoleh token ID OpenID Connect (OIDC) bertanda tangan Google. Anda memerlukan token ID yang ditandatangani Google untuk kasus penggunaan autentikasi berikut Show
Untuk informasi tentang konten dan masa pakai token ID, lihat Token ID memiliki layanan atau aplikasi khusus yang dapat digunakan untuk itu, ditentukan oleh nilainya. Halaman ini menggunakan istilah layanan target untuk merujuk ke layanan atau aplikasi yang dapat digunakan untuk mengautentikasi token ID Saat Anda mendapatkan token ID, Anda dapat memasukkannya ke dalam header Metode untuk mendapatkan token IDAda berbagai cara untuk mendapatkan token ID. Halaman ini menjelaskan metode berikut Cloud Run dan Cloud Functions menyediakan cara khusus layanan untuk mendapatkan token ID. Untuk informasi lebih lanjut, lihat Jika Anda memerlukan token ID untuk diterima oleh aplikasi yang tidak dihosting di Google Cloud, Anda mungkin dapat menggunakan metode ini. Namun, Anda harus menentukan token ID apa yang diklaim oleh aplikasi tersebut Dapatkan token ID dari server metadataSaat kode Anda berjalan pada sumber daya yang dapat memiliki , server metadata untuk layanan terkait biasanya dapat menyediakan token ID. Server metadata menghasilkan token ID untuk akun layanan terlampir. Anda tidak bisa mendapatkan token ID berdasarkan kredensial pengguna dari server metadata Anda bisa mendapatkan token ID dari server metadata saat kode Anda berjalan di layanan Google Cloud berikut Cloud Build menyertakan server metadata, tetapi tidak mengembalikan token ID Untuk mengambil token ID dari server metadata, Anda menanyakan titik akhir identitas untuk akun layanan, seperti yang ditampilkan dalam contoh ini Ganti curl -H "Metadata-Flavor: Google" \ 'http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=AUDIENCE' PowerShellGanti $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=AUDIENCE") $value0 dengan URI untuk layanan target, misalnya $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=AUDIENCE") $value1 $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=AUDIENCE") $value JawaUntuk menjalankan contoh kode ini, Anda harus menginstal sampel/cuplikan/src/main/Java/IdTokenFromMetadataServer. Jawa Lihat di GitHub _Pergiauth/id_token_from_metadata_server. Pergilah Lihat di GitHub
Node. jssampel/idTokenFromMetadataServer. js Lihat di GitHub _PitonUntuk menjalankan contoh kode ini, Anda harus menginstal Google Auth Python Library sampel/klien-awan/cuplikan/idtoken_from_metadata_server. py Lihat di GitHub _Gunakan layanan penghubung untuk menghasilkan token IDBeberapa layanan Google Cloud membantu Anda memanggil layanan lain. Layanan penghubung ini mungkin membantu menentukan kapan panggilan dibuat, atau mengelola alur kerja yang menyertakan panggilan layanan. Layanan berikut dapat secara otomatis menyertakan token ID, dengan nilai yang sesuai untuk klaim Buat token ID dengan meniru akun layananPeniruan akun layanan memungkinkan kepala sekolah menghasilkan kredensial jangka pendek untuk akun layanan tepercaya. Kepala sekolah kemudian dapat menggunakan kredensial ini untuk mengautentikasi sebagai akun layanan Sebelum kepala sekolah dapat menyamar sebagai akun layanan, ia harus memiliki peran IAM pada akun layanan tersebut yang memungkinkan peniruan identitas. Jika prinsipal itu sendiri adalah akun layanan lain, mungkin akan lebih mudah untuk memberikan izin yang diperlukan secara langsung ke akun layanan tersebut, dan mengaktifkannya untuk menyamar sebagai dirinya sendiri. Konfigurasi ini, yang dikenal sebagai peniruan identitas diri, menciptakan kerentanan keamanan, karena memungkinkan akun layanan membuat token akses yang dapat disegarkan selamanya Peniruan akun layanan harus selalu melibatkan dua pelaku. kepala sekolah yang mewakili penelepon, dan akun layanan yang ditiru, disebut akun layanan yang memiliki hak istimewa Untuk menghasilkan token ID dengan menyamar sebagai akun layanan, ikuti langkah-langkah berikut
Hasilkan token ID menggunakan penyedia identitas eksternalMembuat token ID menggunakan penyedia identitas eksternal menggunakan federasi identitas beban kerja, yang memungkinkan Anda menyiapkan hubungan antara Google Cloud dan penyedia identitas eksternal Anda. Anda kemudian dapat menggunakan kredensial yang disediakan oleh penyedia identitas eksternal untuk membuat token ID atau token akses yang dapat digunakan di Google Cloud Untuk membuat token ID untuk kredensial yang diberikan dari penyedia identitas eksternal, ikuti langkah-langkah berikut
|