Ambil kunci penandatanganan untuk memvalidasi token OIDC - 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.

Ambil kunci penandatanganan untuk memvalidasi token OIDC

Kubernetesmasalah a ProjectedServiceAccountToken untuk masing-masing KubernetesService Account. Token ini adalah OIDC token, yang selanjutnya merupakan jenisJSON web token (JWT). Amazon EKS menghosting OIDC titik akhir publik untuk setiap cluster yang berisi kunci penandatanganan untuk token sehingga sistem eksternal dapat memvalidasinya.

Untuk memvalidasiProjectedServiceAccountToken, Anda perlu mengambil kunci penandatanganan OIDC publik, juga disebut. JSON Web Key Set (JWKS) Gunakan kunci ini dalam aplikasi Anda untuk memvalidasi token. Misalnya, Anda dapat menggunakan pustaka PyjWT Python untuk memvalidasi token menggunakan kunci ini. Untuk informasi lebih lanjut tentangProjectedServiceAccountToken, lihatIAM,Kubernetes, dan OpenID Connect (OIDC) informasi latar belakang.

Prasyarat
Ambil Kunci Penandatanganan OIDC Publik ()AWS CLI
  1. Ambil OIDC URL untuk klaster Amazon EKS Anda menggunakan file. AWS CLI

    $ aws eks describe-cluster --name my-cluster --query 'cluster.identity.oidc.issuer' "https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE"
  2. Ambil kunci penandatanganan publik menggunakancurl, atau alat serupa. Hasilnya adalah a JSON Web Key Set (JWKS).

    penting

    Amazon EKS membatasi panggilan ke titik akhir. OIDC Anda harus men-cache kunci penandatanganan publik. Hormati cache-control header yang termasuk dalam respons.

    penting

    Amazon EKS memutar kunci OIDC penandatanganan setiap tujuh hari.

    $ curl https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE/keys {"keys":[{"kty":"RSA","kid":"2284XXXX4a40","use":"sig","alg":"RS256","n":"wklbXXXXMVfQ","e":"AQAB"}]}