
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create an instance with name as lab-1 in Project 1
/ 10
Update the default zone
/ 10
Create a configuration for Username 2 and name it as user2
/ 10
Restricting Username 2 to roles/viewer in Project 2
/ 10
Create a new role with permissions for the devops team
/ 10
Check binding to roles/iam.serviceAccountUser
/ 5
Bound Username 2 to devops role
/ 5
Create an instance with name as lab-2 in Project 1
/ 5
Check the created service account
/ 5
Check the binding for the service account to roles/iam.serviceAccountUser
/ 10
Check the binding for the service account to roles/compute.instanceAdmin
/ 10
Check lab-3 has the service account attached
/ 10
Lab ini membahas tiga area umum yang perlu dipahami sehubungan dengan IAM dan gcloud:
Di lab ini, Anda akan menggunakan alat gcloud
CLI untuk menyiapkan dan mengonfigurasi fitur perintah Cloud Identity and Access Management (IAM).
Dalam lab ini, Anda akan:
gcloud
Mulai dengan dua akun pengguna dan dua project;
user1
adalah "pemilik" kedua projectuser2
adalah "pelihat" project pertama saja.Ada virtual machine (vm) Linux yang berjalan di project pertama.
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.
Di IAM, izin untuk mengakses resource tidak diberikan secara langsung kepada pengguna akhir. Sebagai gantinya, izin dikelompokkan ke dalam peran, dan peran diberikan kepada akun utama yang terautentikasi. (Dahulu, IAM sering menyebut akun utama sebagai anggota. Beberapa API masih menggunakan istilah ini.)
Di Cloud IAM, Anda dapat memberikan akses kepada akun utama. Akun utama dapat berupa salah satu jenis akun berikut:
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 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 kepada mereka.
Pelajari peran lebih lanjut dari Panduan Peran.
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.
Pelajari gcloud lebih lanjut dari Panduan ringkasan gcloud CLI.
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:
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:
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.
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
Anda juga dapat menemukan Username di panel Lab Details.
Klik Next.
Salin Password di bawah dan tempel ke dialog Welcome.
Anda juga dapat menemukan Password di panel Lab Details.
Klik Next.
Klik halaman berikutnya:
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Lab ini sudah memiliki instance Compute Engine bernama centos-clean sebagai simulasi lingkungan yang tidak diinstali gcloud
. Anda terhubung ke instance ini menggunakan Konsol Google Cloud.
Buka daftar instance compute dengan mengakses Navigation Menu > Compute Engine > VM instances.
Sesuai dengan instance compute bernama centos-clean, klik SSH.
gcloud
berhasil diinstal dengan memeriksa versinya. Di dalam sesi SSH, jalankan:Setelah Anda memastikan alat command line gcloud
terinstal, buat beberapa perubahan dengan membuat instance compute.
Tekan ENTER ketika Anda melihat prompt Do you want to continue (Y/N)?
Buka link yang ditampilkan di tab baru.
Klik nama pengguna Anda yang aktif (
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 tempelkan kode ke prompt Enter authorization code:.
Di sesi SSH, tetapkan region dan zona:
Jika Anda telah menetapkan semuanya dengan benar, perintah akan membuat sebuah instance.
Tapi berapa ukurannya? Dan di mana lokasinya? Image apa yang digunakan?
Ada sejumlah default yang digunakan layanan. Beberapa default dapat dikontrol di konfigurasi gcloud
. Misalnya, lokasi instance dikontrol oleh setelan zona.
Anda sekarang 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.
Identifikasi salah satu zona lain di region yang sama dengan zona Anda. Misalnya, jika zona Anda saat ini adalah us-west2-a
, pilih us-west2-b
.
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:
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
Anda dapat melihat konfigurasi hanya disimpan sebagai teks dan dapat dicadangkan atau disalin.
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.
Di lab ini, Anda memiliki akun Google kedua yang dapat digunakan untuk login. Akun ini memiliki akses hanya baca (pelihat) ke project pertama. Anda akan membuat konfigurasi baru untuk pengguna tersebut.
gcloud
baru untuk akun pengguna kedua. Di dalam sesi SSH, jalankan:Pilih opsi 2, Create a new configuration.
configuration name: Type user2.
Log in with a new account: pilih opsi 3 - Anda login dengan nama pengguna lain yang disediakan.
Tekan ENTER ketika Anda melihat prompt Do you want to continue (Y/N)?
Buka link yang ditampilkan di tab baru.
Klik Use another account
Salin akun pengguna kedua (
Salin sandi yang sama dengan yang Anda gunakan untuk memulai lab, lalu tempelkan ke dalam prompt enter your password.
Klik I understand.
Klik Allow.
Anda akan menyetujui pernyataan bahwa Cloud SDK memiliki akses yang sama dengan akun Google Anda.
Saat Anda melihat prompt Enter the following verification code in gcloud CLI on the machine you want to log into, klik tombol salin lalu kembalilah ke sesi SSH dan tempelkan kode ke prompt Enter authorization code:.
Untuk Pick cloud project to use: cari project Anda saat ini (
Inisialisasi selesai dan Anda akan melihat zona dan region ditetapkan untuk Anda.
Akun baru ini memiliki akses khusus pelihat ke project, sehingga Anda dapat menguji apakah Anda memang menggunakan akun ini atau tidak dengan mencoba melihat lalu membuat beberapa resource.
Akun pengguna kedua memiliki akses pelihat sehingga Anda akan melihat instance centos-clean
dan lab-1
tercantum.
Karena hanya memiliki akses pelihat, akun pengguna kedua tidak akan diperbolehkan membuat instance, sehingga perintah ini akan gagal. Perlu waktu beberapa saat sampai perintah gagal.
Anda sekarang kembali menggunakan kredensial akun pengguna pertama Anda. Nanti Anda akan beralih di antara dua akun ini saat Anda mempelajari peran dan izin.
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 hanya pelihat 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.
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.
compute.instanceAdmin
yang telah ditetapkan. Di dalam sesi SSH, jalankan:Anda dapat melihat bahwa roles/compute.instanceAdmin memiliki banyak izin, tetapi ini adalah izin minimum yang akan diperlukan nanti:
Untuk meninjau daftar lengkap peran dan izin yang ditetapkan, baca Panduan referensi izin IAM.
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:
Selanjutnya, Anda akan menghubungkan peran dasar "pelihat" ke pengguna kedua pada project kedua.
gcloud
ke pengguna kedua (user2). Di dalam sesi SSH, jalankan:Sekarang Anda kembali ke user2
.
PROJECTID2
ke project kedua. Di dalam sesi SSH, jalankan perintah berikut: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.
Artinya, pengguna kedua tidak memiliki akses ke project PROJECTID2, yang akan Anda perbaiki di bagian berikutnya.
jq
:Selanjutnya, tetapkan nilai USERID2
ke nama pengguna kedua dan ikat peran pelihat ke pengguna kedua pada project kedua.
Setelah Anda menjalankan perintah tadi, teksnya akan terlihat seperti berikut (Anda mungkin perlu men-scroll ke atas):
Anda semestinya tidak akan melihat pesan error kali ini.
Anda sekarang melihat 0 instance dalam project ini.
Perintah ini akan gagal karena user2 hanya memiliki akses pelihat ke project tersebut.
Anda sekarang kembali menggunakan kredensial akun pengguna pertama Anda.
Selanjutnya, buat peran baru dengan serangkaian izin yang diperlukan untuk tim DevOps.
devops
yang memiliki izin untuk membuat sebuah instance. Di dalam sesi SSH, jalankan: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
.
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 ID project dan akun pengguna.
iam.serviceAccountUser
ke pengguna kedua pada project kedua. Di dalam sesi SSH, jalankan:Anda memerlukan izin untuk membuat instance dengan akun layanan terlampir. Peran iam.serviceAccountUser
memiliki izin tersebut, jadi gunakan peran yang telah disiapkan ini.
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:
Setelah Anda menjalankan perintah, teks akan terlihat seperti berikut (Anda mungkin perlu men-scroll ke atas):
Sekarang Anda kembali ke user2.
Sekarang pembuatan instance akan didukung untuk user2.
Setelah perubahan terakhir ini, lingkungan Anda akan terlihat seperti ini:
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 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 compute, lalu menguji apakah akun layanan ini mengizinkan akses yang Anda perlukan.
user2
tidak memiliki hak untuk menyiapkan dan mengonfigurasi akun layanan. Di dalam sesi SSH, jalankan:PROJECTID2
di konfigurasi Anda. Di dalam sesi SSH, jalankan:Pastikan Anda menarget project yang tepat.
SA
. Di dalam sesi SSH, jalankan:Perintah ini menetapkan variabel lokal SA ke alamat email akun layanan. Cukup berguna, bukan?
iam.serviceAccountUser
pada akun layanan. Di dalam sesi SSH, jalankan:Dengan peran ini, akun layanan ini dapat menetapkan sebuah akun layanan ke suatu instance compute.
compute.instanceAdmin
pada akun layanan. Di dalam sesi SSH, jalankan:Dengan peran ini, akun layanan dapat mengelola instance compute.
Cakupan akses adalah metode lama untuk menentukan izin untuk 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.
gcloud compute ssh
. Di dalam sesi SSH, jalankan:Tekan ENTER saat ditanya apakah Anda ingin melanjutkan.
Tekan ENTER dua kali untuk melewati pembuatan sandi.
gcloud
. Di dalam sesi SSH, jalankan:Konfigurasi kini memiliki akun layanan
Anda dapat menekan ENTER guna menerima zona default untuk VM ini.
Karena akun layanan memiliki izin, Anda dapat melihat instance yang tercantum.
Anda telah menyelesaikan tugas berikut menggunakan alat Cloud SDK, gcloud
:
...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 10 April 2024
Lab Terakhir Diuji pada 10 April 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.
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
One lab at a time
Confirm to end all existing labs and start this one