Mengonfigurasi Google Grup untuk RBAC


Halaman ini menunjukkan cara menggunakan Google Grup dengan role-based access control (RBAC) Kubernetes di cluster Google Kubernetes Engine (GKE).

Ringkasan

Google Grup untuk RBAC memungkinkan Anda menetapkan izin RBAC ke anggota Google Grup di Google Workspace. Administrator Google Workspace Anda mengelola pengguna dan grup sepenuhnya di luar GKE atau Konsol Google Cloud. Jadi, administrator cluster Anda tidak memerlukan informasi mendetail tentang pengguna.

Menggunakan Google Grup untuk RBAC juga memungkinkan Anda mengintegrasikan praktik pengelolaan akun pengguna yang ada, seperti mencabut akses saat seseorang keluar dari organisasi.

Untuk menggunakan Google Grup untuk RBAC, selesaikan tugas berikut:

  1. Memenuhi persyaratan.
  2. Siapkan Google Grup Anda.
  3. Aktifkan Google Grup untuk RBAC di cluster.
  4. Tentukan dan tetapkan izin RBAC ke Google Grup.

Persyaratan

Agar dapat menggunakan Google Grup untuk RBAC, Anda harus memiliki akses ke Google Workspace atau edisi Cloud Identity apa pun.

Saat membuat grup dan menambahkan pengguna sebagai anggota, pastikan Anda tahu batasan Google Grup.

Batasan

  • GKE mendukung pengguna dengan keanggotaan hingga 500 grup dalam grup keamanan, termasuk keanggotaan bertingkat, dengan Google Grup untuk RBAC.

Menyiapkan Google Grup Anda

Langkah-langkah berikut menunjukkan cara menyiapkan grup di Google Grup yang berfungsi dengan RBAC:

  1. Buat grup bernama gke-security-groups di domain Anda. Nama grup gke-security-groups diperlukan. Pastikan izin Lihat Anggota grup dipilih untuk Anggota Grup. Untuk mengetahui detailnya, lihat Menetapkan izin untuk mengelola anggota dan konten.

  2. Buat grup, jika belum ada, yang mewakili kelompok pengguna yang seharusnya memiliki izin berbeda di cluster Anda, seperti developer dan administrator cluster. Setiap grup harus memiliki izin Lihat anggota untuk Anggota grup.

  3. Tambahkan grup sebagai grup bertingkat ke grup gke-security-groups. Jangan menambahkan pengguna satu per satu sebagai anggota gke-security-groups.

Untuk informasi selengkapnya tentang pengelolaan Google Grup, lihat Pusat Bantuan Google Grup.

Untuk memeriksa apakah pengguna tertentu dapat melakukan tindakan pada resource cluster, GKE memeriksa apakah pengguna tersebut adalah anggota grup dengan akses dan apakah grup tersebutbertingkat di grup gke-security-groups.

Informasi tentang keanggotaan Google Grup disimpan sebentar dalam cache. Mungkin diperlukan waktu beberapa menit agar perubahan keanggotaan grup diterapkan ke semua cluster Anda. Selain latensi dari perubahan grup, penyimpanan kredensial pengguna dalam cache di cluster standarnya memerlukan waktu sekitar satu jam.

Mengaktifkan Google Grup untuk RBAC di cluster

Anda dapat mengaktifkan Google Grup untuk RBAC pada cluster GKE Standard dan Autopilot baru maupun yang sudah ada menggunakan Google Cloud CLI atau Konsol Google Cloud.

Membuat cluster baru

gcloud

Standard

Untuk membuat cluster Standard baru dan mengaktifkan Google Grup untuk RBAC, jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --security-group="gke-security-groups@DOMAIN"

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster baru.
  • COMPUTE_REGION: region Compute Engine untuk cluster baru. Untuk cluster zona, gunakan --zone=COMPUTE_ZONE.
  • DOMAIN: nama domain grup gke-security-groups yang Anda buat.

Autopilot

Untuk membuat cluster Autopilot baru dan mengaktifkan Google Grup untuk RBAC, jalankan perintah berikut:

gcloud container clusters create-auto CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --security-group="gke-security-groups@DOMAIN"

Konsol

Untuk membuat cluster baru dan mengaktifkan fitur Google Grup untuk RBAC, lakukan langkah-langkah berikut:

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Klik Konfigurasi untuk mode cluster yang ingin digunakan.

  4. Untuk cluster Autopilot, luaskan bagian Opsi Lanjutan untuk menemukan opsi Keamanan.

  5. Untuk cluster Standar, di bagian Cluster, klik Security.

  6. Centang kotak Aktifkan Google Grup untuk RBAC.

  7. Isi Grup Keamanan dengan gke-security-groups@DOMAIN.

  8. Klik Create.

Mengupdate cluster yang ada

gcloud

Untuk mengupdate cluster yang ada dan mengaktifkan Google Grup untuk RBAC, jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --security-group="gke-security-groups@DOMAIN"

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster.
  • COMPUTE_REGION: region Compute Engine cluster. Untuk cluster zona, gunakan --zone=COMPUTE_ZONE.
  • DOMAIN: nama domain grup gke-security-groups yang Anda buat.

Konsol

