Contoh EKS kebijakan berbasis identitas Amazon - Amazon EKS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh EKS kebijakan berbasis identitas Amazon

Secara default, IAM pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi EKS sumber daya Amazon. Mereka juga tidak dapat melakukan tugas menggunakan AWS Management Console, AWS CLI, atau AWS API. IAMAdministrator harus membuat IAM kebijakan yang memberikan izin kepada pengguna dan peran untuk melakukan API operasi tertentu pada sumber daya tertentu yang mereka butuhkan. Administrator kemudian harus melampirkan kebijakan tersebut ke IAM pengguna atau grup yang memerlukan izin tersebut.

Untuk mempelajari cara membuat kebijakan IAM berbasis identitas menggunakan contoh dokumen JSON kebijakan ini, lihat Membuat kebijakan pada JSON tab di Panduan Pengguna. IAM

Saat Anda membuat EKS klaster Amazon, IAMprinsipal yang membuat klaster secara otomatis diberikan system:masters izin dalam konfigurasi kontrol akses (RBAC) berbasis peran klaster di bidang kontrol AmazonEKS. Prinsipal ini tidak muncul dalam konfigurasi yang terlihat, jadi pastikan untuk melacak prinsipal mana yang awalnya membuat cluster. Untuk memberikan IAM kepala sekolah tambahan kemampuan untuk berinteraksi dengan klaster Anda, edit bagian dalamnya aws-auth ConfigMap Kubernetes dan membuat Kubernetes rolebindingatau clusterrolebinding dengan nama a group yang Anda tentukan diaws-auth ConfigMap.

Untuk informasi lebih lanjut tentang bekerja dengan ConfigMap, lihatBerikan akses IAM kepada pengguna dan peran ke Kubernetes APIs.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus EKS sumber daya Amazon di akun Anda. Tindakan ini dapat menimbulkan biaya untuk AWS akun Anda. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:

  • Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin kepada pengguna dan beban kerja Anda, gunakan kebijakan AWS terkelola yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di AWS akun Anda. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat kebijakan AWSAWS terkelola atau kebijakan terkelola untuk fungsi pekerjaan di Panduan IAM Pengguna.

  • Menerapkan izin hak istimewa paling sedikit — Saat Anda menetapkan izin dengan IAM kebijakan, berikan hanya izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai izin dengan hak akses paling rendah. Untuk informasi selengkapnya tentang penggunaan IAM untuk menerapkan izin, lihat Kebijakan dan izin IAM di IAM Panduan Pengguna.

  • Gunakan ketentuan dalam IAM kebijakan untuk membatasi akses lebih lanjut — Anda dapat menambahkan kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Misalnya, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakanSSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui AWS layanan tertentu, seperti AWS CloudFormation. Untuk informasi selengkapnya, lihat elemen IAM JSON kebijakan: Kondisi dalam Panduan IAM Pengguna.

  • Gunakan IAM Access Analyzer untuk memvalidasi IAM kebijakan Anda guna memastikan izin yang aman dan fungsional — IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa IAM kebijakan () JSON dan praktik terbaik. IAM IAMAccess Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat Validasi kebijakan IAM Access Analyzer di IAMPanduan Pengguna.

  • Memerlukan otentikasi multi-faktor (MFA) — Jika Anda memiliki skenario yang mengharuskan IAM pengguna atau pengguna root di AWS akun Anda, aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA kapan API operasi dipanggil, tambahkan MFA kondisi ke kebijakan Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi API akses MFA yang dilindungi di IAMPanduan Pengguna.

Untuk informasi selengkapnya tentang praktik terbaik diIAM, lihat Praktik terbaik keamanan IAM di Panduan IAM Pengguna.

Menggunakan EKS konsol Amazon

Untuk mengakses EKS konsol Amazon, IAMprinsipal, harus memiliki set izin minimum. Izin ini memungkinkan prinsipal untuk membuat daftar dan melihat detail tentang EKS sumber daya Amazon di AWS akun Anda. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksudkan untuk prinsipal dengan kebijakan yang dilampirkan padanya.

Untuk memastikan bahwa IAM prinsipal Anda masih dapat menggunakan EKS konsol Amazon, buat kebijakan dengan nama unik Anda sendiri, seperti. AmazonEKSAdminPolicy Lampirkan kebijakan ke kepala sekolah. Untuk informasi selengkapnya, lihat Menambahkan dan menghapus izin IAM identitas di Panduan IAM Pengguna.

penting

