Mengelola akses ke cluster standar

Dokumen ini menjelaskan cara memberikan akses dan mengelola izin dalam klaster standar di Google Distributed Cloud (GDC) dengan air gap. Cluster standar adalah lingkungan Kubernetes yang dapat dikonfigurasi dan memiliki cakupan project dengan layanan default minimal yang menawarkan fleksibilitas dan kontrol yang lebih besar untuk workload kustom.

Untuk mengetahui informasi tentang cara mengelola siklus proses cluster standar, seperti membuat atau menghapus cluster, lihat Membuat cluster standar dan Menghapus cluster standar.

Untuk mengetahui informasi selengkapnya tentang cluster standar dan jenis cluster lainnya, lihat Konfigurasi cluster Kubernetes.

Dokumen ini ditujukan untuk audiens dalam grup operator aplikasi, seperti operasi developer atau ilmuwan data, yang perlu mengelola dan mengamankan resource dalam project GDC. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.

Sebelum memulai

Sebelum mengelola akses ke cluster standar, Anda harus memiliki izin yang diperlukan dan menyiapkan lingkungan Anda.

Meminta peran IAM

Untuk mendapatkan izin yang Anda perlukan untuk mengelola akses ke cluster standar, minta peran berikut berdasarkan tugas yang perlu Anda lakukan:

  • Untuk memberikan dan mengelola binding kebijakan IAM tingkat project untuk cluster standar, hubungi Admin Org IAM Anda untuk meminta peran IAM Project Admin (project-iam-admin).
  • Untuk mengelola kontrol akses berbasis peran (RBAC) Kubernetes dalam cluster dan men-deploy beban kerja dalam cluster standar, minta Admin Project IAM Anda untuk memberi Anda peran Admin Cluster (cluster-admin).

Menyiapkan lingkungan Anda

Memberikan izin untuk akses cluster standar

Pengguna dengan peran IAM Project Admin (project-iam-admin) dapat memberikan peran yang diperlukan kepada pengguna lain untuk mengelola akses dalam cluster standar:

  1. Login dengan penyedia identitas yang dikonfigurasi menggunakan gdcloud CLI.

  2. Berikan peran Cluster Admin (cluster-admin) kepada pengguna untuk project tersebut. Perintah ini mengikat pengguna ke peran, sehingga memungkinkan mereka mengelola akses dalam cluster standar.

    Lihat Deskripsi peran yang telah ditetapkan dan Definisi peran untuk project untuk mengetahui informasi selengkapnya tentang peran.

    gdcloud projects add-iam-policy-binding PROJECT \
      --role=ROLE \
      --member=user:USER_ACCOUNT
    

    Ganti variabel berikut:

    • PROJECT: nama project tempat cluster standar berada.
    • ROLE: nama peran yang ingin Anda berikan (seperti cluster-admin).
    • USER_ACCOUNT: akun pengguna yang ingin Anda beri peran, termasuk awalan penyedia identitas yang terkait dengan organisasi Anda (seperti idpprefix-user@example.com). Awalan spesifik yang digunakan bergantung pada konfigurasi IdP organisasi Anda. Lihat Menghubungkan ke penyedia identitas untuk mengetahui informasi selengkapnya.

    Contoh berikut memberikan peran Cluster Admin ke user@example.com, dengan asumsi bahwa awalan penyedia identitas adalah fop- untuk project foo:

    gdcloud projects add-iam-policy-binding foo \
      --role=cluster-admin \
      --member=user:fop-user@example.com
    

Mengelola akses dalam cluster standar

Pengguna dengan peran Admin Cluster (cluster-admin) dapat memberikan akses dalam cluster standar:

  1. Login dengan penyedia identitas yang dikonfigurasi menggunakan gdcloud CLI.

  2. Buat file kubeconfig untuk cluster standar menggunakan flag --standard. Flag ini diperlukan untuk menargetkan cluster standar.

    export KUBECONFIG=KUBECONFIG_FILE
    gdcloud clusters get-credentials STANDARD_CLUSTER_NAME --standard --project=PROJECT
    

    Ganti variabel berikut:

    • KUBECONFIG_FILE: jalur ke file kubeconfig seperti standard-cluster-kubeconfig.yaml.
    • STANDARD_CLUSTER_NAME: nama cluster standar.
    • PROJECT: nama project tempat cluster standar berada.
  3. Tentukan izin dalam cluster standar menggunakan kubectl.

    Pengguna dengan izin cluster-admin dapat membuat objek Role dan ClusterRole kustom. Untuk memberikan izin ini, mereka dapat membuat objek Rolebinding dan ClusterRoleBinding yang sesuai untuk mengikat peran ke subjek tertentu, seperti pengguna atau akun layanan.

    Contoh berikut menggunakan kubectl untuk membuat Role kustom contoh bernama test-role di namespace test:

    kubectl apply -f - <<EOF
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: test-role
      namespace: test
    rules:
    - apiGroups:
      - ""
      resources:
      - configmaps
      verbs:
      - get
    EOF
    

    Contoh berikut membuat RoleBinding untuk Role bernama test-role dalam namespace test. Perintah ini memberikan izin kepada pengguna alice@example.com dengan awalan penyedia identitas fop-, serta ke ServiceAccount bernama my-service-account di namespace default:

    kubectl apply -f - <<EOF
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: test-role-binding
      namespace: test
    subjects:
    - kind: User
      name: fop-alice@example.com
      apiGroup: rbac.authorization.k8s.io
    - kind: ServiceAccount
      name: my-service-account
      namespace: default
    roleRef:
      kind: Role
      name: test-role
      apiGroup: rbac.authorization.k8s.io
    EOF