Menghubungkan grup Google ke GKE di AWS

Dokumen ini menjelaskan cara Anda dapat terhubung ke GKE di AWS sebagai anggota grup Google.

Menggunakan grup Google untuk memberikan akses cluster lebih efisien daripada membuat otorisasi terpisah untuk setiap pengguna. Misalnya, Anda ingin menambahkan 50 pengguna ke grup Administrator cluster, 75 pengguna ke grup Editor, dan 100 pengguna ke grup Pembaca. Agar semua pengguna ini dapat terhubung ke cluster Anda, Anda harus membuat aturan RBAC dalam file manifes Kubernetes untuk 225 pengguna. Namun, mengaktifkan akses ke cluster Anda dengan Google Grup akan menghemat waktu Anda karena Anda hanya perlu membuat aturan RBAC untuk tiga grup Google.

Sebelum memulai

Untuk terhubung ke cluster sebagai anggota grup Google, Anda harus memenuhi prasyarat berikut:

  1. Pastikan Anda memiliki Google Cloud CLI versi terbaru. Untuk mengetahui informasi tentang cara mengupdate gcloud CLI, lihat gcloud components update.

  2. Gunakan GKE di AWS versi 1.25 atau yang lebih baru, yang diperlukan untuk akses kubectl menggunakan gateway koneksi.

Menghubungkan ke cluster Anda dengan grup Google

Untuk mengizinkan grup Google terhubung ke GKE di AWS, ikuti langkah-langkah berikut:

  1. Aktifkan API connectgateway dan cloudresourcemanager dengan perintah berikut:

      gcloud services enable --project=PROJECT_ID \
          connectgateway.googleapis.com \
          cloudresourcemanager.googleapis.com
    

    Ganti PROJECT_ID dengan ID project AWS Anda.

  2. Buat grup bernama gke-security-groups sebagai grup di domain project Anda jika belum ada.

  3. Buat satu atau beberapa sub-grup dalam grup gke-security-groups untuk autentikasi cluster.

  4. Tambahkan pengguna ke sub-grup yang baru dibuat.

  5. Untuk akses kubectl menggunakan gateway koneksi, Anda harus memberikan peran IAM ke grup Google:

    1. Pilih peran yang sesuai untuk grup. Peran ini menentukan cara grup berinteraksi dengan gateway koneksi. Peran dapat berupa salah satu dari berikut: roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor, roles/gkehub.gatewayReader. (Perhatikan bahwa Anda tidak memberikan izin atas cluster di sini - langkah tersebut akan dilakukan nanti. Di sini, Anda hanya menentukan cara pengguna grup dapat memanipulasi gateway koneksi.)

    2. Jalankan perintah berikut untuk memberikan peran kepada grup:

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=group:GROUP_NAME@DOMAIN \
        --role=GATEWAY_ROLE
      

      Ganti kode berikut:

      • PROJECT_ID: project ID Google Anda
      • GROUP_NAME: nama grup yang akan diberi akses
      • DOMAIN: domain Google Workspace Anda
      • GATEWAY_ROLE: peran yang dipilih. Misalnya, roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor, atau roles/gkehub.gatewayReader.
  6. Dalam manifes Kubernetes, tentukan izin yang dimiliki setiap grup Google di cluster. Misalnya, manifes berikut memberikan peran administrator cluster kepada Grup Google cluster-admin-team:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: gateway-cluster-admin-group
    subjects:
    - kind: Group
      name: cluster-admin-team@example.com
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    
  7. Simpan manifes ke file dan terapkan ke cluster dengan menjalankan perintah berikut:

    kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
    

    Ganti kode berikut:

    • KUBECONFIG_PATH: jalur ke file kubeconfig Anda.
    • FILENAME: nama file manifes yang Anda buat.

Setelah Anda melakukan langkah-langkah ini, pengguna yang tergabung dalam grup Google tertentu dapat terhubung ke cluster. Dalam contoh yang diberikan, pengguna yang tergabung dalam grup Google cluster-admin-team dapat terhubung ke cluster sebagai administrator.