Untuk mengupdate cluster yang ada dan mengaktifkan Google Grup untuk RBAC, lakukan langkah-langkah berikut:

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diupdate.

  3. Pada tab Detail, cari bagian Keamanan.

  4. Pada kolom Google Grup untuk RBAC, klik Edit Google Grup untuk RBAC.

  5. Centang kotak Aktifkan Google Grup untuk RBAC.

  6. Isi Grup Keamanan dengan gke-security-groups@DOMAIN.

  7. Klik Simpan perubahan.

Menentukan dan menetapkan izin

Setelah membuat dan mengonfigurasi Google Grup untuk RBAC, gunakan peran dan ikatan peran untuk menentukan izin RBAC dan menetapkan izin tersebut ke Google Grup yang merupakan anggota grup gke-security-groups. Untuk mengetahui petunjuknya, lihat Menentukan dan menetapkan izin.

Memverifikasi konfigurasi Google Grup untuk RBAC

Bagian berikut menunjukkan cara memverifikasi bahwa konfigurasi Google Grup untuk RBAC Anda berhasil, menggunakan gcloud CLI atau Konsol Google Cloud.

Memverifikasi menggunakan gcloud CLI

Jalankan perintah can-i kubectl untuk memeriksa apakah Anda dapat melakukan tindakan tertentu terhadap suatu resource Kubernetes. Anda dapat menggunakan cara ini untuk mengotomatiskan pengujian akses RBAC sebagai bagian dari alur kerja CI/CD Anda. Misalnya, perintah berikut menguji akses get ke resource pods di namespace dev:

kubectl auth can-i get pods \
    --namespace=dev \
    --as=USER \
    --as-group=GROUP

Ganti kode berikut:

  • USER: nama pengguna yang ditiru identitasnya, seperti gke-user@example.com. Pengguna yang ditentukan harus merupakan anggota grup yang aksesnya Anda uji.
  • GROUP: nama grup yang ditiru identitasnya, misalnya gke-dev-users@example.com.

Jika USER memiliki akses, outputnya adalah yes. Jika tidak, outputnya adalah no.

Memverifikasi menggunakan konsol Google Cloud

Anda juga dapat memverifikasi akses RBAC dengan menjalankan perintah kubectl terhadap cluster dan memeriksa log Anda.

Sebelum memulai

Sebelum memulai, pastikan hal-hal berikut:

  • Anda belum berinteraksi dengan cluster yang ingin diuji (misalnya, Anda belum menjalankan perintah kubectl apa pun) dalam satu jam terakhir. Autentikasi disimpan dalam cache selama satu jam. Membiarkan masa berlaku kredensial yang di-cache habis memungkinkan Anda untuk memastikan bahwa permintaan dicatat ke dalam log saat terjadi.
  • Anda adalah anggota dari setidaknya salah satu grup yang merupakan anggota grup gke-security-groups, sehingga memastikan beberapa informasi Google Grup dicatat ke dalam log.

Mengaktifkan log dan menjalankan perintah pengujian

  1. Aktifkan logging akses data untuk project Google Cloud Anda. Untuk mengaktifkan logging:

    1. Buka halaman Log Audit di Konsol Google Cloud.

      Buka Log Audit

    2. Di tabel, pilih Kubernetes Engine API.

    3. Pada menu Jenis Log, pilih:

      • Pembacaan Admin
      • Pembacaan Data
      • Penulisan Data
    4. Klik Simpan.

    Untuk informasi selengkapnya tentang mengaktifkan Logging Audit, lihat Mengonfigurasi log Akses Data dengan Konsol Cloud.

  2. Jalankan perintah menggunakan kubectl di cluster, seperti berikut:

    kubectl create ns helloworld
    
  3. Masukkan kueri kustom di halaman Logs Explorer. Untuk menjalankan kueri:

    1. Buka halaman Logs Explorer di Konsol Google Cloud.

      Buka Logs Explorer

    2. Klik tanda panah di kotak Pratinjau kueri di bagian atas halaman.

    3. Di kotak dropdown yang muncul, tentukan kueri berikut:

      resource.type="k8s_cluster"
      resource.labels.location="CLUSTER_LOCATION"
      resource.labels.cluster_name="CLUSTER_NAME"
      protoPayload.resourceName="authorization.k8s.io/v1beta1/subjectaccessreviews"
      protoPayload.response.spec.user="EMAIL_ADDRESS"
      

      Ganti kode berikut:

      • CLUSTER_LOCATION: region atau zona cluster Anda.
      • CLUSTER_NAME: nama cluster Anda.
      • EMAIL_ADDRESS: alamat email yang terdaftar untuk Akun Google Anda.
    4. Pilih Jalankan Kueri. Setidaknya satu hasil akan muncul. Jika tidak ada hasil, coba perluas rentang waktu.

    5. Pilih cluster yang ingin Anda periksa.

    6. Klik Luaskan kolom bertingkat.

    7. Kolom protoPayload.request.spec.group berisi grup di mana:

      • Grup merupakan anggota dari gke-security-group.
      • Anda adalah anggota grup.

      Daftar ini harus cocok dengan kumpulan grup di mana Anda merupakan anggota. Jika tidak ada grup, mungkin ada masalah terkait cara grup disiapkan.

  4. Jika ingin, pulihkan logging akses data ke setelan sebelumnya untuk menghindari tagihan lebih lanjut.

Langkah selanjutnya