Peran IAM kemampuan Amazon EKS - 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.

Peran IAM kemampuan Amazon EKS

Kemampuan EKS membutuhkan peran IAM kemampuan (atau peran kemampuan) untuk dikonfigurasi. Kemampuan menggunakan peran ini untuk melakukan tindakan pada AWS layanan dan mengakses sumber daya Kubernetes di klaster Anda melalui entri akses yang dibuat secara otomatis.

Sebelum dapat menentukan peran kapabilitas selama pembuatan kapabilitas, Anda harus membuat peran IAM dengan kebijakan kepercayaan dan izin yang sesuai untuk jenis kapabilitas. Setelah peran IAM ini dibuat, itu dapat digunakan kembali untuk sejumlah sumber daya kemampuan.

Persyaratan peran kemampuan

Peran kemampuan harus memenuhi persyaratan berikut:

  • Peran harus dalam AWS akun yang sama dengan cluster dan sumber daya kemampuan

  • Peran harus memiliki kebijakan kepercayaan yang memungkinkan layanan kemampuan EKS untuk mengambil peran

  • Peran harus memiliki izin yang sesuai untuk jenis kemampuan dan persyaratan kasus penggunaan (lihatIzin berdasarkan jenis kemampuan)

Kebijakan kepercayaan untuk peran kapabilitas

Semua peran kapabilitas harus mencakup kebijakan kepercayaan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }

Kebijakan kepercayaan ini memungkinkan EKS untuk:

  • Asumsikan peran untuk melakukan operasi AWS API

  • Menandai sesi untuk tujuan audit dan pelacakan

Izin berdasarkan jenis kemampuan

Izin IAM yang diperlukan bergantung pada kemampuan yang Anda gunakan dan model penerapan Anda.

catatan

Untuk penerapan produksi yang menggunakan Penyeleksi Peran IAM dengan ACK, atau saat menggunakan CD kro atau Argo tanpa integrasi AWS layanan, Peran Kemampuan mungkin tidak memerlukan izin IAM apa pun di luar kebijakan kepercayaan.

kro (Orkestra Sumber Daya Kube)

Tidak diperlukan izin IAM. Anda dapat membuat peran kapabilitas tanpa kebijakan terlampir. kro hanya membutuhkan izin Kubernetes RBAC untuk membuat dan mengelola sumber daya Kubernetes.

AWS Pengontrol untuk Kubernetes (ACK)

ACK mendukung dua model izin:

  • Pengaturan sederhana (pengembangan/pengujian): Tambahkan izin AWS layanan langsung ke Peran Kemampuan. Ini berfungsi dengan baik untuk memulai, penerapan akun tunggal, atau ketika semua pengguna memerlukan izin yang sama.

  • Praktik terbaik produksi: Gunakan Penyeleksi Peran IAM untuk menerapkan akses hak istimewa paling sedikit. Dengan pendekatan ini, Peran Kemampuan hanya memerlukan sts:AssumeRole izin untuk mengambil peran khusus layanan. Anda tidak menambahkan izin AWS layanan (seperti S3 atau RDS) ke Peran Kemampuan itu sendiri—izin tersebut diberikan kepada peran IAM individual yang dipetakan ke ruang nama tertentu.

    Penyeleksi Peran IAM mengaktifkan:

    • Isolasi izin tingkat ruang nama

    • Manajemen sumber daya lintas akun

    • Peran IAM khusus tim

    • Model keamanan dengan hak istimewa paling rendah

      Contoh kebijakan Peran Kemampuan untuk pendekatan Pemilih Peran IAM:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::111122223333:role/ACK-S3-Role", "arn:aws:iam::111122223333:role/ACK-RDS-Role", "arn:aws:iam::444455556666:role/ACKCrossAccountRole" ] } ] }

      Untuk konfigurasi izin ACK terperinci termasuk Penyeleksi Peran IAM, lihat. Konfigurasikan izin ACK

Argo CD

