Dapatkan akses ke 700+ lab dan kursus

Mengonfigurasi Izin IAM dengan gCloud - Azure

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

GSP1119

Logo lab mandiri Google Cloud

Ringkasan

Bagi profesional cloud, salah satu masalah paling mendasar dalam menyiapkan lingkungan cloud adalah cara mengonfigurasi akses ke resource dengan mengikuti prinsip hak istimewa terendah. Beberapa pertanyaan penting mencakup:

  • Apa cara terbaik untuk mengelola akses ke resource di lingkungan cloud?
  • Bagaimana cara memberikan akses hanya ke resource yang benar-benar dibutuhkan pengguna?
  • Bagaimana cara mengizinkan aplikasi dan layanan melakukan autentikasi ke resource cloud?

Lab ini membahas dasar-dasar Identity and Access Management (IAM) di Google Cloud. Anda akan mempelajari cara mengonfigurasi akses ke resource cloud secara strategis, dengan memastikan kepatuhan terhadap prinsip hak istimewa terendah. Fokusnya adalah menggunakan alat command line untuk mengelola izin pengguna, memberikan akses yang diperlukan saja, dan menyiapkan mekanisme autentikasi yang aman untuk aplikasi serta layanan.

Jika Anda sudah familier dengan Azure IAM, lab ini akan menerjemahkan konsep tersebut ke lingkungan Google Cloud. Anda akan mempelajari pendekatan unik Google Cloud IAM untuk peran dan izin. Lab ini menekankan praktik langsung dengan alat command line gcloud, yang mencakup penginstalan, konfigurasi, dan pengelolaan beberapa konfigurasi dan akun layanan.

Tujuan

Di lab ini, Anda akan mempelajari cara:

  • Menginstal dan mengonfigurasi klien gcloud
  • Membuat konfigurasi IAM dan berganti dari satu konfigurasi ke konfigurasi lainnya
  • Mengidentifikasi dan menetapkan izin IAM yang benar
  • Membuat dan menggunakan akun layanan

Memulai lingkungan

Mulai dengan dua akun pengguna dan dua project; user1 adalah "pemilik" kedua project dan user2 adalah "viewer" project pertama saja. Ada virtual machine (vm) Linux yang berjalan di project pertama.

Ilustrasi memulai lingkungan

Apa itu IAM?

Google Cloud menawarkan Cloud Identity and Access Management (IAM), yang dapat Anda gunakan untuk mengelola kontrol akses dengan menentukan siapa (identitas) yang memiliki akses (peran) untuk resource tertentu.

Dengan Cloud IAM, Anda dapat memberikan akses terperinci ke resource Google Cloud tertentu dan mencegah akses yang tidak diinginkan ke resource lainnya. Cloud IAM memungkinkan Anda menerapkan prinsip hak istimewa terendah untuk keamanan, jadi Anda hanya memberikan akses yang diperlukan ke resource Anda.

Ringkasan IAM

Identitas

Di Cloud IAM, Anda dapat memberikan akses kepada anggota. Anggota dapat berupa salah satu jenis akun berikut:

  • Akun Google
  • Akun layanan
  • Grup Google
  • Domain G Suite
  • Domain Cloud Identity

Pelajari lebih lanjut jenis identitas ini dari Panduan Konsep yang terkait dengan identitas.

Di lab ini, Anda menggunakan Akun Google, akun layanan, dan grup domain Cloud Identity.

Peran

Peran adalah kumpulan izin. Anda tidak dapat memberikan izin kepada pengguna secara langsung. Namun, Anda dapat memberikan peran kepada mereka. Jika Anda memberikan peran kepada pengguna, semua izin yang terdapat pada peran tersebut juga akan ikut diberikan kepadanya.

Ada tiga jenis peran di Cloud IAM:

  • Peran dasar: Peran yang secara historis tersedia di Konsol Cloud akan terus berfungsi. Peran ini terdiri dari Pemilik, Editor, dan Viewer.

  • Peran bawaan: Peran bawaan adalah peran Cloud IAM yang memberikan kontrol akses yang lebih terperinci daripada peran dasar. Misalnya, peran bawaan Pub/Sub Publisher (roles/pubsub.publisher) memberikan akses untuk hanya memublikasikan pesan ke topik Cloud Pub/Sub.

  • Peran khusus: Peran yang dibuat untuk menyesuaikan izin dengan kebutuhan organisasi apabila peran bawaan tidak dapat memenuhi kebutuhan Anda.

