arrow_back

Akun Layanan dan Peran: Dasar-dasar

Login Gabung
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Akun Layanan dan Peran: Dasar-dasar

Lab 1 jam 15 menit universal_currency_alt 1 Kredit show_chart Pengantar
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP199

Lab Mandiri Google Cloud

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).
Catatan: Gunakan jendela Samaran 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: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Google Cloud Console

  1. 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 berikut ini:

    • Tombol Open Google Console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Console. Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Login.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username dari panel Lab Details dan tempel ke dialog Sign in. Klik Next.

  4. Salin Password dari panel Lab Details dan tempel ke dialog Welcome. Klik Next.

    Penting: Anda harus menggunakan kredensial dari panel sebelah kiri. Jangan menggunakan kredensial Google Cloud Skills Boost. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  5. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan daftar uji coba gratis.

Setelah beberapa saat, Cloud Console akan terbuka di tab ini.

Catatan: Anda dapat melihat menu dengan daftar Produk dan Layanan Google Cloud dengan mengklik Menu navigasi di kiri atas. Ikon menu navigasi

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.

  1. Klik Activate Cloud Shell Ikon 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:

Project Cloud Platform Anda dalam sesi ini disetel ke YOUR_PROJECT_ID

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

  2. Output Anda sekarang akan terlihat seperti ini:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net Untuk menyetel akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project

Output:

[core] project = <project_ID>

Contoh output:

[core] project = qwiklabs-gcp-44776a13dea667a6 Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Menetapkan region untuk project Anda

Jalankan perintah berikut untuk menentukan region untuk 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:

PROJECT_NUMBER-compute@developer.gserviceaccount.com

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.

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:
gcloud iam service-accounts create my-sa-123 --display-name "my service account"

Output dari perintah ini adalah akun layanan, yang tampak serupa dengan:

Membuat akun layanan [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:
gcloud projects add-iam-policy-binding $DEVSHELL_PROJECT_ID \ --member serviceAccount:my-sa-123@$DEVSHELL_PROJECT_ID.iam.gserviceaccount.com --role roles/editor

Output menampilkan daftar peran yang kini dimiliki akun layanan:

bindings: - members: - user:email1@gmail.com role: roles/owner - members: - serviceAccount:our-project-123@appspot.gserviceaccount.com - serviceAccount:123456789012-compute@developer.gserviceaccount.com - serviceAccount:my-sa-123@my-project-123.iam.gserviceaccount.com - user:email3@gmail.com role: roles/editor - members: - user:email2@gmail.com role: roles/viewer etag: BwUm38GGAQk= version: 1

Klik Check my progress untuk memverifikasi tujuan. Membuat dan Mengelola Akun Layanan

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.

  1. Buka Navigation menu > IAM & Admin, pilih Service accounts dan klik + Create Service Account.

  2. Isi detail penting dengan:

  • Service account name: bigquery-qwiklab
  1. Sekarang klik Create and Continue dan tambahkan peran berikut:
  • Role: Bigquery > BigQuery Data Viewer and BigQuery > BigQuery User

Konsol Anda akan terlihat seperti berikut:

Buat halaman dengan tab akun layanan

  1. Klik Continue lalu klik Done.

Membuat instance VM

  1. DI konsol, buka Compute Engine > VM Instances, dan klik Create Instance.

  2. 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
Catatan: Jika akun layanan `bigquery-qwiklab` tidak muncul di the menu drop-down, coba ketik nama ke bagian "Filter".
  1. Klik Create.

Masukkan kode contoh di instance Compute Engine

  1. Di konsol, buka Compute Engine > VM Instances.
  2. SSH ke dalam bigquery-instance dengan mengklik tombol SSH.
Catatan: Saat menghubungkan ke SSH, Anda bisa mengklik Connect without Identity-Aware Proxy.

Di jendela SSH, instal dependensi yang diperlukan dengan menjalankan perintah berikut:

sudo apt-get update sudo apt-get install -y git python3-pip pip3 install --upgrade pip pip3 install google-cloud-bigquery pip3 install pyarrow pip3 install pandas pip3 install db-dtypes

Sekarang buat contoh file Python:

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 Check my progress untuk memverifikasi tujuan. Mengakses BigQuery menggunakan Akun Layanan

Selamat!

Dalam lab ini, Anda telah mempelajari cara menggunakan akun layanan.

Langkah berikutnya / Pelajari lebih lanjut

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 24 April 2024

Lab Terakhir Diuji pada 24 April 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.