Langkah 1: Instal dan konfigurasikan ack-ram-tool
Jalankan salah satu perintah berikut untuk menginstal dan mengonfigurasi ack-ram-tool sesuai dengan sistem operasi Anda.
Lihat perintah untuk menginstal dan mengonfigurasi ack-ram-tool di Darwin_arm64
cd /tmp
wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Darwin_arm64.tar.gz
tar zxvf ack-ram-tool_0.18.0_Darwin_arm64.tar.gz
cp ack-ram-tool /usr/local/bin
ack-ram-tool version
Lihat perintah untuk menginstal dan mengonfigurasi ack-ram-tool di Darwin_x86_64
cd /tmp
wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Darwin_x86_64.tar.gz
tar zxvf ack-ram-tool_0.18.0_Darwin_x86_64.tar.gz
cp ack-ram-tool /usr/local/bin
ack-ram-tool version
Lihat perintah untuk menginstal dan mengonfigurasi ack-ram-tool di Linux_arm64
cd /tmp
wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Linux_arm64.tar.gz
tar zxvf ack-ram-tool_0.18.0_Linux_arm64.tar.gz
cp ack-ram-tool /usr/local/bin
ack-ram-tool version
Lihat perintah untuk menginstal dan mengonfigurasi ack-ram-tool di Linux_x86_64
cd /tmp
wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Linux_x86_64.tar.gz
tar zxvf ack-ram-tool_0.18.0_Linux_x86_64.tar.gz
cp ack-ram-tool /usr/local/bin
ack-ram-tool version
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi kredensial yang diperlukan oleh ack-ram-tool:
Membaca otomatis kredensial dari variabel lingkungan berikut:
ALIBABA_CLOUD_ACCESS_KEY_ID
ALIBABA_CLOUD_ACCESS_KEY_SECRET
ALIBABA_CLOUD_SECURITY_TOKEN. Untuk informasi lebih lanjut tentang cara mendapatkan SECURITY_TOKEN, lihat Apa itu STS?.
Membaca kredensial dari file konfigurasi ~/.aliyun/config.json dari CLI aliyun. Untuk informasi lebih lanjut, lihat Konfigurasikan kredensial.
Langkah 2: Berikan izin kepada kredensial yang digunakan oleh ack-ram-tool
Kredensial yang digunakan oleh ack-ram-tool memerlukan izin RAM dan RBAC.
Gunakan kebijakan berikut untuk memberikan izin kepada pengguna RAM. Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna RAM.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cs:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ram:ListUsers",
"ram:ListRoles"
],
"Resource": "*"
}
]
}
Lakukan langkah-langkah berikut untuk memberikan izin administrator RBAC kepada pengguna RAM:
Masuk ke Konsol ACK. Di panel navigasi sisi kiri, klik Authorizations.
Di halaman Otorisasi, klik tab RAM Users, temukan pengguna RAM yang ingin Anda kelola, lalu klik Modify Permissions untuk membuka panel Permission Management.
Klik Add Permissions, tentukan Clusters dan Namespace, atur Permission Management menjadi Administrator, lalu klik Submit.
Langkah 3: Kueri binding RBAC pengguna RAM dan peran RAM yang ditentukan dalam kluster
Anda dapat menjalankan perintah ack-ram-tool rbac scan-user-permissions untuk menanyakan binding RBAC pengguna RAM dan peran RAM yang ditentukan dalam kluster.
Kueri hanya binding RBAC pengguna RAM dan peran RAM yang telah dihapus
Jalankan perintah berikut untuk menanyakan binding RBAC pengguna RAM dan peran RAM yang telah dihapus dalam kluster:
ack-ram-tool rbac scan-user-permissions -c <ID Kluster>
Output yang diharapkan:
2023-12-12T15:34:37+08:00 INFO mulai memindai pengguna dan binding untuk kluster c401890df511a4362bf24bece4da****
2023-12-12T15:34:43+08:00 WARN secara default, hanya pengguna yang dihapus yang termasuk. Gunakan flag --all-users untuk menyertakan semua pengguna
UID UserType UserName Binding
30086537005566**** (deleted) RamRole ClusterRoleBinding/-/30086537005566****-clusterrolebinding
24320678733226**** (deleted) RamUser ClusterRoleBinding/-/24320678733226****-clusterrolebinding
Tabel berikut menjelaskan parameter UserType:
Nilai UserType | Deskripsi |
RamRole | Peran RAM |
RamUser | Pengguna RAM |
Root | Akun Alibaba Cloud |
Kueri binding RBAC semua pengguna RAM dan peran RAM
Jalankan perintah berikut untuk menanyakan binding RBAC semua pengguna RAM dan peran RAM:
ack-ram-tool rbac scan-user-permissions --all-users -c <ID Kluster>
Output yang diharapkan:
2023-12-12T15:36:00+08:00 INFO Mulai memindai pengguna dan binding untuk kluster c401890df511a4362bf24bece4da6****
UID UserType UserName Binding
30032484611590**** (deleted) RamRole ClusterRoleBinding/-/30032484611590****-clusterrolebinding
20492499986425**** (deleted) RamUser ClusterRoleBinding/-/20492499986425****-clusterrolebinding
27203272572548**** RamUser scan ClusterRoleBinding/-/27203272572548****-clusterrolebinding
113802571552**** Root ClusterRoleBinding/-/113802571552****-cluster-admin-clusterrolebinding
29068913515444**** RamUser test-ack-ram-check ClusterRoleBinding/-/29068913515444****-clusterrolebinding
Kueri binding RBAC untuk semua kluster yang dimiliki oleh akun Alibaba Cloud saat ini
Jalankan perintah berikut untuk menanyakan binding RBAC untuk semua kluster yang dimiliki oleh akun Alibaba Cloud saat ini:
ack-ram-tool rbac scan-user-permissions -c all
Output yang diharapkan:
2023-12-12T16:44:55+08:00 INFO mulai memindai pengguna dan binding untuk semua kluster
2023-12-12T16:44:55+08:00 INFO mulai mendapatkan semua kluster, pengguna, dan peran
2023-12-12T16:44:58+08:00 INFO ---- c401890df511a4362bf24bece4da6**** (test-pro111323223) ----
2023-12-12T16:44:58+08:00 INFO [c401890df511a4362bf24bece4da6****] mulai memindai binding untuk kluster c401890df511a4362bf24bece4da6****
2023-12-12T16:45:00+08:00 WARN [c401890df511a4362bf24bece4da6****] secara default, hanya pengguna yang dihapus yang termasuk. Gunakan flag --all-users untuk menyertakan semua pengguna
ClusterId: c401890df511a4362bf24bece4da6****
UID UserType UserName Binding
30086537005566**** (deleted) RamRole ClusterRoleBinding/-/30086537005566****-clusterrolebinding
20492499986425**** (deleted) RamUser ClusterRoleBinding/-/20492499986425****-clusterrolebinding
2023-12-12T16:45:00+08:00 INFO ---- c137a979dec21472c8279c903cfce**** (test-pro) ----
2023-12-12T16:45:00+08:00 INFO [c137a979dec21472c8279c903cfce****] mulai memindai binding untuk kluster c137a979dec21472c8279c903cfce****
2023-12-12T16:45:01+08:00 WARN [c137a979dec21472c8279c903cfce****] secara default, hanya pengguna yang dihapus yang termasuk. Gunakan flag --all-users untuk menyertakan semua pengguna
ClusterId: c137a979dec21472c8279c903cfce****
UID UserType UserName Binding
30086537005566**** (deleted) RamRole ClusterRoleBinding/-/30086537005566****-clusterrolebinding
24320678733226**** (deleted) RamUser ClusterRoleBinding/-/24320678733226****-clusterrolebinding
Langkah 4: Hapus binding RBAC pengguna RAM dan peran RAM yang ditentukan dalam kluster dan hapus file kubeconfig
Anda dapat menjalankan perintah ack-ram-tool rbac cleanup-user-permissions untuk menghapus binding RBAC pengguna RAM dan peran yang ditentukan dalam kluster serta menghapus file kubeconfig.
Penting Jika log menampilkan pengguna ini telah aktif dalam 7 hari terakhir, pengguna RAM atau peran RAM mengakses kluster dalam tujuh hari sebelumnya. Lanjutkan dengan hati-hati ketika melakukan langkah ini.
Sebelum ack-ram-tool menghapus file JSON binding RBAC, ia membuat cadangan file JSON binding RBAC di folder bernama ID kluster.
Cabut izin pengguna RAM atau peran RAM pada kluster tunggal
Jalankan perintah berikut untuk mencabut izin pengguna RAM atau peran RAM pada kluster tunggal:
Anda dapat menjalankan perintah ack-ram-tool rbac scan-user-permissions -c <ID Kluster> untuk mendapatkan nilai <UID>.
ack-ram-tool rbac cleanup-user-permissions -c <ID Kluster> -u <UID>
Output yang diharapkan:
Klik untuk melihat detail
2023-12-12T18:17:10+08:00 INFO mulai memindai pengguna dan binding
2023-12-12T18:17:15+08:00 WARN kami akan membersihkan binding RBAC sebagai berikut:
UID UserType UserName Binding
25908395708943**** RamUser ack-admin ClusterRoleBinding/-/25908395708943****-clusterrolebinding
2023-12-12T18:17:15+08:00 WARN kami akan membersihkan izin kubeconfig untuk pengguna sebagai berikut:
UID: 25908395708943****
2023-12-12T18:17:15+08:00 INFO mulai memeriksa log audit kluster untuk pengguna 25908395708943****
2023-12-12T18:17:16+08:00 WARN pengguna ini telah aktif dalam 7 hari terakhir, dan waktu aktivitas terakhir adalah: 2023-12-12T10:27:56+08:00. Anda akan menemukan detail log audit terkait di bawah ini:
sls project: k8s-log-c137a979dec21472c8279c903cfce****
sls logstore: audit-c137a979dec21472c8279c903cfce****
last activity: 2023-12-12T10:27:56+08:00 (auditID: 8f6f1483-77f3-44b3-85cb-f23d1a76e****)
? Apakah Anda yakin ingin membersihkan binding dan izin ini? Ya
2023-12-12T18:17:37+08:00 INFO mulai mencadangkan binding ClusterRoleBinding/-/25908395708943****-clusterrolebinding
2023-12-12T18:17:38+08:00 INFO binding asli ClusterRoleBinding/-/25908395708943****-clusterrolebinding telah dicadangkan ke file c137a979dec21472c8279c903cfce****/ClusterRoleBinding--25908395708943****-clusterrolebinding.json
2023-12-12T18:17:38+08:00 INFO mulai membersihkan izin kubeconfig untuk uid 25908395708943****
2023-12-12T18:17:38+08:00 INFO selesai membersihkan izin kubeconfig untuk uid 25908395708943****
2023-12-12T18:17:38+08:00 INFO semua binding dan izin telah dibersihkan
Cabut izin dari pengguna RAM atau Peran RAM pada semua kluster
Jalankan perintah berikut untuk menghapus binding RBAC pengguna RAM atau peran RAM untuk semua kluster yang dimiliki oleh akun Alibaba Cloud saat ini serta menghapus file kubeconfig:
ack-ram-tool rbac cleanup-user-permissions -c all -u <UID>
Output yang diharapkan:
Klik untuk melihat detail
2023-12-12T19:28:23+08:00 INFO mulai memindai pengguna dan binding untuk semua kluster
2023-12-12T19:28:23+08:00 INFO mulai mendapatkan semua kluster, pengguna, dan peran
2023-12-12T19:28:24+08:00 INFO ---- c401890df511a4362bf24bece4da6**** (test-pro111323223) ----
2023-12-12T19:28:24+08:00 INFO [c401890df511a4362bf24bece4da6****] mulai membersihkan binding dan izin untuk kluster c401890df511a4362bf24bece4da6****
2023-12-12T19:28:24+08:00 INFO [c401890df511a4362bf24bece4da6****] mulai memindai pengguna dan binding
2023-12-12T19:28:25+08:00 WARN [c401890df511a4362bf24bece4da6****] kami akan membersihkan binding RBAC sebagai berikut:
UID UserType UserName Binding
25908395708943**** RamUser ack-admin ClusterRoleBinding/-/25908395708943****-clusterrolebinding
2023-12-12T19:28:25+08:00 WARN [c401890df511a4362bf24bece4da6****] kami akan membersihkan izin kubeconfig untuk pengguna sebagai berikut:
UID: 259083957089437690
2023-12-12T19:28:25+08:00 INFO [c401890df511a4362bf24bece4da6****] mulai memeriksa log audit kluster untuk pengguna 25908395708943****
2023-12-12T19:28:25+08:00 WARN [c401890df511a4362bf24bece4da6****] pengguna ini telah aktif dalam 7 hari terakhir, dan waktu aktivitas terakhir adalah: 2023-12-12T10:27:56+08:00. Anda akan menemukan detail log audit terkait di bawah ini:
sls project: k8s-log-c401890df511a4362bf24bece4da****
sls logstore: audit-c401890df511a4362bf24bece4da6****
last activity: 2023-12-12T10:27:56+08:00 (auditID: 8f6f1483-77f3-44b3-85cb-f23d1a76****)
? Apakah Anda yakin ingin membersihkan binding dan izin ini? Ya
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] mulai mencadangkan binding ClusterRoleBinding/-/25908395708943**** -clusterrolebinding
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] binding asli ClusterRoleBinding/-/25908395708943****-clusterrolebinding telah dicadangkan ke file c401890df511a4362bf24bece4da6**** /ClusterRoleBinding--259083957089437XXX-clusterrolebinding.json
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] mulai membersihkan izin kubeconfig untuk uid 25908395708943****
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] selesai membersihkan izin kubeconfig untuk uid 25908395708943****
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] semua binding dan izin telah dibersihkan
2023-12-12T19:28:49+08:00 INFO ---- c137a979dec21472c8279c903cfce**** (test-pro) ----
2023-12-12T19:28:49+08:00 INFO [c137a979dec21472c8279c903cfce****] mulai membersihkan binding dan izin untuk kluster c137a979dec21472c8279c903cfce****
2023-12-12T19:28:49+08:00 INFO [c137a979dec21472c8279c903cfce****] mulai memindai pengguna dan binding
2023-12-12T19:28:51+08:00 WARN [c137a979dec21472c8279c903cfce****] kami akan membersihkan binding RBAC sebagai berikut:
UID UserType UserName Binding
25908395708943**** RamUser ack-admin ClusterRoleBinding/-/25908395708943**** -clusterrolebinding
2023-12-12T19:28:51+08:00 WARN [c137a979dec21472c8279c903cfce****] kami akan membersihkan izin kubeconfig untuk pengguna sebagai berikut:
UID: 25908395708943****
2023-12-12T19:28:51+08:00 INFO [c137a979dec21472c8279c903cfce****] mulai memeriksa log audit kluster untuk pengguna 25908395708943****
2023-12-12T19:28:51+08:00 WARN [c137a979dec21472c8279c903cfce****] pengguna ini telah aktif dalam 7 hari terakhir, dan waktu aktivitas terakhir adalah: 2023-12-12T17:55:50+08:00. Anda akan menemukan detail log audit terkait di bawah ini:
sls project: k8s-log-c137a979dec21472c8279c903cfce****
sls logstore: audit-c137a979dec21472c8279c903cfce****
last activity: 2023-12-12T17:55:50+08:00 (auditID: 8f6f1483-77f3-44b3-85cb-f23d1a76****)
? Apakah Anda yakin ingin membersihkan binding dan izin ini? Ya
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] mulai mencadangkan binding ClusterRoleBinding/-/25908395708943****-clusterrolebinding
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] binding asli ClusterRoleBinding/-/25908395708943****-clusterrolebinding telah dicadangkan ke file c137a979dec21472c8279c903cfce**** /ClusterRoleBinding--25908395708943**** -clusterrolebinding.json
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] mulai membersihkan izin kubeconfig untuk uid 25908395708943****
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] selesai membersihkan izin kubeconfig untuk uid 25908395708943****
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] semua binding dan izin telah dibersihkan
Referensi
Untuk informasi lebih lanjut tentang cara mengelola file kubeconfig, lihat Hapus file kubeconfig.