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 AWS Identity and Access Management (IAM) untuk Amazon EKS saat mengambil parameter dari AWS Systems Manager Parameter Store atau rahasia dari Secrets 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 parameter 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
-
(Opsional) 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.
Ganti
default placeholder text
dengan nilai Anda sendiri:eksctl create addon \ --name eks-pod-identity-agent \ --cluster
clusterName
\ --regionregion
Mengatur ASCP dengan Pod Identity
-
Buat kebijakan izin yang memberikan
ssm:GetParameters
danssm:DescribeParameters
izin untuk parameter yang dibutuhkan Pod untuk mengakses. -
Buat peran IAM yang dapat diasumsikan oleh prinsipal layanan Amazon EKS untuk Pod Identity:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }
Lampirkan kebijakan IAM ke peran tersebut.
Ganti
default placeholder text
dengan nilai Anda sendiri: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 parameter atau rahasia mana yang akan dipasang di Pod:kubectl apply -f 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 parameterusePodIdentity
opsional. Ini adalah bidang opsional yang menentukan pendekatan otentikasi. Ketika tidak ditentukan, default 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"
-
-
Menerapkan Pod yang memasang parameter atau 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 parameter atau rahasia dipasang dengan benar, jalankan perintah berikut.
Ganti default placeholder text
dengan nilai Anda sendiri:
kubectl exec -it $(kubectl get pods | awk '/
pod-identity-deployment
/{print $1}' | head -1) -- cat /mnt/secrets-store/MyParameter
Untuk mengatur Amazon EKS Pod Identity untuk mengakses parameter di Parameter Store
-
Buat kebijakan izin yang memberikan
ssm:GetParameters
danssm:DescribeParameters
izin untuk parameter yang dibutuhkan Pod untuk mengakses. -
Buat parameter diParameter Store, jika Anda belum memilikinya. Untuk informasi, lihat Membuat Parameter Store parameter di Systems Manager.
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,
pod-id
gunakan ID Pod dari Pod yang Anda temukan di langkah sebelumnya. Jika Anda tidak menggunakan namespace default, gunakan.-n
NAMESPACE
kubectl describe pod/
pod-id
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/
pod-id