

 **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.

# Konfigurasikan AWS Titik akhir Layanan Token Keamanan untuk akun layanan
<a name="configure-sts-endpoint"></a>

Jika Anda menggunakan akun layanan Kubernetes dengan peran [ IAM untuk akun layanan](iam-roles-for-service-accounts.md), maka Anda dapat mengonfigurasi jenis titik akhir Layanan Token AWS Keamanan yang digunakan oleh akun layanan.

 AWS merekomendasikan penggunaan titik akhir AWS STS regional alih-alih titik akhir global. Ini mengurangi latensi, menyediakan redundansi bawaan, dan meningkatkan validitas token sesi. Layanan Token AWS Keamanan harus aktif di Wil AWS ayah tempat Pod berjalan. Selain itu, aplikasi Anda harus memiliki redundansi bawaan untuk Wil AWS ayah yang berbeda jika terjadi kegagalan layanan di Wil AWS ayah. Untuk informasi selengkapnya, lihat [ Mengelola AWS STS ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) di Wil AWS ayah di Panduan Pengguna IAM.
+ Sebuah klaster yang sudah ada. Jika Anda tidak memilikinya, Anda dapat membuatnya menggunakan salah satu panduan di[Memulai dengan Amazon EKS](getting-started.md).
+ Penyedia IAM OIDC yang sudah ada untuk klaster Anda. Untuk informasi selengkapnya, lihat [Buat penyedia IAM OIDC untuk klaster Anda](enable-iam-roles-for-service-accounts.md).
+ Akun layanan Kubernetes yang ada dikonfigurasi untuk digunakan dengan fitur [ Amazon EKS IAM untuk akun layanan. ](iam-roles-for-service-accounts.md)

