Mulai menggunakan konsol Google Cloud (GKE)

Tutorial ini menunjukkan cara mengonfigurasi dan menguji kebijakan Otorisasi Biner yang memerlukan pengesahan. Jenis kebijakan ini mengamankan software supply chain berbasis container Anda dengan menentukan siapa yang dapat men-deploy image container di Google Kubernetes Engine (GKE) dan image container mana yang diizinkan untuk di-deploy oleh GKE.

Pada waktu deployment, Otorisasi Biner menggunakan attestor untuk memverifikasi tanda tangan digital dalam pengesahan. Pengesahan dibuat oleh penandatangan sebagai bagian dari proses build.

Dalam tutorial ini, cluster GKE, pengesahan, dan attestor semuanya berada dalam satu project. Konfigurasi satu project sebagian besar berguna untuk menguji atau bereksperimen dengan layanan. Untuk contoh yang lebih nyata, lihat konfigurasi multi-project.

Langkah-langkah di bawah menjelaskan tugas yang Anda lakukan dari Google Cloud konsol, serta beberapa tugas yang Anda lakukan menggunakan gcloud perintah. Untuk melakukan langkah-langkah ini menggunakan gcloud, lihat Memulai menggunakan Google Cloud CLI.

Tujuan

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat cluster (GKE) dengan Otorisasi Biner diaktifkan
  • Membuat attestor yang digunakan penegak Otorisasi Biner untuk memverifikasi tanda tangan pada pengesahan
  • Mengonfigurasi kebijakan yang memerlukan pengesahan
  • Membuat pasangan kunci kriptografi untuk menandatangani pengesahan dan memverifikasinya nanti
  • Menandatangani ringkasan image container, membuat tanda tangan
  • Membuat pengesahan menggunakan tanda tangan
  • Menguji kebijakan dengan men-deploy image container ke GKE

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen yang dapat ditagih berikut Google Cloud:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis. Google Cloud

Sebelum memulai

  1. Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Container Registry, Artifact Analysis and Binary Authorization APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. Instal Google Cloud CLI.

  6. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  7. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Container Registry, Artifact Analysis and Binary Authorization APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  11. Instal Google Cloud CLI.

  12. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  13. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  14. Instal kubectl.

Menetapkan project default

Untuk memfasilitasi perintah yang mengikuti, simpan Google Cloud project ID Anda dalam variabel lingkungan sebagai berikut:

PROJECT_ID=PROJECT_ID

dengan PROJECT_ID adalah nama project Anda.

Jika project default belum dipilih, tetapkan sekarang:

gcloud config set project ${PROJECT_ID}

Membuat cluster dengan Otorisasi Biner diaktifkan

Membuat cluster

Sekarang Anda dapat membuat cluster GKE dengan Otorisasi Biner diaktifkan. Di sini, Anda membuat cluster bernama test-cluster di zona GKE us-central1-a.

Untuk membuat cluster, ikuti langkah-langkah berikut:

  1. Buka menu GKE di Google Cloud konsol.

    Buka GKE

  2. Klik Create Cluster.

  3. Masukkan test-cluster di kolom Name.

  4. Pilih Zonal di opsi Location type.

  5. Pilih us-central1-a dari menu drop-down Zone.

  6. Klik Availability, networking, security, and additional features.

  7. Di bagian Security, pilih Enable Binary Authorization.

  8. Pilih Enforce-only.

  9. Klik Create.

Mengonfigurasi kubectl

Anda juga harus memperbarui file kubeconfig lokal untuk penginstalan kubectl. Hal ini memberikan informasi endpoint dan kredensial yang diperlukan untuk mengakses cluster di GKE.

Untuk memperbarui file kubeconfig lokal, ikuti langkah-langkah berikut:

gcloud container clusters get-credentials \
    --zone us-central1-a \
    test-cluster

Melihat kebijakan default

A kebijakan di Otorisasi Biner adalah kumpulan aturan yang mengatur deployment image container. Anda dapat memiliki satu kebijakan per project. Secara default, kebijakan dikonfigurasi untuk mengizinkan semua image container di-deploy.

Untuk melihat kebijakan default, ikuti langkah-langkah berikut:

  1. Buka halaman Binary Authorization di Google Cloud konsol.

    Buka Otorisasi Biner

  2. Klik Edit Policy.

  3. Di Project Default Rule, opsi Allow All Images akan ditampilkan.

  4. Klik Save Policy.

Membuat attestor