Bantu tingkatkan 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 Edit halaman ini pada GitHub tautan 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.
Sebelum membuat entri akses, pertimbangkan hal berikut:
-
Mode otentikasi yang diatur dengan benar. Lihat Ubah mode otentikasi untuk menggunakan entri akses.
-
Entri akses mencakup Nama Sumber Daya Amazon (ARN) dari satu, dan hanya satu, prinsipal IAM yang ada. Prinsipal IAM tidak dapat dimasukkan dalam lebih dari satu entri akses. Pertimbangan tambahan untuk ARN yang Anda tentukan:
-
Praktik terbaik IAM merekomendasikan untuk mengakses klaster Anda menggunakan peran IAM yang memiliki kredensi jangka pendek, daripada pengguna IAM yang memiliki kredensi jangka panjang. Untuk informasi selengkapnya, lihat Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara di Panduan Pengguna IAM.
-
Jika ARN adalah untuk peran IAM, itu dapat mencakup jalur. ARNs dalam
aws-auth
ConfigMap
entri, tidak dapat menyertakan jalur. Misalnya, ARN Anda bisaarn:aws: iam::<111122223333>:role/<development/apps/my-role>
atau.arn:aws: iam::<111122223333>:role/<my-role>
-
Jika jenis entri akses adalah apa pun selain
STANDARD
(lihat pertimbangan selanjutnya tentang jenis), ARN harus berada di AWS akun yang sama dengan cluster Anda. Jika jenisnyaSTANDARD
, ARN bisa berada di akun yang sama, atau berbeda, dari AWS akun tempat cluster Anda berada. -
Anda tidak dapat mengubah prinsipal IAM setelah entri akses dibuat.
-
Jika Anda pernah menghapus prinsipal IAM dengan ARN ini, entri akses tidak dihapus secara otomatis. Kami menyarankan Anda menghapus entri akses dengan ARN untuk prinsipal IAM yang Anda hapus. Jika Anda tidak menghapus entri akses dan membuat ulang prinsipal IAM, meskipun memiliki ARN yang sama, entri akses tidak akan berfungsi. Ini karena meskipun ARN sama untuk prinsipal IAM yang dibuat ulang,
roleID
atauuserID
(Anda dapat melihat ini dengan perintahaws sts get-caller-identity
AWS CLI) berbeda untuk prinsipal IAM yang dibuat ulang daripada untuk prinsip IAM asli. Meskipun Anda tidak melihat kepala sekolah IAMroleID
atauuserID
untuk entri akses, Amazon EKS menyimpannya dengan entri akses.
-
-
Setiap entri akses memiliki tipe. Jika Anda tidak menentukan jenis, Amazon EKS secara otomatis menyetel tipe ke
STANDARD
-
EC2_LINUX
- Untuk peran IAM yang digunakan dengan Linux atau Bottlerocket node yang dikelola sendiri -
EC2_WINDOWS
- Untuk peran IAM yang digunakan dengan node Windows yang dikelola sendiri -
FARGATE_LINUX
- Untuk peran IAM yang digunakan dengan AWS Fargate (Fargate) -
HYBRID_LINUX
- Untuk peran IAM yang digunakan dengan node hybrid -
STANDARD
- Jenis default jika tidak ada yang ditentukan -
EC2
- Untuk kelas simpul khusus Mode Otomatis EKS. Untuk informasi selengkapnya, lihat Buat entri akses kelas node. -
Anda tidak dapat mengubah jenis setelah entri akses dibuat.
-
-
Tidak perlu membuat entri akses untuk peran IAM yang digunakan untuk grup node terkelola atau profil Fargate. EKS akan membuat entri akses (jika diaktifkan), atau memperbarui peta konfigurasi autentikasi (jika entri akses tidak tersedia)
-
Jika jenis entri aksesnya
STANDARD
, Anda dapat menentukan nama pengguna untuk entri akses. Jika Anda tidak menentukan nilai untuk nama pengguna, Amazon EKS menetapkan salah satu nilai berikut untuk Anda, tergantung pada jenis entri akses dan apakah prinsipal IAM yang Anda tentukan adalah peran IAM atau pengguna IAM. Kecuali Anda memiliki alasan khusus untuk menentukan nama pengguna Anda sendiri, sebaiknya jangan tentukan nama pengguna dan biarkan Amazon EKS membuatnya secara otomatis untuk Anda. Jika Anda menentukan nama pengguna Anda sendiri:-
Itu tidak bisa dimulai dengan
system:
,eks:
,aws:
,amazon:
, atauiam:
. -
Jika nama pengguna untuk peran IAM, kami sarankan Anda menambahkan
{{SessionName}}
ke akhir nama pengguna Anda. Jika Anda{{SessionName}}
menambahkan nama pengguna Anda, nama pengguna harus menyertakan titik dua sebelum {{SessionName}}. Ketika peran ini diasumsikan, nama sesi yang ditentukan saat mengasumsikan peran secara otomatis diteruskan ke cluster dan akan muncul di CloudTrail log. Misalnya, Anda tidak dapat memiliki nama penggunajohn{{SessionName}}
. Nama pengguna harus:john{{SessionName}}
ataujo:hn{{SessionName}}
. Usus besar hanya harus sebelumnya{{SessionName}}
. Nama pengguna yang dihasilkan oleh Amazon EKS dalam tabel berikut mencakup ARN. Karena ARN termasuk titik dua, ia memenuhi persyaratan ini. Titik dua tidak diperlukan jika Anda tidak menyertakan{{SessionName}}
nama pengguna Anda. Perhatikan bahwa karakter khusus “@” diganti dengan “-” dalam nama sesi.Tipe utama IAM Tipe Nilai nama pengguna yang ditetapkan secara otomatis oleh Amazon EKS Pengguna
STANDARD
ARN pengguna. Contoh:
arn:aws: iam::<111122223333>:user/<my-user>
Peran
STANDARD
STS ARN dari peran ketika diasumsikan. Amazon EKS
{{SessionName}}
menambahkan peran tersebut.Contoh:
arn:aws: sts::<111122223333>:assumed-role/<my-role>/{{SessionName}}
Jika ARN peran yang Anda tentukan berisi jalur, Amazon EKS menghapusnya di nama pengguna yang dihasilkan.
Peran
EC2_LINUX
atauEC2_Windows
system:node:{{EC2PrivateDNSName}}
Peran
FARGATE_LINUX
system:node:{{SessionName}}
Peran
HYBRID_LINUX
system:node:{{SessionName}}
Anda dapat mengubah nama pengguna setelah entri akses dibuat.
-
-
Jika tipe entri akses adalah
STANDARD
, dan Anda ingin menggunakan otorisasi Kubernetes RBAC, Anda dapat menambahkan satu atau beberapa nama grup ke entri akses. Setelah Anda membuat entri akses, Anda dapat menambahkan dan menghapus nama grup. Agar prinsipal IAM memiliki akses ke objek Kubernetes di klaster Anda, Anda harus membuat dan mengelola objek otorisasi berbasis peran Kubernetes (RBAC). Buat KubernetesRoleBinding
atauClusterRoleBinding
objek pada klaster Anda yang menentukan nama grup sebagai for.subject
kind: Group
Kubernetes mengotorisasi akses utama IAM ke objek klaster apa pun yang telah Anda tentukan dalam KubernetesRole
atauClusterRole
objek yang juga Anda tentukan dalam pengikatan Anda.roleRef
Jika Anda menentukan nama grup, sebaiknya Anda terbiasa dengan objek Kubernetes role-based authorization (RBAC). Untuk informasi selengkapnya, lihat Menggunakan Otorisasi RBACdalam dokumentasi Kubernetes. penting
Amazon EKS tidak mengonfirmasi bahwa objek Kubernetes RBAC apa pun yang ada di klaster Anda menyertakan nama grup apa pun yang Anda tentukan. Misalnya, jika Anda membuat entri akses untuk grup yang saat ini tidak ada, EKS akan membuat grup alih-alih mengembalikan kesalahan.
Alih-alih, atau sebagai tambahan, Kubernetes mengotorisasi akses utama IAM ke objek Kubernetes di klaster Anda, Anda dapat mengaitkan kebijakan akses Amazon EKS ke entri akses. Amazon EKS mengotorisasi prinsipal IAM untuk mengakses objek Kubernetes di klaster Anda dengan izin dalam kebijakan akses. Anda dapat membuat cakupan izin kebijakan akses ke ruang nama Kubernetes yang Anda tentukan. Penggunaan kebijakan akses tidak mengharuskan Anda untuk mengelola objek Kubernetes RBAC. Untuk informasi selengkapnya, lihat Mengaitkan kebijakan akses dengan entri akses.
-
Jika Anda membuat entri akses dengan tipe
EC2_LINUX
atauEC2_Windows
, prinsipal IAM yang membuat entri akses harus memilikiiam:PassRole
izin. Untuk informasi selengkapnya, lihat Memberikan izin pengguna untuk meneruskan peran ke AWS layanan di Panduan Pengguna IAM. -
Mirip dengan perilaku IAM standar, pembuatan dan pembaruan entri akses pada akhirnya konsisten, dan mungkin memerlukan beberapa detik untuk menjadi efektif setelah panggilan API awal berhasil dikembalikan. Anda harus merancang aplikasi Anda untuk memperhitungkan potensi penundaan ini. Kami menyarankan agar Anda tidak menyertakan entri akses yang dibuat atau diperbarui di jalur kode ketersediaan tinggi yang penting dari aplikasi Anda. Sebaliknya, buat perubahan dalam inisialisasi terpisah atau rutinitas pengaturan yang lebih jarang Anda lakukan. Selain itu, pastikan untuk memverifikasi bahwa perubahan telah dibuat merata sebelum alur kerja produksi bergantung padanya.
-
Entri akses tidak mendukung peran terkait layanan. Anda tidak dapat membuat entri akses di mana ARN utama adalah peran terkait layanan. Anda dapat mengidentifikasi peran terkait layanan dengan ARN mereka, yang ada dalam format.
arn:aws: iam::*:role/aws-service-role/*
Anda dapat membuat entri akses menggunakan AWS Management Console atau AWS CLI.
AWS Management Console
-
Buka konsol Amazon EKS
. -
Pilih nama cluster tempat Anda ingin membuat entri akses.
-
Pilih tab Access.
-
Pilih Buat entri akses.
-
Untuk prinsipal IAM, pilih peran atau pengguna IAM yang ada. Praktik terbaik IAM merekomendasikan untuk mengakses klaster Anda menggunakan peran IAM yang memiliki kredensi jangka pendek, daripada pengguna IAM yang memiliki kredensi jangka panjang. Untuk informasi selengkapnya, lihat Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara di Panduan Pengguna IAM.
-
Untuk Type, jika entri akses adalah untuk peran node yang digunakan untuk EC2 node Amazon yang dikelola sendiri, pilih EC2 Linux atau EC2 Windows. Jika tidak, terima default (Standar).
-
Jika Jenis yang Anda pilih adalah Standar dan Anda ingin menentukan Nama Pengguna, masukkan nama pengguna.
-
Jika Tipe yang Anda pilih adalah Standar dan Anda ingin menggunakan otorisasi Kubernetes RBAC untuk prinsipal IAM, tentukan satu atau beberapa nama untuk Grup. Jika Anda tidak menentukan nama grup apa pun dan ingin menggunakan otorisasi Amazon EKS, Anda dapat mengaitkan kebijakan akses di langkah selanjutnya, atau setelah entri akses dibuat.
-
(Opsional) Untuk Tag, tetapkan label ke entri akses. Misalnya, untuk membuatnya lebih mudah untuk menemukan semua sumber daya dengan tag yang sama.
-
Pilih Berikutnya.
-
Pada halaman Add access policy, jika tipe yang Anda pilih adalah Standard dan Anda ingin Amazon EKS mengotorisasi prinsipal IAM untuk memiliki izin ke objek Kubernetes di klaster Anda, selesaikan langkah-langkah berikut. Jika tidak, pilih Selanjutnya.
-
Untuk nama Kebijakan, pilih kebijakan akses. Anda tidak dapat melihat izin kebijakan akses, tetapi mereka menyertakan izin serupa dengan yang ada di objek yang dihadapi pengguna Kubernetes.
ClusterRole
Untuk informasi selengkapnya, lihat Peran yang dihadapi pengguna dalam dokumentasiKubernetes. -
Pilih salah satu opsi berikut:
-
Cluster — Pilih opsi ini jika Anda ingin Amazon EKS mengotorisasi prinsipal IAM untuk memiliki izin dalam kebijakan akses untuk semua objek Kubernetes di klaster Anda.
-
Namespace Kubernetes - Pilih opsi ini jika Anda ingin Amazon EKS mengotorisasi prinsipal IAM untuk memiliki izin dalam kebijakan akses untuk semua objek Kubernetes di namespace Kubernetes tertentu di klaster Anda. Untuk Namespace, masukkan nama namespace Kubernetes di klaster Anda. Jika Anda ingin menambahkan ruang nama tambahan, pilih Tambahkan namespace baru dan masukkan nama namespace.
-
-
Jika Anda ingin menambahkan kebijakan tambahan, pilih Tambah kebijakan. Anda dapat membuat cakupan setiap kebijakan secara berbeda, tetapi Anda dapat menambahkan setiap kebijakan hanya sekali.
-
Pilih Berikutnya.
-
-
Tinjau konfigurasi untuk entri akses Anda. Jika ada yang terlihat salah, pilih Sebelumnya untuk kembali melalui langkah-langkah dan memperbaiki kesalahan. Jika konfigurasi sudah benar, pilih Buat.
AWS CLI
-
Instal AWS CLI, seperti yang dijelaskan dalam Menginstal di Panduan Pengguna Antarmuka Baris AWS Perintah.
-
Untuk membuat entri akses Anda dapat menggunakan salah satu contoh berikut untuk membuat entri akses:
-
Buat entri akses untuk grup node Amazon EC2 Linux yang dikelola sendiri. Ganti
my-cluster
dengan nama cluster Anda,111122223333
dengan ID AWS akun Anda, danEKS-my-cluster-self-managed-ng-1
dengan nama peran IAM node Anda. Jika grup node Anda adalah grup node Windows, maka gantiEC2_LINUX
denganEC2_Windows
.aws eks create-access-entry --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/EKS-my-cluster-self-managed-ng-1 --type EC2_LINUX
Anda tidak dapat menggunakan
--kubernetes-groups
opsi ketika Anda menentukan jenis selainSTANDARD
. Anda tidak dapat mengaitkan kebijakan akses ke entri akses ini, karena jenisnya adalah nilai selainSTANDARD
. -
Buat entri akses yang memungkinkan peran IAM yang tidak digunakan untuk grup node yang EC2 dikelola sendiri Amazon, yang Anda inginkan Kubernetes untuk mengotorisasi akses ke klaster Anda. Ganti
my-cluster
dengan nama klaster Anda,111122223333
dengan ID AWS akun Anda, danmy-role
dengan nama peran IAM Anda. GantiViewers
dengan nama grup yang telah Anda tentukan di KubernetesRoleBinding
atauClusterRoleBinding
objek di klaster Anda.aws eks create-access-entry --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role --type STANDARD --user Viewers --kubernetes-groups Viewers
-
Buat entri akses yang memungkinkan pengguna IAM untuk mengautentikasi ke cluster Anda. Contoh ini diberikan karena hal ini dimungkinkan, meskipun praktik terbaik IAM merekomendasikan untuk mengakses klaster Anda menggunakan peran IAM yang memiliki kredensi jangka pendek, daripada pengguna IAM yang memiliki kredensil jangka panjang. Untuk informasi selengkapnya, lihat Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara di Panduan Pengguna IAM.
aws eks create-access-entry --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:user/my-user --type STANDARD --username my-user
Jika Anda ingin pengguna ini memiliki lebih banyak akses ke klaster Anda daripada izin di peran penemuan API Kubernetes, maka Anda perlu mengaitkan kebijakan akses ke entri akses, karena
--kubernetes-groups
opsi tersebut tidak digunakan. Untuk informasi selengkapnya, lihat Mengaitkan kebijakan akses dengan entri akses dan peran penemuan APIdalam dokumentasi Kubernetes.
-