Identitas EKS Pod - Amazon EKS

Bantu tingkatkan halaman ini

Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Identitas EKS Pod

Aplikasi dalam Pod kontainer dapat menggunakan AWS SDK atau AWS CLI untuk membuat permintaan API untuk Layanan AWS menggunakan izin AWS Identity and Access Management (IAM). Aplikasi harus menandatangani permintaan AWS API mereka dengan AWS kredensialnya.

EKS Pod Identities menyediakan kemampuan untuk mengelola kredensyal untuk aplikasi Anda, mirip dengan cara profil instans Amazon EC2 memberikan kredensyal ke instans Amazon EC2. Alih-alih membuat dan mendistribusikan AWS kredensyal Anda ke container atau menggunakan peran instans Amazon EC2, Anda mengaitkan peran IAM dengan akun layanan dan mengonfigurasi Anda Pods untuk menggunakan akun Kubernetes layanan.

Setiap asosiasi EKS Pod Identity memetakan peran ke akun layanan di namespace di klaster yang ditentukan. Jika Anda memiliki aplikasi yang sama di beberapa cluster, Anda dapat membuat asosiasi identik di setiap cluster tanpa mengubah kebijakan kepercayaan peran.

Jika sebuah pod menggunakan akun layanan yang memiliki asosiasi, Amazon EKS menetapkan variabel lingkungan dalam kontainer pod. Variabel lingkungan mengonfigurasi AWS SDK, termasuk AWS CLI, untuk menggunakan kredenal Identitas Pod EKS.

Manfaat Identitas EKS Pod

EKS Pod Identities memberikan manfaat sebagai berikut:

  • Keistimewaan paling sedikit — Anda dapat mencakup izin IAM ke akun layanan, dan hanya akun layanan Pods yang menggunakan itu yang memiliki akses ke izin tersebut. Fitur ini juga mengurangi kebutuhan akan solusi dari pihak ketiga seperti kiam atau kube2iam.

  • Isolasi kredensyal — Pod's Kontainer hanya dapat mengambil kredensyal untuk peran IAM yang terkait dengan akun layanan yang digunakan penampung. Kontainer tidak pernah memiliki akses ke kredensional yang digunakan oleh kontainer lain di wadah lain. Pods Saat menggunakan Identitas Pod, Pod's container juga memiliki izin yang ditetapkan ke peran IAM node Amazon EKS, kecuali jika Anda memblokir Pod akses ke Amazon EC2 Instance Metadata Service (IMDS). Untuk informasi selengkapnya, lihat Membatasi akses ke profil instance yang ditetapkan ke node pekerja.

  • Auditabilitas — Akses dan pencatatan peristiwa tersedia AWS CloudTrail untuk membantu memfasilitasi audit retrospektif.

EKS Pod Identity adalah metode yang lebih sederhana daripadaIAM role untuk akun layanan, karena metode ini tidak menggunakan penyedia OIDC identitas. EKS Pod Identity memiliki penyempurnaan sebagai berikut:

  • Operasi independen — Di banyak organisasi, menciptakan penyedia OIDC identitas adalah tanggung jawab tim yang berbeda daripada mengelola Kubernetes cluster. EKS Pod Identity memiliki pemisahan tugas yang bersih, di mana semua konfigurasi asosiasi Identitas Pod EKS dilakukan di Amazon EKS dan semua konfigurasi izin IAM dilakukan di IAM.

  • Reusability — EKS Pod Identity menggunakan satu prinsipal IAM, bukan prinsipal terpisah untuk setiap klaster yang digunakan peran IAM untuk akun layanan. Administrator IAM Anda menambahkan prinsipal berikut ke kebijakan kepercayaan dari peran apa pun agar dapat digunakan oleh EKS Pod Identities.

    "Principal": { "Service": "pods.eks.amazonaws.com" }
  • Skalabilitas — Setiap set kredensyal sementara diasumsikan oleh EKS Auth layanan di EKS Pod Identity, bukan setiap AWS SDK yang Anda jalankan di setiap pod. Kemudian, Amazon EKS Pod Identity Agent yang berjalan di setiap node mengeluarkan kredensialnya ke SDK. Dengan demikian beban dikurangi menjadi satu kali untuk setiap node dan tidak diduplikasi di setiap pod. Untuk detail lebih lanjut tentang prosesnya, lihatCara kerja EKS Pod Identity.

Untuk informasi lebih lanjut untuk membandingkan dua alternatif, lihatBerikan akses beban kerja Kubernetes untuk menggunakan Akun Layanan AWSKubernetes.

Ikhtisar pengaturan EKS Pod Identities

Aktifkan Identitas Pod EKS dengan menyelesaikan prosedur berikut:

  1. Siapkan Agen Identitas Amazon EKS Pod— Anda hanya menyelesaikan prosedur ini sekali untuk setiap cluster.

  2. Mengkonfigurasi akun Kubernetes layanan untuk mengambil peran IAM dengan EKS Pod Identity— Selesaikan prosedur ini untuk setiap set izin unik yang Anda inginkan untuk dimiliki aplikasi.

  3. PodsKonfigurasikan untuk menggunakan akun Kubernetes layanan— Selesaikan prosedur ini untuk masing-masing Pod yang membutuhkan akses Layanan AWS.

  4. Menggunakan AWS SDK yang didukung— Konfirmasikan bahwa beban kerja menggunakan AWS SDK versi yang didukung dan beban kerja menggunakan rantai kredensyal default.