Pelajari peran lebih lanjut dari Panduan Peran.

Apa itu gcloud?

gcloud CLI adalah bagian dari Cloud SDK. Anda harus mendownload dan menginstal SDK di sistem Anda dan menginisialisasinya sebelum dapat menggunakan alat command line gcloud. Anda dapat menggunakan alat ini untuk melakukan banyak tugas platform umum, baik dari command line maupun dari dalam skrip dan otomatisasi lainnya.

Secara default, SDK menginstal perintah gcloud CLI yang berada di tingkat Ketersediaan Umum dan Pratinjau saja. Fungsi tambahan tersedia di komponen SDK yang diberi nama alfa dan beta. Komponen ini memungkinkan Anda menggunakan gcloud CLI untuk bekerja dengan Cloud Bigtable, Google Cloud Dataflow, dan bagian lain Cloud Platform pada tingkat rilis yang lebih awal daripada Ketersediaan Umum.

Pelajari gcloud lebih lanjut dari Panduan ringkasan gcloud CLI.

Penyiapan dan persyaratan

Sebelum mengklik tombol Start 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 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. Catatan: Untuk lab ini, login menggunakan Username 1.

Cara memulai lab dan login ke Google Cloud Console

  1. 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
  2. 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.
  3. 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.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. 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.
  7. 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. Ikon Navigation menu dan kolom Search

Tugas 1. Menginstal dan mengonfigurasi gcloud

Langkah pertama Anda adalah terhubung ke instance komputasi Google Cloud yang sudah ada, lalu mendownload, menginstal, dan mengonfigurasi gcloud SDK.

gcloud SDK memiliki sejumlah utilitas yang memungkinkan pengelolaan lingkungan. Pertama, Anda mengonfigurasi autentikasi untuk memberi izin menjalankan tindakan kepada utilitas. Proses autentikasi berbeda-beda berdasarkan identitas yang Anda gunakan. Dalam contoh ini, Anda menggunakan identitas yang disediakan lab (yaitu akun pengguna). Setelah diautentikasi, Anda juga perlu mengonfigurasi lingkungan untuk menentukan project yang akan Anda kelola.

Baca Memberikan otorisasi ke gcloud CLI untuk mempelajari lebih lanjut cara memberikan otorisasi ke alat Cloud SDK.

Menghubungkan ke centos-clean

Lab ini sudah memiliki instance Compute Engine bernama centos-clean sebagai simulasi lingkungan yang telah terinstal gcloud. Anda terhubung ke instance ini menggunakan Konsol Cloud.

  1. Buka daftar instance komputasi dengan mengakses Navigation Menu > Compute Engine > VM instances.

  2. Sesuai dengan instance komputasi bernama centos-clean, klik SSH.

Catatan: Berkaitan dengan instance Compute Engine: Ada jenis instance Windows dan Linux. Di lab ini, Anda akan menggunakan jenis instance Linux. Anda dapat dengan mudah terhubung ke instance Linux menggunakan klien Secure Shell (SSH) melalui browser web.

Anda akan otomatis terhubung ke instance ini. Google Cloud mengelola kunci autentikasi untuk Anda, dengan menjaganya agar tetap aman dan hanya tersedia bagi mereka yang Anda izinkan untuk mengaksesnya.
  1. Untuk pengujian pertama, jika Anda belum menginstal gcloud. Di dalam sesi SSH, jalankan:
gcloud --version
  1. Mulai pengonfigurasian lingkungan gcloud Anda. Di dalam sesi SSH, jalankan:
gcloud auth login --no-launch-browser

Anda akan melihat sejumlah prompt.

  1. Untuk You must log in to continue. dan Do you want to continue (Y/n)?, tekan ENTER.

  2. Buka link di bawah prompt Go to the following link in your browser: di tab baru.

