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.
Konfigurasikan izin ACK
ACK memerlukan izin IAM untuk membuat dan mengelola AWS sumber daya atas nama Anda. Topik ini menjelaskan cara kerja IAM dengan ACK dan memberikan panduan tentang mengonfigurasi izin untuk kasus penggunaan yang berbeda.
Bagaimana IAM bekerja dengan ACK
ACK menggunakan peran IAM untuk mengautentikasi AWS dan melakukan tindakan pada sumber daya Anda. Ada dua cara untuk memberikan izin ke ACK:
Peran Kemampuan: Peran IAM yang Anda berikan saat membuat kemampuan ACK. Peran ini digunakan secara default untuk semua operasi ACK.
IAM Role Selectors: Peran IAM tambahan yang dapat dipetakan ke ruang nama atau sumber daya tertentu. Peran ini mengesampingkan Peran Kemampuan untuk sumber daya dalam cakupannya.
Ketika ACK perlu membuat atau mengelola sumber daya, ACK menentukan peran IAM mana yang akan digunakan:
-
Periksa apakah IAMRole Selector cocok dengan namespace sumber daya
-
Jika kecocokan ditemukan, asumsikan bahwa peran IAM
-
Jika tidak, gunakan Peran Kemampuan
Pendekatan ini memungkinkan manajemen izin yang fleksibel dari pengaturan peran tunggal sederhana hingga konfigurasi multi-akun dan multi-tim yang kompleks.
Memulai: Pengaturan izin sederhana
Untuk pengembangan, pengujian, atau kasus penggunaan sederhana, Anda dapat menambahkan semua izin layanan yang diperlukan langsung ke Peran Kemampuan.
Pendekatan ini bekerja dengan baik ketika:
-
Anda memulai dengan ACK
-
Semua sumber daya berada di AWS akun yang sama
-
Satu tim mengelola semua sumber daya ACK
-
Anda mempercayai semua pengguna ACK untuk memiliki izin yang sama
Praktik terbaik produksi: Penyeleksi Peran IAM
Untuk lingkungan produksi, gunakan Penyeleksi Peran IAM untuk menerapkan akses hak istimewa dan isolasi tingkat ruang nama.
Saat menggunakan Penyeleksi Peran IAM, Peran Kemampuan hanya memerlukan sts:AssumeRole izin untuk mengambil peran khusus layanan. Anda tidak perlu menambahkan izin AWS layanan apa pun (seperti S3 atau RDS) ke Peran Kemampuan itu sendiri—izin tersebut diberikan kepada masing-masing peran IAM yang diasumsikan oleh Peran Kemampuan.
Memilih antara model izin:
Gunakan izin langsung (menambahkan izin layanan ke Peran Kemampuan) saat:
-
Anda memulai dan menginginkan pengaturan yang paling sederhana
-
Semua sumber daya berada di akun yang sama dengan cluster Anda
-
Anda memiliki persyaratan izin administratif dan seluruh klaster
-
Semua tim dapat berbagi izin yang sama
Gunakan Penyeleksi Peran IAM saat:
-
Mengelola sumber daya di beberapa AWS akun
-
Tim atau ruang nama yang berbeda memerlukan izin yang berbeda
-
Anda memerlukan kontrol akses berbutir halus per namespace
-
Anda ingin mengikuti praktik keamanan dengan hak istimewa paling sedikit
Anda dapat memulai dengan izin langsung dan bermigrasi ke Penyeleksi Peran IAM nanti seiring bertambahnya kebutuhan Anda.
Mengapa menggunakan Penyeleksi Peran IAM dalam produksi:
-
Hak istimewa paling sedikit: Setiap namespace hanya mendapatkan izin yang dibutuhkannya
-
Isolasi tim: Tim A tidak dapat secara tidak sengaja menggunakan izin Tim B
-
Audit yang lebih mudah: Pemetaan yang jelas dari namespace mana yang menggunakan peran mana
-
Dukungan lintas akun: Diperlukan untuk mengelola sumber daya di beberapa akun
-
Pemisahan kekhawatiran: Layanan atau lingkungan yang berbeda menggunakan peran yang berbeda
Pengaturan Pemilih Peran IAM Dasar
Langkah 1: Buat peran IAM khusus layanan
Buat peran IAM dengan izin untuk layanan tertentu AWS :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": "*" } ] }
Konfigurasikan kebijakan kepercayaan untuk memungkinkan Peran Kemampuan untuk mengasumsikannya:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ACKCapabilityRole" }, "Action": "sts:AssumeRole" } ] }
Langkah 2: Berikan AssumeRole izin untuk Peran Kemampuan
Tambahkan izin ke Peran Kemampuan untuk mengambil peran khusus layanan:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/ACK-S3-Role" } ] }
Langkah 3: Buat IAMRole Selector
Petakan peran IAM ke namespace:
apiVersion: services.k8s.aws/v1alpha1 kind: IAMRoleSelector metadata: name: s3-namespace-config spec: arn: arn:aws:iam::111122223333:role/ACK-S3-Role namespaceSelector: names: - s3-resources
Langkah 4: Buat sumber daya di namespace yang dipetakan
Sumber daya di s3-resources namespace secara otomatis menggunakan peran yang ditentukan:
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: my-bucket namespace: s3-resources spec: name: my-production-bucket
Manajemen multi-akun
Gunakan Penyeleksi Peran IAM untuk mengelola sumber daya di beberapa AWS akun.
Langkah 1: Buat peran IAM lintas akun
Di akun target (444455556666), buat peran yang mempercayai Peran Kemampuan akun sumber:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ACKCapabilityRole" }, "Action": "sts:AssumeRole" } ] }
Lampirkan izin khusus layanan ke peran ini.
Langkah 2: Berikan AssumeRole izin
Di akun sumber (111122223333), izinkan Peran Kemampuan untuk mengambil peran akun target:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::444455556666:role/ACKTargetAccountRole" } ] }
Langkah 3: Buat IAMRole Selector
Memetakan peran lintas akun ke namespace:
apiVersion: services.k8s.aws/v1alpha1 kind: IAMRoleSelector metadata: name: production-account-config spec: arn: arn:aws:iam::444455556666:role/ACKTargetAccountRole namespaceSelector: names: - production
Langkah 4: Buat sumber daya
Sumber daya di production namespace dibuat di akun target:
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: my-bucket namespace: production spec: name: my-cross-account-bucket
Pola Pemilih Peran IAM Tingkat Lanjut
Langkah selanjutnya
-
Konsep ACK- Memahami konsep ACK dan siklus hidup sumber daya
-
Konsep ACK- Pelajari tentang kebijakan adopsi dan penghapusan sumber daya
-
Pertimbangan keamanan untuk Kemampuan EKS- Memahami praktik terbaik keamanan untuk kemampuan