Dalam skenario multi-penyewa, Container Service for Kubernetes (ACK) menandatangani dan menerbitkan file kubeconfig yang berisi informasi identitas kepada pengguna dengan peran berbeda. Jika seorang karyawan keluar atau file kubeconfig terpapar, segera cabut file tersebut untuk mencegah akses tidak sah ke kluster.
Menghapus Pengguna RAM atau Peran RAM tidak secara otomatis mencabut izin RBAC dalam file kubeconfig mereka. Selalu cabut kubeconfig sebelum menghapus Pengguna RAM.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Kluster ACK yang dibuat setelah tanggal berikut:
Kluster ACK yang dikelola atau kluster khusus ACK: 15 Oktober 2019
Kluster ACK Serverless: 6 September 2019
Mengakses Konsol ACK menggunakan Akun Alibaba Cloud atau Pengguna RAM
Siapa yang dapat mencabut apa
| Aktor | Apa yang dapat dicabut |
|---|---|
| Akun Alibaba Cloud | File kubeconfig semua Pengguna RAM dan Peran RAM yang dikelola oleh akun tersebut |
| Pengguna RAM | File kubeconfig milik Pengguna RAM itu sendiri |
Setelah file kubeconfig dicabut, ACK secara otomatis menghasilkan file kubeconfig baru untuk kluster tersebut.
Mencabut file kubeconfig sebagai Akun Alibaba Cloud
Gunakan prosedur ini untuk mencabut file kubeconfig Pengguna RAM dan Peran RAM yang dikelola oleh Akun Alibaba Cloud Anda—misalnya, ketika seorang karyawan keluar.
Akun Alibaba Cloud hanya dapat mencabut file kubeconfig Pengguna RAM atau Peran RAM yang dikelolanya.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Authorizations.
Di tab RAM Users, temukan Pengguna RAM target dan klik KubeConfig Management untuk melihat kluster yang dibuat oleh Pengguna RAM tersebut.
Di kolom Actions, klik Delete KubeConfig File dan ikuti petunjuk untuk menyelesaikan pencabutan.
Mencabut file kubeconfig Anda sendiri sebagai Pengguna RAM
Gunakan prosedur ini untuk mencabut file kubeconfig Anda sendiri jika file tersebut tidak lagi diperlukan atau telah terpapar.
Setelah file kubeconfig dicabut, Anda tidak dapat lagi menggunakannya untuk mengakses kluster terkait.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, klik nama kluster target. Di panel navigasi 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, ACK tidak dapat membersihkan binding Role-Based Access Control (RBAC) terkait secara otomatis. Ikuti langkah-langkah berikut berdasarkan apakah Pengguna RAM tersebut masih berada di Keranjang daur ulang.
Sebelum mencabut, pastikan tidak ada aplikasi di kluster yang bergantung pada izin dalam file kubeconfig tersebut.
Jika Pengguna RAM berada di Keranjang daur ulang
Pulihkan informasi dasar Pengguna RAM dari Keranjang daur ulang. Anda tidak perlu memulihkan pasangan Kunci Akses. Untuk detailnya, lihat Restore a RAM user from the recycle bin.
Sebagai Akun Alibaba Cloud, cabut file kubeconfig untuk semua kluster yang dibuat oleh Pengguna RAM tersebut. Untuk detailnya, lihat Mencabut file kubeconfig sebagai Akun Alibaba Cloud.
Pindahkan kembali Pengguna RAM ke Keranjang daur ulang. Untuk detailnya, lihat Move a RAM user to the recycle bin.
Jika Pengguna RAM telah dihapus permanen
Hapus secara manual binding RBAC yang terkait dengan Pengguna RAM atau Peran RAM yang telah dihapus.
Modul otorisasi ACK memberi nama binding berdasarkan ID Pengguna RAM atau peran:
| Jenis binding | Format penamaan |
|---|---|
| ClusterRoleBinding | xxxxxxx-clusterrolebinding |
| RoleBinding | xxxxxxx-yyyyy-rolebinding |
Awalan ID menunjukkan jenis entitas: 2 = Pengguna RAM, 3 = Peran RAM.
Langkah 1: Daftar ClusterRoleBindings
Jalankan perintah berikut sebagai administrator kluster:
kubectl get clusterrolebindingIdentifikasi 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 tersebut masih ada
Untuk binding dengan awalan
2(Pengguna RAM): Buka Konsol RAM, buka halaman Users, lalu cari berdasarkan ID Pengguna RAM. Jika pengguna tidak ditemukan, hapus binding tersebut.Untuk binding dengan awalan
3(Peran RAM): Panggil API ListRoles dan periksa apakah ID Peran RAM muncul dalam respons. Jika tidak muncul, 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 zzzzGanti xxxxxxx dengan ID Pengguna RAM atau peran, yyyyy dengan pengenal binding, dan zzzz dengan namespace RoleBinding.