Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Harden Kubernetes RBAC di Amazon EKS
Kontrol akses berbasis peran Kubernetes (RBAC) mengontrol tindakan apa yang dapat dilakukan identitas di dalam klaster. Banyak komponen cluster, termasuk driver CSI dan add-on lain yang diinstal sebagai DaemonSets, memerlukan izin luas untuk berfungsi. Meninjau dan mencakupi izin ini mengurangi potensi cakupan akses yang tidak diinginkan.
Topik ini menjelaskan pertimbangan izin untuk komponen cluster umum dan kontrol yang direkomendasikan.
DaemonSet izin akun layanan
DaemonSet Pod berjalan di setiap node di cluster, sehingga token akun layanan mereka dan izin RBAC yang diberikan token tersebut ada di setiap node.
Proses yang tidak sah pada sebuah node mungkin dapat mengakses token akun layanan dari Pod lain yang berjalan pada node yang sama, termasuk DaemonSet Pod. Izin RBAC yang diberikan ke akun DaemonSet layanan sama pada setiap node di cluster.
Komponen yang biasa digunakan sebagai DaemonSets meliputi:
-
Driver simpul CSI (
ebs-csi-node,efs-csi-node,mountpoint-s3-csi-node) -
Plugin Amazon VPC CNI ()
aws-node -
kube-proxy
Jika DaemonSet Pod memiliki kredensi AWS IAM melalui EKS Pod Identity atau IAM Roles for Service Accounts (IRSA), proses yang mendapatkan akses di luar kontainernya pada node yang sama juga dapat mengakses kredensial-kredensialnya. Ini memperluas cakupan dampak di luar Kubernetes RBAC ke izin AWS API apa pun yang diberikan kepada peran IAM. DaemonSet
penting
Saat meninjau izin, perlakukan izin Kubernetes RBAC dan izin IAM dari setiap akun DaemonSet layanan sebagai dapat diakses dari setiap node di cluster.
Cakupan RBAC driver CSI
Driver CSI biasanya memiliki hibah RBAC yang luas karena mereka berinteraksi dengan node, volume persisten, dan penyimpanan. APIs
Izin objek simpul
Driver CSI mungkin memerlukan izin RBAC untuk memodifikasi objek Node untuk mendukung fitur seperti penghapusan taint atau tugas manajemen node lainnya. Karena keterbatasan Kubernetes RBAC, izin ini berlaku untuk semua objek Node di cluster, tidak hanya node lokal yang dijalankan driver.
Untuk driver EBS CSI, bagan Helm menyediakan parameter (node.serviceAccount.disableMutation) yang menghapus izin modifikasi node dari akun layanan. ebs-csi-node Mengaktifkan ini menonaktifkan fitur penghapusan noda.
Eksposur token akun layanan
Pod driver CSI dapat menggunakan token akun layanan yang diproyeksikan untuk otentikasi. Pada node di mana proses yang tidak sah telah memperoleh akses di luar kontainernya, token tersebut dapat diakses melalui sistem file container atau API kubelet. Jika akun layanan juga dikaitkan dengan peran IAM melalui EKS Pod Identity atau IRSA, token yang terekspos dapat digunakan untuk mendapatkan kredensi AWS IAM.
Kontrol yang direkomendasikan
Lingkup RBAC hingga hak istimewa terkecil
-
Tinjau akun driver dan DaemonSet layanan CSI yang ClusterRoles terikat. Hapus izin yang tidak diperlukan untuk beban kerja Anda.
-
Untuk driver EBS CSI, atur
node.serviceAccount.disableMutationketruejika Anda tidak menggunakan fitur penghapusan taint. -
Gunakan
kubectl auth can-i --list --as=system:serviceaccount:NAMESPACE:SERVICE_ACCOUNTuntuk mengaudit izin yang efektif.
Menegakkan standar keamanan Pod
Menerapkan Standar Keamanan Pod Kubernetesbaseline profil di seluruh klaster dan restricted profil untuk ruang nama beban kerja. Ini membatasi kemampuan untuk membuat wadah istimewa di luar ruang nama sistem.
Gunakan kebijakan jaringan
Terapkan kebijakan jaringan untuk membatasi jalan keluar dari driver CSI dan DaemonSet Pod hanya pada titik akhir yang mereka butuhkan (misalnya, server API Kubernetes dan titik akhir layanan). AWS Ini mengurangi ruang lingkup tindakan yang mungkin.
Pantau aktivitas RBAC
Aktifkan pencatatan audit Kubernetes dan pantau panggilan API tak terduga dari DaemonSet akun layanan. Cari:
-
Modifikasi node dari akun layanan driver CSI
-
Pembuatan pod di ruang nama sistem
-
Tidak biasa
getataulistpanggilan pada Rahasia
Lihat informasi yang lebih lengkap di Kirim log pesawat kontrol ke CloudWatch Log.