Gunakan kredensial untuk lab ini guna mengautentikasi lingkungan gcloud. Karena menggunakan instance Compute Engine, Anda biasanya akan menggunakan akun layanan. Abaikan saran tersebut dan lanjutkan karena Anda sedang menyimulasikan lingkungan workstation Anda sendiri. Anda akan melihat penggunaan akun layanan nanti di lab ini.

  1. Link ini akan membuka halaman web Login dengan Google. Klik akun yang disediakan untuk lab ini (jika tidak yakin, lihat di kiri atas halaman ini).

  2. Klik Allow.

Anda akan menyetujui pernyataan bahwa Cloud SDK akan memiliki akses yang sama dengan Akun Google Anda.

  1. Saat Anda melihat prompt Enter the following verification code in gcloud CLI on the machine you want to log into, klik tombol salin, kembali ke sesi SSH, dan tempel kode ke prompt Enter authorization code:.

  2. Jika diminta, Pick cloud project to use: cari project Anda saat ini (di konsol web, di bagian atas, Anda akan melihat Project ID) dalam daftar, lalu ketik nomor project Anda untuk memilihnya dari daftar opsi.

Inisialisasi akan selesai dan Anda akan melihat zona dan region ditetapkan untuk Anda. Anda akan mengubah keduanya di tugas berikutnya.

Melakukan Inisialisasi Cloud SDK

Menetapkan region dan zona

Resource Compute Engine tertentu berada di region dan zona. Region adalah lokasi geografis spesifik tempat Anda dapat menjalankan resource. Setiap region memiliki satu atau beberapa zona.

Jalankan perintah gcloud berikut di Cloud Shell guna menetapkan region dan zona default untuk lab Anda:

gcloud config set compute/zone "{{{project_0.default_zone|ZONE}}}" export ZONE=$(gcloud config get compute/zone) gcloud config set compute/region "{{{project_0.default_region|REGION}}}" export REGION=$(gcloud config get compute/region)

Mengonfigurasi lingkungan gcloud

Setelah alat command line gcloud diinstal dan dikonfigurasi secara dasar, buat beberapa perubahan dengan membuat instance komputasi.

  1. Di dalam sesi SSH, jalankan:
gcloud compute instances create lab-1
  1. Anda dapat menekan ENTER guna menerima zona default untuk VM ini. Jika Anda telah menetapkan semuanya dengan benar, perintah ini akan membuat sebuah instance.

Tapi berapa besar? Dan di mana lokasinya? Image apa yang akan digunakan?

Ada sejumlah default yang digunakan layanan. Beberapa default dapat dikontrol di konfigurasi gcloud. Misalnya, lokasi instance dikontrol oleh setelan zona.

Membuat instance dengan nama lab-1 di Project 1
  1. Periksa konfigurasi gcloud Anda saat ini. Di dalam sesi SSH, jalankan:
gcloud config list

Anda melihat bagian compute, bagian core, dan active configuration. Anda dapat mengubah tiap bagian tersebut. Namun untuk lab ini, Anda hanya akan mengubah zona. Lihatlah zona tempat VM Anda dibuat.

  1. Sekarang cantumkan semua zona yang tersedia untuk digunakan dengan menjalankan perintah berikut. Di dalam sesi SSH, jalankan:
gcloud compute zones list
  1. Pilih salah satu zona lain di region yang sama dengan zona Anda. Misalnya, jika zona Anda adalah us-west2-a, pilih us-west2-b.

  2. Ubah zona Anda saat ini untuk zona lain di region yang sama. Di dalam sesi SSH, jalankan perintah berikut dan ganti ZONE dengan zona yang Anda pilih:

gcloud config set compute/zone ZONE
  1. Pastikan perubahan zona telah dilakukan. Di dalam sesi SSH, jalankan:
gcloud config list

Anda melihat zona yang disebutkan mencerminkan perubahan yang Anda buat.

Anda dapat mengubah setelan lain menggunakan perintah gcloud config set. Perubahan tersebut bersifat permanen dan ditulis ke direktori beranda Anda.

