Perbaikan nilai VM_SA
Perbaikan nilai VM_SA
Section titled “Perbaikan nilai VM_SA”Bentuk alamat Service Account yang benar, dan cara memeriksanya.
Berkas: alat/hari-3/Praktik 11/perbaikan/vm-sa.md
# Perbaikan Tahap 6: nilai VM_SA
Tahap 6 pada modul memakai nilai berikut:
```bashPROJECT_NUMBER="$(gcloud projects describe "$PROJECT_ID" \ --format='value(projectNumber)')"
VM_SA="${PROJECT_NUMBER}-asisten01@example.com"Nilai itu bukan alamat service account Google, sehingga dua perintah IAM di Tahap 6 gagal dengan pesan bahwa service account tidak ada.
Nilai yang benar
Section titled “Nilai yang benar”VM_SA="${PROJECT_NUMBER}-asisten02@example.com"Service Account default Compute Engine selalu berbentuk
<nomor-project>-asisten02@example.com. Nilainya sama untuk semua peserta
dalam satu project, karena hanya bergantung pada nomor project. Itu memang begitu, dan bukan
tanda ada yang salah.
Kenapa nilainya sama untuk semua peserta
Section titled “Kenapa nilainya sama untuk semua peserta”VM setiap peserta memakai Service Account default project. Karena satu project dipakai beberapa peserta, Service Account itu dipakai bersama. Yang membedakan antar peserta bukan Service Account-nya, melainkan:
- Nama VM, yang memuat identitas peserta
- Service Account Cloud Build,
cb-deployer-<identitas>, yang dibuat peserta sendiri di Tahap 4 - Trigger, yang menunjuk ke VM milik peserta itu
Rantai izinnya: Service Account Cloud Build peserta memakai roles/iam.serviceAccountUser
pada Service Account VM, sehingga trigger boleh melakukan SSH ke VM.
Cara memastikan perbaikannya bekerja
Section titled “Cara memastikan perbaikannya bekerja”Setelah Tahap 6 selesai, periksa dua binding:
gcloud projects get-iam-policy "$PROJECT_ID" \ --flatten="bindings[].members" \ --filter="bindings.members:serviceAccount:$VM_SA" \ --format="table(bindings.role)"Harus muncul roles/artifactregistry.reader.
gcloud iam service-accounts get-iam-policy "$VM_SA" \ --project="$PROJECT_ID" --format="table(bindings.role, bindings.members)"Harus muncul roles/iam.serviceAccountUser dengan anggota Service Account Cloud Build
peserta, yaitu cb-deployer-<identitas>@<PROJECT_ID>.iam.gserviceaccount.com.