arrow_back

Mengamankan Google Cloud dengan CFT Scorecard

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Mengamankan Google Cloud dengan CFT Scorecard

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

GSP698

Logo lab mandiri Google Cloud

Ringkasan

CFT Scorecard adalah klien command line open source dari Forseti Config Validator dan bagian dari Cloud Foundation Toolkit yang lebih luas. Alat ini memberikan visibilitas ke miskonfigurasi dan pelanggaran serangkaian standar yang ditetapkan untuk resource, project, folder, atau bahkan organisasi Google Cloud.

Ada lebih dari 86 jenis resource Google Cloud yang berbeda, dan jumlahnya terus bertambah. Dengan beralih ke cloud publik, Anda dapat mendelegasikan operasi cloud dan deployment resource ke banyak individu dengan lebih mudah. Seiring dengan federasi dan fleksibilitas dalam deployment infrastruktur, resource, dan kebijakan, menjaga kebijakan dan standar tetap teratur juga menjadi kian sulit.

Di lab ini, Anda akan mengonfigurasi CFTScorecard untuk meningkatkan visibilitas ke project Google Cloud dan mendeteksi kesalahan konfigurasi.

Apa yang akan Anda lakukan di lab ini?

Lab ini menyoroti tantangan dalam menggunakan cloud dengan beberapa pengguna serentak. Anda akan mengaktifkan CFT Scorecard dan memperluas kemampuan pemantauan konfigurasi resource serta deteksi pelanggarannya melalui integrasi dengan Inventaris Aset Cloud dan Library Kebijakan open source. Anda akan menyiapkan alat untuk mendeteksi kesalahan konfigurasi dan resource yang terlalu terekspos, sekaligus tetap mengizinkan individu lain dalam tim Anda, dan pada akhirnya project Google Cloud, untuk tetap fleksibel dalam kebijakan yang ditetapkan.

Topik yang dibahas

  • Menyiapkan CFT Scorecard.
  • Menjalankan penilaian CFT Scorecard.
  • Menambahkan kebijakan CFT Scorecard baru.

Infografis topik

Skenario

Bayangkan Anda adalah Pemimpin Teknis tim yang terdiri atas 3 orang. Rekan tim jarak jauh Anda, Alice dan Bob, bekerja secara intensif dengan Anda dan men-deploy banyak resource ke project Google Cloud yang sama dengan Anda. Setelah beberapa minggu bekerja sama, Anda mulai melihat beberapa tanda adanya masalah. Anda segera menemukan bahwa Alice dan Bob telah mengabaikan prosedur yang semestinya dan memasukkan konfigurasi project yang Anda anggap sebagai kesalahan konfigurasi. Satu kesalahan konfigurasi mengekspos bucket Cloud Storage secara publik. Hal ini hanyalah salah satu kesalahan konfigurasi yang telah Anda temukan, tetapi Anda khawatir mungkin ada banyak lagi kesalahan lainnya.