Konfigurasi default disimpan di ~/.config/gcloud/configurations/config_default.

Jika Anda ingin menggunakan zona selain zona default saat membuat sebuah instance, Anda dapat menggunakan pengalih --zone. Misalnya, gcloud compute instances create lab-1 --zone us-central1-f

Mengubah zona default
  1. Pastikan zona telah ditulis ke file konfigurasi. Di dalam sesi SSH, jalankan:
cat ~/.config/gcloud/configurations/config_default

Anda dapat melihat konfigurasi hanya disimpan sebagai teks dan dapat dicadangkan atau disalin.

Anda telah berhasil mengonfigurasi gcloud.

Tugas 2. Membuat konfigurasi IAM dan berganti dari satu konfigurasi ke konfigurasi lainnya

Anda sekarang telah menyiapkan satu akun. Dalam situasi ketika Anda perlu bekerja dalam tim yang berbeda atau mengakses akun yang berbeda, Anda juga dapat mengelolanya dengan gcloud config.

Dalam tugas berikutnya, Anda akan mempelajari cara membuat konfigurasi kedua dan beralih di antara keduanya.

Membuat konfigurasi IAM baru

Di lab ini, Anda memiliki Akun Google kedua yang dapat digunakan untuk login. Akun ini memiliki akses hanya baca (viewer) ke project pertama. Sekarang, Anda akan membuat konfigurasi baru untuk pengguna tersebut.

  1. Mulai konfigurasi gcloud baru untuk akun pengguna kedua. Di dalam sesi SSH, jalankan:
gcloud init --no-launch-browser
  1. Pilih opsi 2, Create a new configuration.

  2. configuration name: Ketik user2.

  3. Log in with a new account: pilih opsi 3 - Anda login dengan nama pengguna lain yang disediakan.

  4. Tekan ENTER ketika Anda melihat prompt Do you want to continue (Y/N)?

  5. Buka link yang ditampilkan di tab baru.

  6. Klik Use another account

  7. Salin akun pengguna kedua dari halaman ini (sisi kiri), lalu tempel ke prompt email or phone.

  8. Salin sandi yang sama dengan yang Anda gunakan untuk memulai lab, lalu tempel ke prompt enter your password.

  9. Klik I understand.

  10. Klik Allow.

Anda akan menyetujui pernyataan bahwa Cloud SDK akan memiliki akses yang sama dengan Akun Google Anda.

  1. Saat Anda melihat prompt Enter the following verification code in gcloud CLI on the machine you want to log into, klik tombol salin, lalu kembali ke sesi SSH, dan tempel kode ke prompt Enter authorization code:.

  2. Pada Pick cloud project to use: cari project Anda saat ini (di konsol web, di bagian atas, Anda akan melihat project ID), lalu ketik nomor yang sesuai dengan project tersebut.

Inisialisasi akan selesai dan Anda akan melihat zona dan region ditetapkan untuk Anda.

Memeriksa apakah konfigurasi gcloud user2 telah dibuat

Menguji akun baru

Akun baru ini memiliki akses khusus viewer ke project, sehingga Anda dapat menguji apakah Anda memang menggunakan akun ini atau tidak dengan mencoba melihat lalu membuat beberapa resource.

  1. Periksa apakah Anda dapat melihat detailnya di project pertama atau tidak. Di dalam sesi SSH, jalankan:
gcloud compute instances list

Akun pengguna kedua memiliki akses viewer sehingga Anda akan melihat instance centos-clean dan lab-1 tercantum.

  1. Pastikan Anda tidak dapat membuat instance di project pertama, karena peran yang Anda tetapkan adalah viewer dasar. Di dalam sesi SSH, jalankan:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}}

Karena hanya memiliki akses viewer, akun pengguna kedua tidak akan diperbolehkan membuat instance, sehingga perintah ini akan gagal. Perlu waktu sebentar sampai perintah gagal.

  1. Ubah kembali ke konfigurasi pengguna pertama Anda (default). Di dalam sesi SSH, jalankan:
gcloud config configurations activate default

Anda sekarang kembali menggunakan kredensial akun pengguna pertama Anda. Nanti Anda perlu beralih di antara dua akun ini saat Anda mempelajari peran dan izin.

