Checkpoint
Creating and Managing Service Accounts
/ 30
Access BigQuery from a Service Account
/ 70
Akun Layanan dan Peran: Dasar-dasar
GSP199
Ringkasan
Akun layanan adalah jenis Akun Google khusus yang memberikan izin ke virtual machine, bukan ke pengguna akhir. Akun layanan digunakan untuk memastikan koneksi yang aman dan terkelola ke API dan layanan Google Cloud. Memberikan akses ke koneksi tepercaya dan menolak koneksi berbahaya merupakan fitur keamanan yang harus ada pada semua project Google Cloud. Di lab ini, Anda akan mempraktikkan langsung seluk-beluk akun layanan.
Yang akan Anda pelajari
Di lab ini, Anda akan mempelajari cara:
- Membuat dan mengelola akun layanan.
- Membuat virtual machine dan mengaitkannya dengan akun layanan.
- Menggunakan library client untuk mengakses BigQuery dari akun layanan.
- Menjalankan kueri di set data publik BigQuery dari instance Compute Engine.
Prasyarat
Direkomendasikan memiliki pengalaman Cloud IAM, tetapi Anda akan dianggap tidak memiliki atau hanya memiliki sedikit pengetahuan terkait akun layanan. Jika Anda mencari latihan interaktif di tingkat lebih lanjut yang berkaitan dengan topik ini, pastikan untuk memeriksa lab berikut:
Penyiapan dan persyaratan
Sebelum mengklik tombol Mulai Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account. -
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}} Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}} Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan. -
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
- Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
-
Klik Authorize.
-
Output Anda sekarang akan terlihat seperti ini:
Output:
- (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
Output:
Contoh output:
gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Menetapkan region untuk project Anda
Jalankan perintah berikut untuk menetapkan region project Anda:
Apa yang dimaksud dengan akun layanan?
Akun layanan adalah Akun Google khusus milik aplikasi atau virtual machine (VM) Anda, bukan milik pengguna akhir perorangan. Aplikasi Anda menggunakan akun layanan untuk memanggil Google API dari satu layanan, sehingga pengguna tidak terlibat langsung.
Contohnya, VM Compute Engine dapat dijalankan sebagai akun layanan, dan akun tersebut dapat diberi izin untuk mengakses resource yang dibutuhkan. Di sini, akun layanan adalah identitas layanan, dan izin akun layanan mengontrol resource mana yang dapat diakses oleh layanan.
Akun layanan diidentifikasi oleh alamat emailnya, yang bersifat unik untuk akun tersebut.
Jenis akun layanan
Akun layanan yang dikelola pengguna
Jika Anda membuat project Cloud baru menggunakan Konsol Google Cloud dan jika Compute Engine API diaktifkan untuk project Anda, Akun layanan Compute Engine dibuat secara default untuk Anda. Akun layanan bisa diidentifikasi menggunakan email:
Jika project Anda berisi aplikasi App Engine, akun layanan App Engine default dibuat di dalam project Anda secara default. Akun layanan bisa diidentifikasi menggunakan email:
Akun layanan yang dikelola Google
Selain akun layanan yang dikelola pengguna, Anda mungkin menemukan akun layanan tambahan dalam kebijakan IAM project Anda atau di dalam konsol. Semua akun ini dibuat dan dimiliki oleh Google. Akun-akun ini mewakili berbagai layanan Google dan setiap akun diberi peran IAM secara otomatis untuk mengakses project Google Cloud Anda.
Akun layanan Google API
Contoh akun layanan yang dikelola Google adalah akun layanan Google API yang bisa diidentifikasi menggunakan email:
Akun layanan ini dirancang secara khusus untuk menjalankan proses Google internal atas nama Anda dan tidak tercantum di bagian Service Accounts dari konsol. Secara default, akun otomatis diberi peran editor project pada project dan tercantum di bagian IAM di konsol. Akun layanan ini dihapus hanya jika project dihapus.
Memahami peran IAM
Saat identitas memanggil Google Cloud API, Cloud Identity and Access Management mengharuskan identitas tersebut memiliki izin yang sesuai untuk menggunakan resource. Anda dapat memberikan izin dengan memberikan peran kepada pengguna, grup, atau akun layanan.
Jenis peran
Ada tiga jenis peran di Cloud IAM:
- Peran dasar, yang mencakup peran Owner, Editor, dan Viewer yang ada sebelum pengenalan Cloud IAM.
- Peran bawaan, yang memberikan akses terperinci untuk layanan tertentu dan dikelola oleh Google Cloud.
- Peran khusus, yang memberikan akses terperinci berdasarkan daftar izin yang ditentukan pengguna.
Pelajari peran lebih lanjut dari Panduan memahami peran.
Tugas 1. Membuat dan mengelola akun layanan
Ketika Anda membuat project Cloud baru, Google Cloud secara otomatis membuat satu akun layanan Compute Engine dan satu akun layanan App Engine di project tersebut. Anda dapat membuat hingga 98 akun layanan tambahan untuk project Anda guna mengontrol akses ke resource Anda.
Membuat akun layanan
Membuat akun layanan serupa dengan menambahkan anggota ke project Anda, tetapi akun layanan merupakan milik aplikasi Anda dan bukan milik pengguna akhir perorangan.
- Untuk membuat akun layanan, jalankan perintah berikut ini di Cloud Shell:
Output dari perintah ini adalah akun layanan, yang tampak serupa dengan:
Memberikan peran ke akun layanan
Saat memberikan peran IAM, Anda bisa memperlakukan akun layanan baik sebagai resource atau sebagai identitas.
Aplikasi Anda menggunakan akun layanan sebagai identitas untuk mengautentikasi layanan Google Cloud. Contohnya, jika Anda memiliki Virtual Machine (VM) Compute Engine yang berjalan sebagai akun layanan, Anda dapat memberikan peran editor ke akun layanan (identitas) untuk sebuah project (resource).
Di saat yang sama, Anda mungkin juga ingin mengontrol siapa saja yang bisa memulai VM. Anda bisa menggunakannya dengan memberikan peran serviceAccountUser kepada pengguna (identitas) untuk akun layanan (resource).
Memberikan peran kepada akun layanan untuk resource khusus
Anda bisa memberikan peran ke akun layanan sehingga akun layanan memiliki izin untuk menyelesaikan tindakan khusus terhadap resource dalam project Cloud Platform Anda. Contohnya, Anda bisa memberikan peran storage.admin
ke akun layanan agar dapat mengontrol semua objek dan bucket di Cloud Storage.
- Jalankan perintah berikut di Cloud Shell untuk memberikan peran ke akun layanan yang baru dibuat:
Output menampilkan daftar peran yang kini dimiliki akun layanan:
Klik Check my progress untuk memverifikasi tujuan.
Tugas 2. Menggunakan library klien untuk mengakses BigQuery menggunakan akun layanan
Di bagian ini, Anda akan membuat kueri set data publik BigQuery dari sebuah instance dengan bantuan akun layanan yang memiliki peran memiliki peran yang diperlukan.
Membuat akun layanan
Pertama, buat akun layanan baru dari konsol.
-
Buka Navigation menu > IAM & Admin, pilih Service accounts dan klik + Create Service Account.
-
Isi detail penting dengan:
- Service account name: bigquery-qwiklab
-
Sekarang klik Create and Continue, lalu tambahkan peran berikut:
-
BigQuery > BigQuery Data Viewer
-
BigQuery > BigQuery User
-
Konsol Anda akan terlihat seperti berikut:
- Klik Continue lalu klik Done.
Membuat instance VM
-
DI konsol, buka Compute Engine > VM Instances, dan klik Create Instance.
-
Buat VM Anda dengan informasi berikut:
Konfigurasi | Nilai |
---|---|
Name | bigquery-instance |
Region | |
Zone | |
Series | E2 |
Machine Type | e2-medium |
Boot Disk | Debian GNU/Linux 11 (bullseye) x86/64 |
Service account | bigquery-qwiklab |
Access scopes | Tetapkan akses untuk tiap API |
BigQuery | Enabled |
bigquery-qwiklab
tidak muncul di menu drop-down, coba ketik namanya ke bagian "Filter".- Klik Create.
Masukkan kode contoh di instance Compute Engine
- Di konsol, buka Compute Engine > VM Instances.
- SSH ke dalam
bigquery-instance
dengan mengklik tombol SSH.
Di jendela SSH, instal dependensi yang diperlukan dengan menjalankan perintah berikut:
Sekarang buat contoh file Python:
Tambahkan Project ID ke query.py
dengan:
Jalankan perintah berikut untuk memastikan perintah sed
berhasil mengubah Project ID dalam file:
Output contoh (yang Anda lihat mungkin berbeda):
Tambahkan email akun layanan ke query.py
dengan:
Jalankan perintah berikut untuk memastikan perintah sed berhasil mengubah email akun layanan dalam file:
Output contoh (yang Anda lihat mungkin berbeda):
Kini aplikasi menggunakan izin yang terkait dengan akun layanan ini. Jalankan kueri dengan perintah Python berikut:
Kueri seharusnya menampilkan output berikut (angka yang Anda lihat mungkin berbeda):
Kerja bagus! Anda telah membuat permintaan ke set data publik BigQuery dengan akun layanan bigquery-qwiklab
.
Klik Check my progress untuk memverifikasi tujuan.
Selamat!
Dalam lab ini, Anda telah mempelajari cara menggunakan akun layanan.
Langkah berikutnya / Pelajari lebih lanjut
- Baca lebih lanjut tentang pembuatan dan pengelolaan akun layanan di Panduan pembuatan dan pengelolaan akun layanan.
- Baca lab ini:
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 17 Juli 2024
Lab Terakhir Diuji pada 17 Juli 2024
Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.