Dalam skenario multi-penyewa, ACK menerbitkan file kubeconfig yang menyematkan informasi identitas pengguna untuk akses kluster. Cabut kredensial kubeconfig yang telah didistribusikan ketika karyawan keluar atau kredensial berpotensi terekspos guna melindungi keamanan kluster. Topik ini menjelaskan cara Akun Alibaba Cloud atau Pengguna RAM mencabut kredensial kubeconfig yang telah diterbitkan.
Menghapus Pengguna RAM atau Peran RAM tidak secara otomatis mencabut izin RBAC dalam file kubeconfig. Selalu cabut kubeconfig sebelum menghapus Pengguna RAM.
Prasyarat
Pastikan hal-hal berikut:
-
Kluster ACK yang dibuat setelah tanggal berikut:
-
Kluster ACK yang dikelola atau kluster khusus ACK: 15 Oktober 2019
-
Kluster ACK Serverless: 6 September 2019
-
-
Akun Alibaba Cloud atau Pengguna RAM dengan akses ke Konsol ACK
Siapa yang dapat mencabut apa
| Aktor | Apa yang dapat dicabut |
|---|---|
| Akun Alibaba Cloud | File kubeconfig semua Pengguna RAM dan Peran RAM di bawah akun tersebut |
| Pengguna RAM | File kubeconfig milik Pengguna RAM tersebut sendiri |
Setelah pencabutan, ACK secara otomatis menetapkan file kubeconfig baru ke kluster.
Mencabut file kubeconfig sebagai Akun Alibaba Cloud
Cabut file kubeconfig Pengguna RAM atau Peran RAM di bawah akun Anda, misalnya ketika seorang karyawan keluar.
Akun Alibaba Cloud hanya dapat mencabut file kubeconfig Pengguna RAM atau Peran RAM yang dikelolanya.
-
Login ke Konsol ACK. Di panel navigasi sebelah kiri, klik Authorizations.
-
Di tab RAM Users, temukan Pengguna RAM yang dituju lalu klik KubeConfig Management.
-
Di kolom Actions, klik Delete KubeConfig File dan konfirmasi.
Mencabut file kubeconfig Anda sendiri sebagai Pengguna RAM
Cabut file kubeconfig Anda sendiri jika tidak lagi diperlukan atau telah terekspos.
Setelah dicabut, file kubeconfig tidak dapat digunakan untuk mengakses kluster.
-
Login ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster yang dituju. Di panel navigasi sebelah kiri, klik Cluster Information.
-
Di tab Connection Information, klik Revoke KubeConfig lalu klik OK.
Mencabut kubeconfig untuk Pengguna RAM yang telah dihapus permanen
Jika Pengguna RAM dihapus sebelum kubeconfig-nya dicabut, binding RBAC terkait tetap ada. Pilih metode pembersihan berdasarkan apakah Pengguna RAM tersebut masih berada di Keranjang daur ulang.
Sebelum mencabut, pastikan tidak ada aplikasi kluster yang bergantung pada izin dalam file kubeconfig tersebut.
Jika Pengguna RAM berada di Keranjang daur ulang
-
Pulihkan Pengguna RAM dari Keranjang daur ulang. Anda tidak perlu memulihkan pasangan Kunci Akses.
-
Sebagai Akun Alibaba Cloud, cabut file kubeconfig untuk semua kluster yang dibuat oleh Pengguna RAM tersebut.
Jika Pengguna RAM telah dihapus permanen
Hapus secara manual binding RBAC untuk Pengguna RAM atau Peran RAM yang telah dihapus.
ACK memberi nama binding menggunakan ID Pengguna RAM atau Peran RAM:
| Jenis binding | Format penamaan |
|---|---|
| ClusterRoleBinding | xxxxxxx-clusterrolebinding |
| RoleBinding | xxxxxxx-yyyyy-rolebinding |
Awalan ID menunjukkan jenis principal: 2 = Pengguna RAM, 3 = Peran RAM.
Langkah 1: Tampilkan daftar ClusterRoleBindings
Sebagai administrator kluster:
kubectl get clusterrolebinding
Identifikasi binding yang diawali dengan ID Pengguna atau Peran yang telah dihapus.
Langkah 2: Daftar RoleBinding
kubectl get rolebinding -A | grep 'cs:ns:'
Identifikasi binding yang diawali dengan ID Pengguna atau Peran yang telah dihapus.
Langkah 3: Verifikasi apakah Pengguna RAM atau Peran RAM masih ada
-
Untuk binding dengan awalan
2(Pengguna RAM): Di Konsol RAM, buka Users, lalu cari berdasarkan ID Pengguna RAM. Jika pengguna tidak ditemukan, hapus binding tersebut. -
Untuk binding dengan awalan
3(Peran RAM): Panggil API ListRoles. Jika ID Peran RAM tidak muncul dalam respons, hapus binding tersebut.
Langkah 4: Hapus binding yang tidak lagi memiliki entitas terkait
kubectl delete clusterrolebinding xxxxxxx-clusterrolebinding
kubectl delete rolebinding xxxxxxx-yyyyy-rolebinding -n zzzz
Ganti xxxxxxx dengan ID Pengguna RAM atau Peran RAM, yyyyy dengan pengenal binding, dan zzzz dengan namespace RoleBinding.