Tugas 3. Mengidentifikasi dan menetapkan izin IAM yang benar

Anda telah diberi dua akun pengguna untuk project ini. Pengguna pertama memiliki kendali penuh atas kedua project dan dapat dianggap sebagai akun admin. Pengguna kedua memiliki akses khusus viewer ke dua project. Pengguna kedua disebut sebagai pengguna DevOps dan identitas pengguna tersebut mewakili pengguna tingkat DevOps pada umumnya.

Selanjutnya, Anda akan menggunakan gcloud untuk mengonfigurasi akses ke satu project untuk pengguna DevOps dengan membuat peran khusus untuk project yang mengizinkan pembuatan bucket dan instance.

Memeriksa peran dan izin

  1. Untuk melihat semua peran, jalankan perintah berikut di dalam sesi SSH:
gcloud iam roles list | grep "name:"

Daftar peran ditampilkan. Penambahan grep "name:" ke perintah tersebut mengurangi jumlah data yang ditampilkan agar hanya mencantumkan nama peran.

Periksa salah satu peran ini untuk melihat izin yang ditetapkan pada peran tersebut. Untuk melihat izin, gunakan gcloud iam roles describe. Coba lihat peran sederhananya roles/compute.instanceAdmin.

  1. Periksa peran compute.instanceAdmin yang telah ditetapkan. Di dalam sesi SSH, jalankan:
gcloud iam roles describe roles/compute.instanceAdmin

Anda dapat melihat bahwa roles/compute.instanceAdmin memiliki banyak izin, tetapi ini adalah izin minimum yang akan diperlukan nanti:

  • compute.instances.create
  • compute.instances.delete
  • compute.instances.start
  • compute.instances.stop
  • compute.instances.update
  • compute.disks.create
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.instances.setMetadata
  • compute.instances.setServiceAccount

Untuk meninjau daftar lengkap peran dan izin yang ditetapkan, baca Panduan referensi izin IAM.

Menetapkan peran viewer ke pengguna kedua di project kedua

Sekarang setelah Anda tahu bahwa peran berisi izin, bagaimana Anda menetapkan peran (dan semua izin terkait) ke akun pengguna?

Ada dua cara untuk menetapkan peran:

  • Ke pengguna dan organisasi
  • Ke pengguna dan project

Selanjutnya, Anda akan menghubungkan peran dasar "viewer" ke pengguna kedua pada project kedua.

Uji apakah pengguna kedua tidak memiliki akses ke project kedua.

  1. Kembalikan konfigurasi gcloud ke pengguna kedua (user2). Di dalam sesi SSH, jalankan:
gcloud config configurations activate user2

Sekarang Anda kembali ke user2.

  1. Di dalam sesi SSH, jalankan perintah berikut untuk menetapkan PROJECTID2 ke project kedua:
echo "export PROJECTID2={{{project_1.project_id|Project ID 2}}}" >> ~/.bashrc . ~/.bashrc gcloud config set project $PROJECTID2 Catatan: Perintah ini menambahkan file bashrc, jadi berhati-hatilah.

Anda akan mendapatkan peringatan: WARNING: You do not appear to have access to project [your 2nd project id] or it does not exist.

Catatan: Saat diminta, Do you want to continue (Y/n)?, ketik N dan tekan ENTER.

Artinya, Anda tidak memiliki akses ke project PROJECTID2, yang akan Anda perbaiki sebentar lagi.

  1. Kembali ke konfigurasi gcloud default. Di dalam sesi SSH, jalankan:
gcloud config configurations activate default

Anda harus beralih kembali ke pengguna pertama, yang memiliki izin untuk memberikan akses kepada pengguna kedua.

  1. Tetapkan nilai USERID2 ke nama pengguna kedua dan ikat peran viewer ke pengguna kedua pada project kedua.

  2. Pertama, instal jq:

sudo yum -y install epel-release sudo yum -y install jq
  1. Di dalam sesi SSH, jalankan:
echo "export USERID2={{{user_1.username|Username 2}}}" >> ~/.bashrc . ~/.bashrc gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/viewer