Contoh kebijakan berikut memungkinkan prinsipal untuk melihat informasi pada tab Konfigurasi di konsol. Untuk melihat informasi pada tab Ikhtisar dan Sumber Daya di AWS Management Console, kepala sekolah juga perlu Kubernetes izin. Untuk informasi selengkapnya, lihat Izin yang diperlukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "eks.amazonaws.com" } } } ] }

Anda tidak perlu mengizinkan izin konsol minimum untuk prinsipal yang melakukan panggilan hanya ke atau. AWS CLI AWS API Sebagai gantinya, izinkan akses hanya ke tindakan yang cocok dengan API operasi yang Anda coba lakukan.

Memungkinkan IAM pengguna untuk melihat izin mereka sendiri

Contoh ini menunjukkan cara Anda membuat kebijakan yang memungkinkan IAM pengguna melihat kebijakan sebaris dan terkelola yang dilampirkan pada identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau secara terprogram menggunakan atau. AWS CLI AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws: iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Buat Kubernetes cluster di AWS Cloud

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk membuat EKS klaster Amazon bernama my-cluster di us-west-2 AWS Wilayah. Anda dapat mengganti AWS Region dengan AWS Region tempat Anda ingin membuat klaster. Jika Anda melihat peringatan yang mengatakan Tindakan dalam kebijakan Anda tidak mendukung izin tingkat sumber daya dan mengharuskan Anda untuk memilih AWS Management Console, tindakan tersebut dapat All resources diabaikan dengan aman. Jika akun Anda sudah memiliki AWSServiceRoleForAmazonEKS peran, Anda dapat menghapus iam:CreateServiceLinkedRole tindakan dari kebijakan. Jika Anda pernah membuat EKS klaster Amazon di akun Anda maka peran ini sudah ada, kecuali Anda menghapusnya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:CreateCluster", "Resource": "arn:aws: eks:us-west-2:111122223333:cluster/my-cluster" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws: iam::111122223333:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS", "Condition": { "ForAnyValue:StringEquals": { "iam:AWSServiceName": "eks" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws: iam::111122223333:role/cluster-role-name" } ] }

Buat lokal Kubernetes cluster di Pos Terdepan

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk membuat klaster EKS lokal Amazon bernama my-cluster di sebuah pos terdepan di us-west-2 AWS Wilayah. Anda dapat mengganti AWS Region dengan AWS Region tempat Anda ingin membuat klaster. Jika Anda melihat peringatan yang mengatakan Tindakan dalam kebijakan Anda tidak mendukung izin tingkat sumber daya dan mengharuskan Anda untuk memilih AWS Management Console, tindakan tersebut dapat All resources diabaikan dengan aman. Jika akun Anda sudah memiliki AWSServiceRoleForAmazonEKSLocalOutpost peran, Anda dapat menghapus iam:CreateServiceLinkedRole tindakan dari kebijakan. Jika Anda pernah membuat klaster EKS lokal Amazon di Outpost di akun Anda, maka peran ini sudah ada, kecuali Anda menghapusnya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:CreateCluster", "Resource": "arn:aws: eks:us-west-2:111122223333:cluster/my-cluster" }, { "Action": [ "ec2:DescribeSubnets", "ec2:DescribeVpcs", "iam:GetRole" ], "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws: iam::111122223333:role/aws-service-role/outposts.eks-local.amazonaws.com/AWSServiceRoleForAmazonEKSLocalOutpost" }, { "Effect": "Allow", "Action": [ "iam:PassRole", "iam:ListAttachedRolePolicies" ] "Resource": "arn:aws: iam::111122223333:role/cluster-role-name" }, { "Action": [ "iam:CreateInstanceProfile", "iam:TagInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:GetInstanceProfile", "iam:DeleteInstanceProfile", "iam:RemoveRoleFromInstanceProfile" ], "Resource": "arn:aws: iam::*:instance-profile/eks-local-*", "Effect": "Allow" }, ] }

Perbarui a Kubernetes cluster

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk memperbarui klaster bernama my-cluster di Wilayah us-west-2 AWS .

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:UpdateClusterVersion", "Resource": "arn:aws: eks:us-west-2:111122223333:cluster/my-cluster" } ] }

Buat daftar atau deskripsikan semua klaster

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk mencantumkan dan menjelaskan semua klaster di akun Anda. Seorang IAMkepala sekolah harus dapat membuat daftar dan mendeskripsikan cluster untuk menggunakan update-kubeconfig AWS CLI perintah.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:ListClusters" ], "Resource": "*" } ] }