Konfigurasikan izin ACK - Amazon EKS

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:

  1. Periksa apakah IAMRole Selector cocok dengan namespace sumber daya

  2. Jika kecocokan ditemukan, asumsikan bahwa peran IAM

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

Untuk konfigurasi lanjutan termasuk pemilih label, pemetaan peran khusus sumber daya, dan contoh tambahan, lihat Dokumentasi ACK IRSA.

Langkah selanjutnya