View a markdown version of this page

Berikan akses pengontrol penyeimbang beban Mode Otomatis EKS ke Rahasia tertentu - Amazon EKS

Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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.

Berikan akses pengontrol penyeimbang beban Mode Otomatis EKS ke Rahasia tertentu

Dalam tutorial ini, Anda memberikan akses baca pengontrol penyeimbang beban Mode Otomatis Amazon EKS ke Ku Secret bernetes tertentu. Ini membuka blokir otentikasi OIDC pada ALB. Ingress Anda menggunakan ruang nama yang dicakup Role dan RoleBinding ditargetkan pada grup. eks:managed

Tutorial ini membutuhkan waktu sekitar 15 menit untuk menyelesaikannya. Objek Kubernetes RBAC yang Anda buat tidak dikenakan biaya. AWS

Pengontrol penyeimbang beban Mode Otomatis Amazon EKS mendukung otentikasi OIDC pada objek AL Ingress B. Ini menggunakan alb.ingress.kubernetes.io/auth-type: oidc anotasi untuk mengaktifkan otentikasi ini. Untuk menyelesaikan konfigurasi OIDC, controller membaca Kubernetes yang dinamai dalam anotasiSecret. alb.ingress.kubernetes.io/auth-idp-oidc Kebijakan akses terkelola saat ini tidak diberikan get pada Secret objek, sehingga rekonsiliasi gagal dengan pesan yang mirip dengan:

Failed build model due to ingress: <ns>/<name>: secrets "<secret>" is forbidden: User "arn:aws:sts::<acct>:assumed-role/AWSServiceRoleForAmazonEKS/<session>" cannot get resource "secrets" in API group "" in the namespace "<ns>"

Dengan menggunakan mekanisme yang dijelaskan diBerikan Kubernetes RBAC tambahan ke pengontrol yang dikelola Mode Otomatis EKS, Anda dapat memberikan pengontrol terkelola tepat get pada OIDC yang dibutuh Secret kannya.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Cluster Mode Otomatis Amazon EKS dengan entri AWSServiceRoleForAmazonEKS akses yang dibuat secara otomatis.

  • kubectldikonfigurasi dengan akses cluster.

  • AWS CLI diinstal dan dikonfigurasi dengan izin untuk aws sts get-caller-identity danaws eks describe-access-entry.

  • ALB Ingress yang menggunakan alb.ingress.kubernetes.io/auth-type: oidc anotasi, dan Kubernetes Secret yang dirujukkannya.

Langkah 1: Identifikasi Rahasia untuk ditambahkan ke daftar izinkan

Konfigurasi OIDC pada ALB Ingress terlihat seperti berikut ini. Catat Secret nama dan Ingress namespace — objek RBAC harus hidup di namespace yang sama dengan. Secret

annotations: alb.ingress.kubernetes.io/auth-type: oidc alb.ingress.kubernetes.io/auth-idp-oidc: > { "issuer": "...", "authorizationEndpoint": "...", "tokenEndpoint": "...", "userInfoEndpoint": "...", "secretName": "oidc" }

Sisa contoh ini menggunakan namespace monitoring dan Secret namaoidc.

Langkah 2: Terapkan Peran bercakupan ruang nama dan RoleBinding

Formulir ini get memberikan persis nama tepat Secret dalam satu namespace. Simpan yang berikut ini sebagaieks-managed-oidc-secret-reader.yaml:

apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: eks-managed-oidc-secret-reader namespace: monitoring rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["oidc"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: eks-managed-oidc-secret-reader namespace: monitoring subjects: - kind: Group name: eks:managed apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: eks-managed-oidc-secret-reader apiGroup: rbac.authorization.k8s.io

Menerapkannya:

kubectl apply -f eks-managed-oidc-secret-reader.yaml

Untuk menambahkan lebih banyak Secret objek ke daftar izinkan nanti, tambahkan nama mereka ke Role’s `resourceNames daftar dan terapkan kembali.

Langkah 3: Konfirmasikan pemulihan Ingress

Pengontrol penyeimbang beban merekonsiliasi ulang Ingress pada lintasan berikutnya (biasanya dalam beberapa menit). Saat hibah berfungsi, secrets "oidc" is forbidden kesalahan sebelumnya berhenti muncul di Ingress dan penyeimbang beban berlanjut. Jika kesalahan berlanjut, periksa kembaliRole’s `namespace,resourceNames, dan RoleBinding subjeknya.

Menghapus hibah

penting

Simpan Role dan RoleBinding di tempatnya selama ALB Ingress digunakanalb.ingress.kubernetes.io/auth-type: oidc. Menghapusnya kembali merusak resolusi OIDC pada. Ingress

Jika Anda berhenti menggunakan OIDC padaIngress, hapus hibah:

kubectl delete rolebinding eks-managed-oidc-secret-reader -n monitoring kubectl delete role eks-managed-oidc-secret-reader -n monitoring