Setelah melakukan penelusuran cepat di Google, Anda menemukan aplikasi utilitas CLI Cloud Foundation Toolkit (CFT) Scorecard. Setelah membacanya dengan cepat, Anda memutuskan bahwa hal ini dapat membantu Anda mengelola kebijakan ke dalam lingkungan Google Cloud dan menentukan tempat terjadinya kesalahan konfigurasi. Anda memutuskan untuk mencobanya.

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.

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

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.

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

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

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (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.

Tugas 1. Menyiapkan lingkungan

  1. Buka Cloud Shell dan tetapkan beberapa variabel lingkungan untuk memulai:
export GOOGLE_PROJECT=$DEVSHELL_PROJECT_ID export CAI_BUCKET_NAME=cai-$GOOGLE_PROJECT
  1. Setelah membaca dokumen, pahami bahwa CFT Scorecard memiliki dua dependensi:
  • Inventaris Aset Cloud
  • Library Kebijakan
  1. Lanjutkan untuk mengaktifkan Cloud Asset API di project Anda:
gcloud services enable cloudasset.googleapis.com \ --project $GOOGLE_PROJECT
  1. Jalankan perintah ini untuk membuat akun layanan Aset Cloud default:
gcloud beta services identity create --service=cloudasset.googleapis.com --project=$GOOGLE_PROJECT
  1. Berikan peran storage admin ke akun layanan aset cloud:
gcloud projects add-iam-policy-binding ${GOOGLE_PROJECT} \ --member=serviceAccount:service-$(gcloud projects list --filter="$GOOGLE_PROJECT" --format="value(PROJECT_NUMBER)")@gcp-sa-cloudasset.iam.gserviceaccount.com \ --role=roles/storage.admin
  1. Buat clone Library Kebijakan:
git clone https://github.com/forseti-security/policy-library.git
  1. Anda menyadari bahwa Library Kebijakan menerapkan kebijakan yang ada di folder policy-library/policies/constraints, sehingga Anda dapat menyalin contoh kebijakan dari direktori samples ke direktori constraints.
cp policy-library/samples/storage_denylist_public.yaml policy-library/policies/constraints/
  1. Buat bucket yang akan menyimpan data yang akan diekspor oleh Inventaris Aset Cloud (CAI):
gsutil mb -l {{{project_0.default_region | REGION}}} -p $GOOGLE_PROJECT gs://$CAI_BUCKET_NAME

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat bucket CAI

Tugas 2. Mengumpulkan data menggunakan Inventaris Aset Cloud (CAI)

Setelah Anda menyiapkan lingkungan, mulai kumpulkan data untuk CFT Scorecard.

Seperti yang telah disebutkan sebelumnya, input ke CFT Scorecard adalah data IAM dan resource, serta folder policy-library.

Anda harus menggunakan CAI untuk membuat informasi kebijakan IAM dan resource untuk project.

  1. Gunakan perintah di bawah untuk membuat data:
# Export resource data gcloud asset export \ --output-path=gs://$CAI_BUCKET_NAME/resource_inventory.json \ --content-type=resource \ --project=$GOOGLE_PROJECT # Export IAM data gcloud asset export \ --output-path=gs://$CAI_BUCKET_NAME/iam_inventory.json \ --content-type=iam-policy \ --project=$GOOGLE_PROJECT # Export org policy data gcloud asset export \ --output-path=gs://$CAI_BUCKET_NAME/org_policy_inventory.json \ --content-type=org-policy \ --project=$GOOGLE_PROJECT # Export access policy data gcloud asset export \ --output-path=gs://$CAI_BUCKET_NAME/access_policy_inventory.json \ --content-type=access-policy \ --project=$GOOGLE_PROJECT

Contoh output:

Export in progress for root asset [projects/qwiklabs-gcp-01-68169ed6dd00]. Use [gcloud asset operations describe projects/97186664469/operations/ExportAssets/RESOURCE/2295255602305764396] to check the status of the operation. Export in progress for root asset [projects/qwiklabs-gcp-01-68169ed6dd00]. Use [gcloud asset operations describe projects/97186664469/operations/ExportAssets/IAM_POLICY/11771734913762837428] to check the status of the operation.
  1. Pastikan CAI telah menyelesaikan pengumpulan data. Lihat output dari perintah sebelumnya dan gunakan gcloud asset operations describe yang disediakan dari output perintah di atas untuk memverifikasi bahwa operasi ini telah selesai. Mungkin perlu waktu beberapa saat untuk memeriksa progresnya.

Klik Periksa progres saya untuk memverifikasi tujuan. File CAI telah dibuat

Tugas 3. Menganalisis data CAI dengan CFT Scorecard

  1. Anda perlu mendownload aplikasi CFT Scorecard dan menjadikannya dapat dieksekusi:
curl -o cft https://storage.googleapis.com/cft-cli/latest/cft-linux-amd64 # make executable chmod +x cft
  1. Setelah mengonfigurasi semuanya, lanjutkan dan jalankan aplikasi CFT Scorecard:
./cft scorecard --policy-path=policy-library/ --bucket=$CAI_BUCKET_NAME

Contoh output:

Generating CFT scorecard 1 total issues found Operational Efficiency: 0 issues found ---------- Security: 1 issues found ---------- denylist_public_users: 1 issues - //storage.googleapis.com/fun-bucket-qwiklabs-gcp-00-2d8ed2a5cc0e is publicly accessable Reliability: 0 issues found ---------- Other: 0 issues found ----------

Ini adalah bucket publik yang Anda identifikasi sebelumnya.

Tugas 4. Menambahkan lebih banyak batasan ke CFT Scorecard

  1. Jangan lupa dengan IAM. Tambahkan batasan berikut untuk memastikan Anda sepenuhnya mengetahui siapa yang memiliki peran roles/owner selain pengguna yang diizinkan:
# Add a new policy to blacklist the IAM Owner Role cat > policy-library/policies/constraints/iam_allowlist_owner.yaml << EOF apiVersion: constraints.gatekeeper.sh/v1alpha1 kind: GCPIAMAllowedBindingsConstraintV3 metadata: name: allowlist_owner annotations: description: List any users granted Owner spec: severity: high match: target: ["organizations/**"] exclude: [] parameters: mode: allowlist assetType: cloudresourcemanager.googleapis.com/Project role: roles/owner members: - "serviceAccount:admiral@qwiklabs-services-prod.iam.gserviceaccount.com" EOF
  1. Jalankan ulang CFT Scorecard:
./cft scorecard --policy-path=policy-library/ --bucket=$CAI_BUCKET_NAME

Oke, semuanya terlihat oke, tetapi mari kita lihat roles/editor juga.

  1. Tetapkan dua variabel tambahan untuk membantu pembuatan batasan baru:
export USER_ACCOUNT="$(gcloud config get-value core/account)" export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_PROJECT --format="get(projectNumber)")
  1. Buat batasan berikut yang akan mengizinkan semua akun yang valid:
# Add a new policy to allowlist the IAM Editor Role cat > policy-library/policies/constraints/iam_identify_outside_editors.yaml << EOF apiVersion: constraints.gatekeeper.sh/v1alpha1 kind: GCPIAMAllowedBindingsConstraintV3 metadata: name: identify_outside_editors annotations: description: list any users outside the organization granted Editor spec: severity: high match: target: ["organizations/**"] exclude: [] parameters: mode: allowlist assetType: cloudresourcemanager.googleapis.com/Project role: roles/editor members: - "user:$USER_ACCOUNT" - "serviceAccount:**$PROJECT_NUMBER**gserviceaccount.com" - "serviceAccount:$GOOGLE_PROJECT**gserviceaccount.com" EOF
  1. Jalankan ulang CFT Scorecard:
./cft scorecard --policy-path=policy-library/ --bucket=$CAI_BUCKET_NAME

Contoh output:

Generating CFT scorecard 3 total issues found Reliability: 0 issues found ---------- Other: 2 issues found ---------- identify_outside_editors: 1 issues - IAM policy for //cloudresourcemanager.googleapis.com/projects/1044418630080 grants roles/editor to user:qwiklabs.lab.user@gmail.com Operational Efficiency: 0 issues found ---------- Security: 1 issues found ---------- denylist_public_users: 1 issues - //storage.googleapis.com/fun-bucket-qwiklabs-gcp-00-2d8ed2a5cc0e is publicly accessable

Sekarang Anda akan melihat editor yang tidak berada di organisasi Anda. Saatnya berbicara dengan Alice dan Bob.

Selamat!

Anda telah mempelajari cara mendownload, menyiapkan, dan menggunakan CFT Scorecard untuk menganalisis project Google Cloud.

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

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

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.