**catatan**  
Untuk membuat permintaan kredensia IRSA menjadi pribadi di VPC tanpa keluar internet, buat titik akhir antarmuka AWS STS (`com.amazonaws.region-code.sts`) dan tetapkan titik akhir regional seperti yang dijelaskan dalam topik ini. Titik akhir global (`sts.amazonaws.com`) melewati titik akhir VPC. Untuk juga mencapai titik akhir OIDC cluster secara discovery/JWKS pribadi (untuk penyiapan penyedia dan validator token), buat titik akhir VPC terpisah (). `com.amazonaws.region-code.oidc-eks` Untuk informasi selengkapnya, lihat [Akses titik akhir OIDC cluster menggunakan AWS PrivateLink](vpc-interface-endpoints.md#oidc-vpc-interface-endpoints).

Contoh berikut semua menggunakan akun layanan Kubernetes aws-node yang digunakan oleh plugin Amazon VPC CNI. [Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA](cni-iam-role.md) Anda dapat menggantinya {{example values}} dengan akun layanan Anda sendiri, Pod, ruang nama, dan sumber daya lainnya.

1. Pilih Pod yang menggunakan akun layanan yang ingin Anda ubah titik akhir. Tentukan AWS Wilayah mana Pod berjalan. Ganti {{aws-node-6mfgv}} dengan nama Pod Anda dan {{kube-system}} dengan namespace Pod Anda.

   ```
   kubectl describe pod aws-node-6mfgv -n kube-system |grep Node:
   ```

   Contoh output adalah sebagai berikut.

   ```
   ip-192-168-79-166.us-west-2/192.168.79.166
   ```

   Pada output sebelumnya, Pod berjalan pada node di Wilayah us-west-2 AWS .

1. Tentukan jenis titik akhir yang digunakan akun layanan Pod.

   ```
   kubectl describe pod aws-node-6mfgv -n kube-system |grep AWS_STS_REGIONAL_ENDPOINTS
   ```

   Contoh output adalah sebagai berikut.

   ```
   AWS_STS_REGIONAL_ENDPOINTS: regional
   ```

   Jika titik akhir saat ini adalah global, maka `global` dikembalikan dalam output. Jika tidak ada output yang dikembalikan, maka tipe titik akhir default sedang digunakan dan belum diganti.

1. Jika versi cluster atau platform Anda sama atau lebih baru dari yang tercantum dalam tabel, maka Anda dapat mengubah jenis titik akhir yang digunakan oleh akun layanan Anda dari tipe default ke jenis yang berbeda dengan salah satu perintah berikut. Ganti {{aws-node}} dengan nama akun layanan Anda dan {{kube-system}} dengan namespace untuk akun layanan Anda.
   + Jika tipe titik akhir default atau saat ini adalah global dan Anda ingin mengubahnya menjadi regional:

     ```
     kubectl annotate serviceaccount -n kube-system aws-node eks.amazonaws.com/sts-regional-endpoints=true
     ```

     Jika Anda menggunakan peran [ IAM untuk akun layanan ](iam-roles-for-service-accounts.md) untuk menghasilkan URL S3 yang telah ditandatangani sebelumnya di aplikasi Anda yang berjalan di wadah Pod, format URL untuk titik akhir regional mirip dengan contoh berikut:

     ```
     https://bucket.s3.us-west-2.amazonaws.com/path?...&X-Amz-Credential=your-access-key-id/date/us-west-2/s3/aws4_request&...
     ```
   + Jika tipe titik akhir default atau saat ini adalah regional dan Anda ingin mengubahnya menjadi global:

     ```
     kubectl annotate serviceaccount -n kube-system aws-node eks.amazonaws.com/sts-regional-endpoints=false
     ```

     Jika aplikasi Anda secara eksplisit membuat permintaan ke titik akhir global AWS STS dan Anda tidak mengganti perilaku default menggunakan titik akhir regional di cluster Amazon EKS, permintaan akan gagal dengan kesalahan. Untuk informasi selengkapnya, lihat [Kontainer pod menerima kesalahan berikut: `An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: Credential should be scoped to a valid region`](security-iam-troubleshoot.md#security-iam-troubleshoot-wrong-sts-endpoint).

     Jika Anda menggunakan peran [ IAM untuk akun layanan ](iam-roles-for-service-accounts.md) untuk menghasilkan URL S3 yang telah ditandatangani sebelumnya di aplikasi Anda yang berjalan di wadah Pod, format URL untuk titik akhir global mirip dengan contoh berikut:

     ```
     https://bucket.s3.amazonaws.com/path?...&X-Amz-Credential=your-access-key-id/date/us-west-2/s3/aws4_request&...
     ```

   Jika Anda memiliki otomatisasi yang mengharapkan URL yang ditandatangani sebelumnya dalam format tertentu atau jika aplikasi atau dependensi hilir yang menggunakan URL yang ditandatangani sebelumnya memiliki ekspektasi untuk Wil AWS ayah yang ditargetkan, maka buat perubahan yang diperlukan untuk menggunakan titik akhir STS yang sesuai AWS .

1. Hapus dan buat kembali Pod yang ada yang terkait dengan akun layanan untuk menerapkan variabel lingkungan kredensi. Pengait web yang bermutasi tidak menerapkannya ke Pod yang sudah berjalan. Anda dapat mengganti{{Pods}},{{kube-system}}, dan {{-l k8s-app=aws-node}} dengan informasi untuk Pod yang Anda tetapkan anotasinya.

   ```
   kubectl delete Pods -n kube-system -l k8s-app=aws-node
   ```

1. Konfirmasikan bahwa semua Pod dihidupkan ulang.

   ```
   kubectl get Pods -n kube-system -l k8s-app=aws-node
   ```

1. Lihat variabel lingkungan untuk salah satu Pod. Verifikasi bahwa `AWS_STS_REGIONAL_ENDPOINTS` nilainya adalah apa yang Anda tetapkan pada langkah sebelumnya.

   ```
   kubectl describe pod aws-node-kzbtr -n kube-system |grep AWS_STS_REGIONAL_ENDPOINTS
   ```

   Contoh output adalah sebagai berikut.

   ```
   AWS_STS_REGIONAL_ENDPOINTS=regional
   ```