Tidak ada izin IAM yang diperlukan secara default. Izin opsional mungkin diperlukan untuk:

  • AWS Secrets Manager: Jika menggunakan Secrets Manager untuk menyimpan kredensi repositori Git

  • AWS CodeConnections: Jika menggunakan CodeConnections untuk otentikasi repositori Git

    Contoh kebijakan untuk Secrets Manager dan CodeConnections:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:argocd/*" }, { "Effect": "Allow", "Action": [ "codeconnections:UseConnection", "codeconnections:GetConnection" ], "Resource": "arn:aws:codeconnections:region:account-id:connection/*" } ] }

    Untuk persyaratan izin CD Argo terperinci, lihatPertimbangan Argo CD.

Periksa peran kemampuan yang ada

Anda dapat menggunakan prosedur berikut untuk memeriksa apakah akun Anda sudah memiliki peran IAM kemampuan yang sesuai untuk kasus penggunaan Anda.

  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi sebelah kiri, pilih Peran.

  3. Cari daftar peran untuk nama peran kemampuan Anda (misalnya, ACKCapabilityRole atauArgoCDCapabilityRole).

  4. Jika ada peran, pilih untuk melihat kebijakan terlampir dan hubungan kepercayaan.

  5. Pilih Trust relationship, lalu pilih Edit trust policy.

  6. Verifikasi bahwa hubungan kepercayaan sesuai dengan kebijakan kepercayaan kemampuan. Jika tidak cocok, perbarui kebijakan kepercayaan.

  7. Pilih Izin dan verifikasi bahwa peran tersebut memiliki izin yang sesuai untuk jenis kemampuan dan kasus penggunaan Anda.

Membuat peran IAM kemampuan

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk membuat peran kemampuan.

Konsol Manajemen AWS
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Pilih Peran, kemudian Buat peran.

  3. Di bawah Jenis entitas tepercaya, pilih Kebijakan kepercayaan khusus.

  4. Salin dan tempel kebijakan kepercayaan kemampuan ke editor kebijakan kepercayaan.

  5. Pilih Berikutnya.

  6. Pada tab Tambahkan izin, pilih atau buat kebijakan yang sesuai untuk jenis kemampuan Anda (lihatIzin berdasarkan jenis kemampuan). Untuk kro, Anda dapat melewati langkah ini.

  7. Pilih Berikutnya.

  8. Untuk nama Peran, masukkan nama unik untuk peran Anda, sepertiACKCapabilityRole,ArgoCDCapabilityRole, ataukroCapabilityRole.

  9. Untuk Deskripsi, masukkan teks deskriptif sepertiAmazon EKS - ACK capability role.

  10. Pilih Buat peran.

AWS CLI
  1. Salin kebijakan kepercayaan kemampuan ke file bernamacapability-trust-policy.json.

  2. Buat peran. Ganti ACKCapabilityRole dengan nama peran yang Anda inginkan.

    aws iam create-role \ --role-name ACKCapabilityRole \ --assume-role-policy-document file://capability-trust-policy.json
  3. Lampirkan kebijakan IAM yang diperlukan ke peran tersebut. Untuk ACK, lampirkan kebijakan untuk AWS layanan yang ingin Anda kelola. Untuk Argo CD, lampirkan kebijakan untuk Secrets Manager atau CodeConnections jika diperlukan. Untuk kro, Anda dapat melewati langkah ini.

    Contoh untuk ACK dengan izin S3:

    aws iam put-role-policy \ --role-name ACKCapabilityRole \ --policy-name S3Management \ --policy-document file://s3-policy.json

Memecahkan masalah peran kemampuan

Pembuatan kemampuan gagal dengan “Peran IAM tidak valid”

Verifikasi bahwa:

  • Peran ada di akun yang sama dengan cluster

  • Kebijakan kepercayaan sesuai dengan kebijakan kepercayaan kemampuan

  • Anda memiliki iam:PassRole izin untuk peran tersebut

Kemampuan menunjukkan kesalahan izin

Verifikasi bahwa:

  • Peran memiliki izin IAM yang diperlukan untuk jenis kemampuan

  • Entri akses ada di cluster untuk peran tersebut

  • Izin Kubernetes tambahan dikonfigurasi jika diperlukan (lihat) Izin Kubernetes tambahan

Sumber daya ACK gagal dengan kesalahan “izin ditolak”

Verifikasi bahwa:

  • Peran memiliki izin IAM yang diperlukan untuk kasus penggunaan Anda

  • Untuk pengontrol ACK yang mereferensikan rahasia, pastikan Anda telah mengaitkan kebijakan entri AmazonEKSSecretReaderPolicy akses yang dicakup ke ruang nama yang sesuai.

Untuk panduan pemecahan masalah lainnya, lihat. Pertimbangan keamanan untuk Kemampuan EKS