Setelah menjalankan perintah tersebut, Anda akan melihat teks yang tampak seperti berikut:

Updated IAM policy for project [qwiklabs-gcp-336e4f5b8aff1c01]. bindings: ... - members: - serviceAccount:qwiklabs-gcp-01-a262cff86157@qwiklabs-gcp-01-a262cff86157.iam.gserviceaccount.com - user:student-01-1b9999e9cc77@qwiklabs.net - user:student-01-c831155b330a@qwiklabs.net role: roles/viewer Membatasi Username 2 ke roles/viewer di Project 2

Tugas 4. Menguji apakah user2 memiliki akses atau tidak

  1. Alihkan konfigurasi gcloud Anda ke user2. Di dalam sesi SSH, jalankan:
gcloud config configurations activate user2
  1. Ubah konfigurasi untuk user2 ke project kedua. Di dalam sesi SSH, jalankan:
gcloud config set project $PROJECTID2

Anda semestinya tidak akan melihat pesan error kali ini.

  1. Pastikan Anda memiliki akses viewer. Di dalam sesi SSH, jalankan:
gcloud compute instances list

Anda melihat 0 instance dalam project ini.

  1. Cobalah buat instance di project kedua sebagai pengguna kedua. Di dalam sesi SSH, jalankan:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}}

Perintah ini akan gagal karena user2 hanya memiliki akses viewer ke project tersebut.

  1. Alihkan konfigurasi gcloud Anda ke default. Di dalam sesi SSH, jalankan:
gcloud config configurations activate default

Anda sekarang kembali menggunakan kredensial akun pengguna pertama Anda.

Membuat peran baru dengan izin

Selanjutnya, buat peran baru dengan serangkaian izin yang diperlukan untuk tim DevOps.

  • Buat peran khusus bernama devops yang memiliki izin untuk membuat sebuah instance. Di dalam sesi SSH, jalankan:
gcloud iam roles create devops --project $PROJECTID2 --permissions "compute.instances.create,compute.instances.delete,compute.instances.start,compute.instances.stop,compute.instances.update,compute.disks.create,compute.subnetworks.use,compute.subnetworks.useExternalIp,compute.instances.setMetadata,compute.instances.setServiceAccount"

Perintah ini akan membuat peran khusus dalam project bernama devops dengan izin untuk membuat dan mengelola instance.

Nama lengkap peran dicantumkan, dan perhatikan bahwa peran tersebut berada dalam project sehingga jalurnya ada dalam pola projects/PROJECT/roles/ROLENAME.

Membuat peran baru dengan izin untuk tim DevOps

Mengikat peran ke akun kedua untuk kedua project

Anda sekarang telah membuat peran dan perlu mengikat (bind) pengguna serta peran tersebut ke project. Gunakan gcloud projects add-iam-policy-binding untuk melakukan binding. Agar perintah ini dapat lebih mudah dijalankan, tetapkan beberapa variabel lingkungan terlebih dahulu, yakni project ID dan akun pengguna.

  1. Ikat peran iam.serviceAccountUser ke pengguna kedua pada project kedua. Di dalam sesi SSH, jalankan:
gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/iam.serviceAccountUser

Anda memerlukan izin untuk membuat instance dengan akun layanan terlampir. Peran iam.serviceAccountUser memiliki izin tersebut, jadi gunakan peran yang telah disiapkan ini.

Memeriksa apakah user2 telah terikat ke project2 dan peran roles/iam.serviceAccountUser atau belum
  1. Ikat peran khusus devops ke pengguna kedua pada project kedua. Anda dapat menemukan akun pengguna kedua di sebelah kiri halaman ini. Pastikan untuk menetapkan USERID ke akun pengguna kedua.

Di dalam sesi SSH, jalankan:

gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=projects/$PROJECTID2/roles/devops

Setelah Anda menjalankan perintah tersebut, teks akan terlihat seperti contoh di bawah (Anda mungkin perlu men-scroll ke atas):

