Halaman ini menunjukkan cara menggunakan Google Grup dengan role-based access control (RBAC) Kubernetes di cluster Google Kubernetes Engine (GKE).
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.
Halaman ini ditujukan untuk Spesialis keamanan dan Operator yang ingin menggunakan Google Grup dengan RBAC Kubernetes di cluster GKE. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise umum.
Sebelum membaca halaman ini, pastikan Anda memahami batasan Google Grup saat membuat grup dan menambahkan pengguna sebagai anggota.
Untuk menggunakan Google Grup untuk RBAC, selesaikan tugas berikut:
- Memenuhi persyaratan.
- Siapkan Google Grup Anda.
- Aktifkan Google Grup untuk RBAC di cluster.
- 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.
Batasan
- GKE mendukung pengguna dengan keanggotaan di maksimal 2.000 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:
Buat grup bernama
gke-security-groups
di domain Anda. Nama grupgke-security-groups
diperlukan. Pastikan izin Lihat Anggota grup dipilih untuk Anggota Grup. Untuk mengetahui detailnya, lihat Menetapkan izin untuk mengelola anggota dan konten.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.
Tambahkan grup sebagai grup bertingkat ke grup
gke-security-groups
. Jangan menambahkan pengguna satu per satu sebagai anggotagke-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 grupgke-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:
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik add_box Buat.
Klik Konfigurasi untuk mode cluster yang ingin digunakan.
Untuk cluster Autopilot, luaskan bagian Opsi Lanjutan untuk menemukan opsi Keamanan.
Untuk cluster Standar, di bagian Cluster, klik Security.
Centang kotak Aktifkan Google Grup untuk RBAC.
Isi Grup Keamanan dengan
gke-security-groups@DOMAIN
.Klik Buat.
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 grupgke-security-groups
yang Anda buat.
Konsol
Untuk mengupdate cluster yang ada dan mengaktifkan Google Grup untuk RBAC, lakukan langkah-langkah berikut:
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diupdate.
Pada tab Detail, cari bagian Keamanan.
Pada kolom Google Grup untuk RBAC, klik edit Edit Google Grup untuk RBAC.
Centang kotak Aktifkan Google Grup untuk RBAC.
Isi Grup Keamanan dengan
gke-security-groups@DOMAIN
.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, sepertigke-user@example.com
. Pengguna yang ditentukan harus merupakan anggota grup yang aksesnya Anda uji.GROUP
: nama grup yang ditiru identitasnya, misalnyagke-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
Aktifkan logging akses data untuk project Google Cloud Anda. Untuk mengaktifkan logging:
Buka halaman Log Audit di Konsol Google Cloud.
Di tabel, pilih Kubernetes Engine API.
Pada menu Jenis Log, pilih:
- Pembacaan Admin
- Pembacaan Data
- Penulisan Data
Klik Simpan.
Untuk informasi selengkapnya tentang mengaktifkan Logging Audit, lihat Mengonfigurasi log Akses Data dengan Konsol Cloud.
Jalankan perintah menggunakan
kubectl
di cluster, seperti berikut:kubectl create ns helloworld
Masukkan kueri kustom di halaman Logs Explorer. Untuk menjalankan kueri:
Buka halaman Logs Explorer di Konsol Google Cloud.
Klik tanda panah di kotak Pratinjau kueri di bagian atas halaman.
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.
Pilih Jalankan Kueri. Setidaknya satu hasil akan muncul. Jika tidak ada hasil, coba perluas rentang waktu.
Pilih cluster yang ingin Anda periksa.
Klik Luaskan kolom bertingkat.
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.
- Grup merupakan anggota dari
Jika ingin, pulihkan logging akses data ke setelan sebelumnya untuk menghindari tagihan lebih lanjut.