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:
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 interaktif ini dapat Anda gunakan untuk melakukan 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).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal 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.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
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.
Klik jendela berikut:
Lanjutkan melalui jendela informasi Cloud Shell.
Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
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:
gcloud auth list
Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
(Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Menetapkan region untuk project Anda
Jalankan perintah berikut untuk menetapkan region project Anda:
gcloud config set compute/region {{{project_0.default_region | Region}}}
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:
PROJECT_ID@appspot.gserviceaccount.com
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:
PROJECT_NUMBER@cloudservices.gserviceaccount.com
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.
Catatan: Layanan Google bergantung pada akun yang memiliki akses ke project Anda. Oleh karena itu, Anda tidak boleh menghapus atau mengubah peran akun layanan di project Anda.
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.
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 di Cloud Shell:
gcloud iam service-accounts create my-sa-123 --display-name "my service account"
Output dari perintah ini adalah akun layanan, yang tampak serupa dengan:
Created service account [my-sa-123]
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:
echo "
from google.auth import compute_engine
from google.cloud import bigquery
credentials = compute_engine.Credentials(
service_account_email='YOUR_SERVICE_ACCOUNT')
query = '''
SELECT
year,
COUNT(1) as num_babies
FROM
publicdata.samples.natality
WHERE
year > 2000
GROUP BY
year
'''
client = bigquery.Client(
project='{{{project_0.project_id | Your Project ID}}}',
credentials=credentials)
print(client.query(query).to_dataframe())
" > query.py
Tambahkan Project ID ke query.py dengan:
sed -i -e "s/{{{project_0.project_id | Your Project ID}}}/$(gcloud config get-value project)/g" query.py
Jalankan perintah berikut untuk memastikan perintah sed berhasil mengubah Project ID dalam file:
cat query.py
Output contoh (yang Anda lihat mungkin berbeda):
from google.auth import compute_engine
from google.cloud import bigquery
credentials = compute_engine.Credentials(
service_account_email='YOUR_SERVICE_ACCOUNT')
query = '''
SELECT
year,
COUNT(1) as num_babies
FROM
publicdata.samples.natality
WHERE
year > 2000
GROUP BY
year
'''
client = bigquery.Client(
project={{{ project_0.project_id }}},
credentials=credentials)
print(client.query(query).to_dataframe())
Tambahkan email akun layanan ke query.py dengan:
sed -i -e "s/YOUR_SERVICE_ACCOUNT/bigquery-qwiklab@$(gcloud config get-value project).iam.gserviceaccount.com/g" query.py
Jalankan perintah berikut untuk memastikan perintah sed berhasil mengubah email akun layanan dalam file:
cat query.py
Output contoh (yang Anda lihat mungkin berbeda):
from google.auth import compute_engine
from google.cloud import bigquery
credentials = compute_engine.Credentials(
service_account_email='bigquery-qwiklab@{{{ project_0.project_id }}}.iam.gserviceaccount.com')
query = '''
SELECT
year,
COUNT(1) as num_babies
FROM
publicdata.samples.natality
WHERE
year > 2000
GROUP BY
year
'''
client = bigquery.Client(
project={{{ project_0.project_id }}},
credentials=credentials)
print(client.query(query).to_dataframe())
Kini aplikasi menggunakan izin yang terkait dengan akun layanan ini.
Jalankan kueri dengan perintah Python berikut:
python3 query.py
Kueri seharusnya menampilkan output berikut (angka yang Anda lihat mungkin berbeda):
Row year num_babies
0 2008 4255156
1 2006 4273225
2 2003 4096092
3 2004 4118907
4 2002 4027376
5 2005 4145619
6 2001 4031531
7 2007 4324008
Catatan: Baris nilai Anda mungkin tidak memetakan tahun output di atas. Namun, pastikan babies per year sama.
Kerja bagus! Anda telah membuat permintaan ke set data publik BigQuery dengan akun layanan bigquery-qwiklab.
Klik Periksa progres saya untuk memverifikasi tujuan.
Mengakses BigQuery menggunakan Akun Layanan
Selamat!
Dalam lab ini, Anda telah mempelajari cara menggunakan akun layanan.
...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 11 Desember 2024
Lab Terakhir Diuji pada 22 Oktober 2024
Hak cipta 2025 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.
Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
Di kiri atas layar, klik Start lab untuk memulai
Gunakan penjelajahan rahasia
Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
Klik Open console dalam mode pribadi
Login ke Konsol
Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
Setujui persyaratan, dan lewati halaman resource pemulihan
Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project
Konten ini tidak tersedia untuk saat ini
Kami akan memberi tahu Anda melalui email saat konten tersedia
Bagus!
Kami akan menghubungi Anda melalui email saat konten tersedia
Satu lab dalam satu waktu
Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini
Gunakan penjelajahan rahasia untuk menjalankan lab
Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
Dalam lab interaktif ini, Anda akan mempelajari cara membuat dan mengelola Akun Layanan