Updated IAM policy for project [qwiklabs-gcp-336e4f5b8affxxxx]. bindings: - members: - user:gcpstaginguser80_student@qwiklabs.net role: projects/qwiklabs-gcp-336e4f5b8affxxxx/roles/devops Mengikat Username 2 ke peran DevOps

Menguji izin yang baru ditetapkan.

  1. Alihkan konfigurasi gcloud Anda ke user2. Di dalam sesi SSH, jalankan:
gcloud config configurations activate user2

Sekarang Anda kembali ke user2.

  1. Cobalah untuk membuat instance bernama lab-2. Di dalam sesi SSH, jalankan:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}}

Sekarang pembuatan instance akan didukung untuk user2.

Membuat instance dengan nama lab-2 di Project 2
  1. Pastikan instance tersebut ada. Di dalam sesi SSH, jalankan:
gcloud compute instances list

Lingkungan Anda

Setelah perubahan terakhir ini, lingkungan Anda akan terlihat seperti ini:

Ilustrasi progres lab

Tugas 5. Menggunakan akun layanan

Anda telah melihat cara mengautentikasi dan menggunakan gcloud untuk mengakses layanan Google Cloud dengan peran. Sekarang Anda akan melihat pendekatan yang umum.

Anda memiliki aplikasi yang akan menggunakan Application Programming Interfaces (API) untuk membaca dan menulis ke bucket Cloud Storage. Anda tidak harus melakukan autentikasi setiap kali meluncurkan server baru, sehingga akan memudahkan pekerjaan dan sejalan dengan tujuan penggunaan cloud. Jadi, gunakan akun layanan.

Akun layanan adalah Akun Google khusus milik aplikasi Anda atau virtual machine (VM), bukan milik pengguna akhir individual. Aplikasi Anda menggunakan akun layanan untuk memanggil Google API suatu layanan sehingga pengguna tidak terlibat langsung.

Pelajari akun layanan lebih lanjut dari Panduan Akun layanan.

Sekarang Anda telah membuat akun layanan, menggunakan akun layanan tersebut dengan instance komputasi, lalu menguji apakah akun layanan ini mengizinkan akses yang Anda perlukan.

Membuat akun layanan

  1. Alihkan konfigurasi gcloud Anda ke default, user2 tidak memiliki hak untuk menyiapkan dan mengonfigurasi akun layanan. Di dalam sesi SSH, jalankan:
gcloud config configurations activate default
  1. Tetapkan project ke PROJECTID2 di konfigurasi Anda. Di dalam sesi SSH, jalankan:
gcloud config set project $PROJECTID2

Pastikan Anda menarget project yang tepat.

  1. Buat akun layanan. Di dalam sesi SSH, jalankan:
gcloud iam service-accounts create devops --display-name devops Memeriksa akun layanan DevOps yang telah dibuat
  1. Dapatkan alamat email akun layanan. Di dalam sesi SSH, jalankan:
gcloud iam service-accounts list --filter "displayName=devops" Catatan: Filter hanya menampilkan baris yang Anda ingin lihat. Perhatikan bahwa alamat email berisi nama peran dan project ID.
  1. Masukkan alamat email ke dalam variabel lokal bernama SA. Di dalam sesi SSH, jalankan:
SA=$(gcloud iam service-accounts list --format="value(email)" --filter "displayName=devops")

Perintah ini menetapkan variabel lokal SA ke alamat email akun layanan. Cukup berguna, bukan?

  1. Berikan peran iam.serviceAccountUser pada akun layanan. Di dalam sesi SSH, jalankan:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/iam.serviceAccountUser

Dengan peran ini, akun layanan ini dapat menetapkan sebuah akun layanan ke suatu instance komputasi.

Memeriksa apakah akun layanan DevOps terikat dengan project2 dan peran roles/iam.serviceAccountUser

Tugas 6. Menggunakan akun layanan dengan instance komputasi

  1. Berikan peran compute.instanceAdmin pada akun layanan. Di dalam sesi SSH, jalankan:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/compute.instanceAdmin

Dengan peran ini, akun layanan dapat mengelola instance komputasi.