Pertimbangan Identitas EKS Pod

  • Anda dapat mengaitkan satu peran IAM ke setiap akun Kubernetes layanan di setiap cluster. Anda dapat mengubah peran mana yang dipetakan ke akun layanan dengan mengedit asosiasi EKS Pod Identity.

  • Anda hanya dapat mengaitkan peran yang Akun AWS sama dengan cluster. Anda dapat mendelegasikan akses dari akun lain ke peran di akun ini yang Anda konfigurasikan untuk Identitas Pod EKS untuk digunakan. Untuk tutorial tentang mendelegasikan akses danAssumeRole, lihat Mendelegasikan akses di seluruh AWS akun menggunakan peran IAM dalam Panduan Pengguna IAM.

  • Agen Identitas Pod EKS diperlukan. Ini berjalan sebagai a Kubernetes DaemonSet pada node Anda dan hanya menyediakan kredensional untuk pod pada node yang dijalankan. Untuk informasi selengkapnya tentang kompatibilitas Agen Identitas Pod EKS, lihat bagian berikutPembatasan Identitas Pod EKS.

  • EKS Pod Identity Agent menggunakan node dan menggunakan port 80 dan port 2703 pada alamat link-lokal pada node. hostNetwork Alamat ini 169.254.170.23 untuk IPv4 dan [fd00:ec2::23] untuk IPv6 cluster.

    Jika Anda menonaktifkan IPv6 alamat, atau mencegah alamat IPv6 IP localhost, agen tidak dapat memulai. Untuk memulai agen pada node yang tidak dapat digunakanIPv6, ikuti langkah-langkah Nonaktifkan IPv6 di Agen Identitas Pod EKS untuk menonaktifkan IPv6 konfigurasi.

EKS Pod Identity versi cluster

Untuk menggunakan EKS Pod Identities, cluster harus memiliki versi platform yang sama atau lebih lambat dari versi yang tercantum dalam tabel berikut, atau Kubernetes versi yang lebih lambat dari versi yang tercantum dalam tabel.

Versi Kubernetes Versi platform
1.30 eks.2
1.29 eks.1
1.28 eks.4
1.27 eks.8
1.26 eks.9
1.25 eks.10
1.24 eks.13

Versi pengaya yang kompatibel dengan EKS Pod Identity

penting

Untuk menggunakan EKS Pod Identity dengan Eks Add-on, Anda harus membuat asosiasi EKS Pod Identity secara manual. Jangan memilih peran IAM dalam konfigurasi add-on di AWS Management Console, peran itu hanya digunakan dengan IRSA.

Add-on Amazon EKS dan add-on yang dikelola sendiri yang memerlukan kredenal IAM dapat menggunakan EKS Pod Identity, IRSA, atau peran instans. Daftar add-on yang menggunakan kredenal IAM yang mendukung EKS Pod Identity adalah:

  • Amazon VPC CNI plugin for Kubernetes1.15.5-eksbuild.1atau nanti

  • AWS Load Balancer Controller2.7.0atau nanti. Perhatikan bahwa AWS Load Balancer Controller tidak tersedia sebagai Pengaya EKS, tetapi tersedia sebagai add-on yang dikelola sendiri.

Pembatasan Identitas Pod EKS

Identitas Pod EKS tersedia pada hal-hal berikut:

  • Amazon EKS versi cluster tercantum dalam topik sebelumnyaEKS Pod Identity versi cluster.

  • Node pekerja di cluster yang merupakan instans Linux Amazon EC2.

EKS Pod Identities tidak tersedia di berikut ini:

  • Wilayah China.

  • AWS GovCloud (US).

  • AWS Outposts.

  • Amazon EKS Anywhere.

  • Kubernetescluster yang Anda buat dan jalankan di Amazon EC2. Komponen EKS Pod Identity hanya tersedia di Amazon EKS.

Anda tidak dapat menggunakan EKS Pod Identities dengan:

  • Pod yang berjalan di mana saja kecuali instans Linux Amazon EC2. Pod Linux dan Windows yang berjalan AWS Fargate (Fargate) tidak didukung. Pod yang berjalan di instans Windows Amazon EC2 tidak didukung.

  • Add-on Amazon EKS yang membutuhkan kredensi IAM. Pengaya EKS hanya dapat menggunakan peran IAM untuk akun layanan sebagai gantinya. Daftar add-on EKS yang menggunakan kredensi IAM meliputi:

    • Driver CSI penyimpanan: EBS CSI, EFS CSI, driver Amazon FSx for Lustre CSI, Amazon FSx untuk driver ONTAP CSI, Amazon NetApp FSx untuk driver CSI OpenZFS, driver CSI Cache File Amazon, Penyedia Rahasia dan Konfigurasi (ASCP) untuk Secrets Store CSI Driver AWS Kubernetes

    catatan

    Jika pengontrol, driver, dan plugin ini diinstal sebagai add-on yang dikelola sendiri, bukan add-on EKS, mereka mendukung EKS Pod Identities selama mereka diperbarui untuk menggunakan SDK terbaru. AWS