Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon EMR di EKS menyediakan sejumlah fitur keamanan untuk dipertimbangkan ketika Anda mengembangkan dan menerapkan kebijakan keamanan Anda sendiri. Praktik terbaik berikut adalah pedoman umum dan tidak mewakili solusi keamanan yang lengkap. Karena praktik terbaik ini mungkin tidak sesuai atau tidak memadai untuk lingkungan Anda, perlakukan itu sebagai pertimbangan yang bermanfaat, bukan sebagai resep.
catatan
Untuk praktik terbaik keamanan lainnya, lihatAmazon EMR pada praktik terbaik keamanan EKS.
Terapkan prinsip hak istimewa paling rendah
Amazon EMR di EKS menyediakan kebijakan akses granular untuk aplikasi menggunakan IAM role, seperti peran eksekusi. Peran eksekusi ini dipetakan ke akun layanan Kubernetes melalui kebijakan kepercayaan IAM role. Amazon EMR di EKS menciptakan pod dalam namespace Amazon EKS terdaftar yang mengeksekusi kode aplikasi yang disediakan pengguna. Pod job yang menjalankan kode aplikasi mengambil peran eksekusi saat menghubungkan ke AWS layanan lain. Kami merekomendasikan bahwa peran eksekusi diberikan hanya seperangkat minimum hak istimewa yang diperlukan oleh tugas, seperti mencakup aplikasi Anda dan akses ke tujuan log. Kami juga merekomendasikan mengaudit tugas untuk izin secara teratur dan pada setiap perubahan pada kode aplikasi.
Daftar kontrol akses untuk titik akhir
Titik akhir terkelola dapat dibuat hanya untuk klaster EKS yang telah dikonfigurasi untuk menggunakan setidaknya satu subnet privat di VPC Anda. Konfigurasi ini membatasi akses ke penyeimbang beban yang dibuat oleh titik akhir terkelola sehingga mereka hanya dapat diakses dari VPC Anda. Untuk lebih meningkatkan keamanan, kami sarankan Anda mengonfigurasi grup keamanan dengan penyeimbang beban ini sehingga mereka dapat membatasi lalu lintas masuk ke serangkaian alamat IP yang dipilih.
Dapatkan pembaruan keamanan terbaru untuk gambar kustom
Untuk menggunakan gambar kustom dengan Amazon EMR di EKS, Anda dapat menginstal biner dan perpustakaan pada gambar. Anda bertanggung jawab untuk patch keamanan biner yang Anda tambahkan ke gambar. Gambar Amazon EMR di EKS secara teratur di-patch dengan patch keamanan terbaru. Untuk mendapatkan gambar terbaru, Anda harus membangun kembali gambar kustom setiap kali ada versi gambar dasar baru dari rilis Amazon EMR. Untuk informasi lebih lanjut, lihat Amazon EMR pada rilis EKS dan Detail untuk memilih URI gambar dasar.
Batasi akses kredensial pod
Kubernetes mendukung beberapa metode penetapan kredensial ke pod. Penyediaan beberapa penyedia kredensial dapat meningkatkan kompleksitas model keamanan Anda. Amazon EMR di EKS telah mengadopsi penggunaan IAM role untuk akun layanan (IRSA) sebagai penyedia kredensial standar dalam namespace EKS terdaftar. Metode lain tidak didukung, termasuk kube2iam, kiam
Mengisolasi kode aplikasi yang tidak tepercaya
Amazon EMR di EKS tidak memeriksa integritas kode aplikasi yang dikirimkan oleh pengguna sistem. Jika Anda menjalankan klaster virtual multi-tenanted yang dikonfigurasi menggunakan beberapa peran eksekusi yang dapat digunakan untuk mengirimkan tugas oleh penyewa tidak tepercaya yang menjalankan kode arbitrer, ada risiko aplikasi berbahaya meningkatkan hak istimewanya. Dalam situasi ini, pertimbangkan untuk mengisolasi peran eksekusi dengan hak istimewa yang sama ke klaster virtual yang berbeda.
Izin kontrol akses berbasis peran (RBAC)
Administrator harus mengontrol ketat izin kontrol akses berbasis peran (RBAC) untuk namespace terkelola Amazon EMR di EKS. Minimal, izin berikut tidak boleh diberikan kepada pengirim tugas di namespace terkelola Amazon EMR di EKS.
Izin Kubernetes RBAC untuk memodifikasi configmap - karena Amazon EMR di EKS menggunakan configmap Kubernetes untuk menghasilkan templat pod terkelola yang memiliki nama akun layanan terkelola. Atribut ini seharusnya tidak bermutasi.
Izin Kubernetes RBAC untuk exec ke pod Amazon EMR di EKS - untuk menghindari memberikan akses ke templat pod terkelola yang memiliki nama SA terkelola. Atribut ini seharusnya tidak bermutasi. Izin ini juga dapat memberikan akses ke token JWT dipasang ke pod yang kemudian dapat digunakan untuk mengambil kredensial peran eksekusi.
Izin Kubernetes RBAC untuk membuat pod - untuk mencegah pengguna membuat pod menggunakan Kubernetes ServiceAccount yang dapat dipetakan ke peran IAM dengan hak istimewa lebih dari pengguna. AWS
Izin Kubernetes RBAC untuk menerapkan webhook yang bermutasi - untuk mencegah pengguna menggunakan webhook yang bermutasi untuk mengubah nama Kubernetes untuk pod yang dibuat oleh Amazon EMR di EKS. ServiceAccount
Izin RBAC Kubernetes untuk membaca rahasia Kubernetes - untuk mencegah pengguna membaca data rahasia yang tersimpan dalam rahasia ini.
Membatasi akses ke nodegroup IAM role atau kredensial profil instans
Kami menyarankan Anda menetapkan AWS izin minimum untuk peran IAM nodegroup. Ini membantu untuk menghindari eskalasi hak istimewa dengan kode yang dapat dijalankan menggunakan kredensial profil instans dari simpul pekerja EKS.
Untuk memblokir akses sepenuhnya ke kredensial profil isntans untuk semua pod yang berjalan di namespace terkelola Amazon EMR di EKS, kami sarankan Anda menjalankan perintah
iptables
pada simpul EKS. Untuk informasi selengkapnya, lihat Membatasi akses ke kredensial profil EC2 instans Amazon. Namun, penting untuk mencakup dengan benar IAM role akun layanan Anda sehingga pod Anda memiliki semua izin yang diperlukan. Sebagai contoh, IAM role simpul diberikan izin untuk menarik gambar kontainer dari Amazon ECR. Jika pod tidak ditugaskan izin tersebut, pod tidak dapat menarik gambar kontainer dari Amazon ECR. Plugin VPC CNI juga perlu diperbarui. Untuk informasi lebih lanjut, lihat Panduan: Memperbarui plugin VPC CNI untuk menggunakan IAM role untuk akun layanan.