Memeriksa apakah akun layanan DevOps terikat dengan project2 dan peran roles/compute.instanceAdmin
  1. Buat instance dengan akun layanan DevOps terlampir. Anda juga harus menetapkan cakupan akses untuk menentukan panggilan API yang dapat dilakukan oleh instance. Di dalam sesi SSH, jalankan:
gcloud compute instances create lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}} --service-account $SA --scopes "https://www.googleapis.com/auth/compute"

Cakupan akses adalah metode lama untuk menentukan izin bagi instance Anda. Cakupan akses bukanlah mekanisme keamanan. Metode ini sekadar menentukan cakupan OAuth default yang digunakan dalam permintaan dari alat gcloud atau library klien. Cakupan ini tidak berpengaruh ketika membuat permintaan yang tidak diautentikasi melalui OAuth, seperti gRPC atau SignBlob API.

Anda harus menyiapkan cakupan akses saat mengonfigurasi instance untuk dijalankan sebagai akun layanan.

Sebaiknya tetapkan cakupan akses platform cloud penuh pada instance, lalu batasi akses API akun layanan dengan peran IAM secara aman.

Cakupan akses berlaku per instance. Anda akan menetapkan cakupan akses saat membuat instance, dan cakupan akses hanya akan dipertahankan selama masa pakai instance.

Cakupan akses tidak akan berpengaruh jika Anda belum mengaktifkan API terkait pada project yang memiliki akun layanan tersebut. Misalnya, memberikan cakupan akses untuk Cloud Storage pada instance virtual machine memungkinkan instance memanggil Cloud Storage API hanya jika Anda telah mengaktifkan Cloud Storage API pada project.

Memeriksa apakah lab-3 memiliki akun layanan terlampir atau tidak

Tugas 7. Menguji akun layanan

  1. Hubungkan ke instance yang baru dibuat menggunakan gcloud compute ssh. Di dalam sesi SSH, jalankan:
gcloud compute ssh lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}}

Tekan ENTER saat ditanya apakah Anda ingin melanjutkan.

Tekan ENTER dua kali untuk melewati pembuatan sandi.

  1. Image default yang digunakan sudah berisi konfigurasi gcloud. Di dalam sesi SSH, jalankan:
gcloud config list

Anda melihat bahwa konfigurasi tersebut memiliki akun layanan

  1. Membuat instance. Hal ini bertujuan menguji apakah Anda memiliki izin yang diperlukan atau tidak melalui akun layanan:
gcloud compute instances create lab-4 --zone {{{project_1.default_zone_1 | "Zone2"}}}

Anda dapat menekan ENTER guna menerima zona default untuk VM ini.

  1. Periksa apakah peran terlampir berfungsi atau tidak. Di dalam sesi SSH, jalankan:
gcloud compute instances list

Karena akun layanan memiliki izin, Anda dapat melihat instance yang tercantum.

Lingkungan Anda kini akan terlihat seperti ini

Ilustrasi lingkungan lab akhir

Selamat!

Dengan menggunakan alat Cloud SDK (gcloud), Anda telah berhasil menginstal dan mengonfigurasi klien gcloud, mengelola beberapa konfigurasi IAM, menetapkan izin IAM yang sesuai, dan bekerja dengan akun layanan. Tugas ini menunjukkan kesamaan antara Google Cloud IAM dan Azure IAM saat menggunakan alat command line untuk kontrol akses. Dengan kedua antarmuka ini, Anda dapat memberikan akun/peran, membuat peran/akun layanan, dan beralih pengguna.

Meskipun ada kesamaan antara Azure IAM dan Google Cloud IAM terkait role-based access control (RBAC), ada juga perbedaan antara keduanya. Salah satu perbedaan utama yang Anda pelajari di lab ini adalah proses pembuatan akun layanan, karena Anda tidak perlu mendaftarkan akun dan membuat nama akun utama layanan di Google Cloud. Project di Google Cloud berfungsi seperti tenant di Azure. Anda menggunakan alat command line gcloud untuk menyediakan akun di beberapa project, sama seperti saat Anda menggunakan Azure CLI untuk menyediakan akses di beberapa tenant.

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 4 Juli 2024

Lab Terakhir Diuji pada 4 Juli 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. 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.