Dokumen ini menjelaskan cara mengelola izin untuk cluster standar di Google Distributed Cloud (GDC) yang terisolasi menggunakan gdcloud CLI. 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 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 data scientist, 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.
Meminta peran IAM
Hubungi Admin IAM Organisasi Anda untuk meminta peran berikut berdasarkan tugas yang perlu Anda lakukan:
- Admin IAM Project (
project-iam-admin): membuat, memperbarui, dan menghapus binding peran untuk cluster standar dalam project. - Admin Cluster Standar (
standard-cluster-admin): membuat, memperbarui, dan menghapus binding peran dalam cluster standar tertentu.
Menyiapkan lingkungan Anda
Memberikan izin untuk akses cluster standar
Pengguna dengan peran Admin IAM Project (project-iam-admin) dapat memberikan peran yang diperlukan kepada pengguna lain untuk mengelola akses dalam cluster standar:
Login dengan penyedia identitas yang dikonfigurasi menggunakan gdcloud CLI.
Berikan peran Admin Cluster Standar (
standard-cluster-admin) kepada pengguna untuk project tersebut. Perintah ini mengikat pengguna ke peran tersebut, sehingga mereka dapat mengelola akses dalam cluster standar.Lihat Deskripsi peran yang telah ditetapkan dan Definisi peran untuk project guna mengetahui informasi selengkapnya tentang peran.
gdcloud projects add-iam-policy-binding PROJECT \ --role=ROLE \ --member=user:USER_ACCOUNTGanti variabel berikut:
PROJECT: nama project tempat cluster standar berada.ROLE: nama peran yang ingin Anda berikan (sepertistandard-cluster-admin).USER_ACCOUNT: akun pengguna yang ingin Anda berikan peran, termasuk awalan penyedia identitas yang terkait dengan organisasi Anda (sepertiidpprefix-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 Admin Cluster Standar kepada
user@example.com, dengan asumsi awalan penyedia identitas adalahfop-untuk projectfoo:gdcloud projects add-iam-policy-binding foo \ --role=standard-cluster-admin \ --member=user:fop-user@example.com
Mengelola akses dalam cluster standar
Pengguna dengan peran Admin Cluster Standar (standard-cluster-admin) dapat memberikan akses dalam cluster standar:
Login dengan penyedia identitas yang dikonfigurasi menggunakan gdcloud CLI.
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=PROJECTGanti variabel berikut:
KUBECONFIG_FILE: jalur ke file kubeconfig sepertistandard-cluster-kubeconfig.yaml.STANDARD_CLUSTER_NAME: nama cluster standar.PROJECT: nama project tempat cluster standar berada.
Tentukan izin dalam cluster standar menggunakan
kubectl.Pengguna dengan izin
standard-cluster-admindapat membuat objekRoledanClusterRolekustom. Untuk memberikan izin ini, mereka dapat membuat objekRolebindingdanClusterRoleBindingyang sesuai untuk mengikat peran ke subjek tertentu, seperti pengguna atau akun layanan.Contoh berikut menggunakan
kubectluntuk membuatRolekustom contoh bernamatest-roledi namespacetest:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: test-role namespace: test rules: - apiGroups: - "" resources: - configmaps verbs: - get EOFContoh berikut membuat
RoleBindinguntukRolebernamatest-roledi namespacetest. Contoh ini memberikan izin kepada pengguna alice@example.com dengan awalan penyedia identitasfop-, serta keServiceAccountbernamamy-service-accountdi namespacedefault: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