Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan CSI Penyedia AWS Rahasia dan Konfigurasi dengan Pod Identity untuk Amazon EKS
Integrasi AWS Secrets and Configuration Provider dengan Pod Identity Agent untuk Amazon Elastic Kubernetes Service memberikan peningkatan keamanan, konfigurasi yang disederhanakan, dan peningkatan kinerja untuk aplikasi yang berjalan di Amazon EKS. Pod Identity menyederhanakan autentikasi IAM untuk Amazon EKS saat mengambil rahasia dari Secrets Manager atau parameter dari Parameter Store. AWS Systems Manager
Amazon EKS Pod Identity merampingkan proses konfigurasi izin IAM untuk aplikasi Kubernetes dengan memungkinkan izin diatur secara langsung melalui antarmuka Amazon EKS, mengurangi jumlah langkah dan menghilangkan kebutuhan untuk beralih antara Amazon EKS dan layanan IAM. Pod Identity memungkinkan penggunaan peran IAM tunggal di beberapa cluster tanpa memperbarui kebijakan kepercayaan dan mendukung tag sesi peran untuk kontrol akses yang lebih terperinci. Pendekatan ini tidak hanya menyederhanakan manajemen kebijakan dengan mengizinkan penggunaan kembali kebijakan izin di seluruh peran tetapi juga meningkatkan keamanan dengan mengaktifkan akses ke AWS sumber daya berdasarkan tag yang cocok.
Cara kerjanya
-
Pod Identity memberikan peran IAM ke Pod.
-
ASCP menggunakan peran ini untuk mengautentikasi dengan. Layanan AWS
-
Jika diotorisasi, ASCP mengambil rahasia yang diminta dan membuatnya tersedia untuk Pod.
Untuk informasi selengkapnya, lihat Memahami cara kerja Identitas Pod Amazon EKS di Panduan Pengguna Amazon EKS.
Prasyarat
penting
Pod Identity hanya didukung untuk Amazon EKS di cloud. Ini tidak didukung untuk Amazon EKS Anywhere
-
Cluster Amazon EKS (versi 1.24 atau yang lebih baru)
-
Akses ke AWS CLI dan Amazon EKS cluster melalui
kubectl
-
Akses ke dua Akun AWS (untuk akses lintas akun)
Instal Agen Identitas Pod Amazon EKS
Untuk menggunakan Pod Identity dengan klaster Anda, Anda harus menginstal add-on Amazon EKS Pod Identity Agent.
Untuk menginstal Agen Identitas Pod
-
Instal add-on Pod Identity Agent di klaster Anda:
eksctl create addon \ --name eks-pod-identity-agent \ --cluster
clusterName
\ --regionregion
Mengatur ASCP dengan Pod Identity
-
Buat kebijakan izin yang memberikan
secretsmanager:GetSecretValue
dansecretsmanager:DescribeSecret
mengizinkan rahasia yang perlu diakses oleh Pod. Untuk contoh kebijakan, lihat Contoh: Izin untuk membaca dan menggambarkan rahasia individu. -
Buat peran IAM yang dapat diasumsikan oleh prinsipal layanan Amazon EKS untuk Pod Identity:
Lampirkan kebijakan IAM ke peran:
aws iam attach-role-policy \ --role-name
MY_ROLE
\ --policy-arnPOLICY_ARN
-
Buat asosiasi Pod Identity. Sebagai contoh, lihat Membuat asosiasi Identitas Pod di Panduan Pengguna Amazon EKS
-
Buat
SecretProviderClass
yang menentukan rahasia mana yang akan dipasang di Pod:kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleSecretProviderClass-PodIdentity.yaml
Perbedaan utama SecretProviderClass antara IRSA dan Pod Identity adalah parameter
usePodIdentity
opsional. Ini adalah bidang opsional yang menentukan pendekatan otentikasi. Ketika tidak ditentukan, defaultnya menggunakan Peran IAM untuk Akun Layanan (IRSA).-
Untuk menggunakan EKS Pod Identity, gunakan salah satu dari nilai-nilai ini:
"true", "True", "TRUE", "t", "T"
. -
Untuk secara eksplisit menggunakan IRSA, atur ke salah satu nilai ini:.
"false", "False", "FALSE", "f", or "F"
-
-
Terapkan Pod yang memasang rahasia di bawah:
/mnt/secrets-store
kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleDeployment-PodIdentity.yaml
-
Jika Anda menggunakan kluster Amazon EKS pribadi, pastikan VPC tempat cluster berada memiliki AWS STS titik akhir. Untuk informasi tentang membuat titik akhir, lihat Titik akhir VPC Antarmuka di AWS Identity and Access Management Panduan Pengguna.
Verifikasi pemasangan rahasia
Untuk memverifikasi bahwa rahasia sudah terpasang dengan benar, jalankan perintah berikut:
kubectl exec -it $(kubectl get pods | awk '/
pod-identity-deployment
/{print $1}' | head -1) -- cat /mnt/secrets-store/MySecret
Untuk mengatur Amazon EKS Pod Identity untuk mengakses rahasia di Secrets Manager
-
Buat kebijakan izin yang memberikan
secretsmanager:GetSecretValue
dansecretsmanager:DescribeSecret
mengizinkan rahasia yang perlu diakses oleh Pod. Untuk contoh kebijakan, lihat Contoh: Izin untuk membaca dan menggambarkan rahasia individu. -
Buat rahasia di Secrets Manager, jika Anda belum memilikinya.
Pemecahan Masalah
Anda dapat melihat sebagian besar kesalahan dengan menjelaskan penerapan Pod.
Untuk melihat pesan galat untuk penampung Anda
-
Dapatkan daftar nama Pod dengan perintah berikut. Jika Anda tidak menggunakan namespace default, gunakan.
-n
NAMESPACE
kubectl get pods
-
Untuk mendeskripsikan Pod, dalam perintah berikut,
PODID
gunakan ID Pod dari Pod yang Anda temukan di langkah sebelumnya. Jika Anda tidak menggunakan namespace default, gunakan.-n
NAMESPACE
kubectl describe pod/
PODID
Untuk melihat kesalahan untuk ASCP
-
Untuk menemukan informasi selengkapnya di log penyedia, dalam perintah berikut,
PODID
gunakan ID Pod csi-secrets-store-provider-aws.kubectl -n kube-system get pods kubectl -n kube-system logs pod/
PODID