Peran Amazon Eks Cluster IAM diperlukan untuk setiap cluster. Kluster Kubernetes yang dikelola oleh Amazon Eks menggunakan peran ini untuk mengelola node dan penyedia cloud lama Menggunakan peran ini untuk membuat penyeimbang beban dengan penyeimbangan beban elastis untuk layanan.
Sebelum Anda dapat membuat kluster Amazon Eks, Anda harus membuat peran IAM dengan salah satu IAM policies berikut:
– AmazoneksClusterPolicy
– Kebijakan IAM khusus. Izin minimal yang mengikuti memungkinkan kluster Kubernetes untuk mengelola node, tetapi tidak memungkinkan penyedia cloud Legacy untuk membuat load balancers dengan Elastic Load Balancing. Kebijakan IAM khusus Anda harus memiliki setidaknya izin berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAnyValue:StringLike": { "aws:TagKeys": "kubernetes.io/cluster/*" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeAvailabilityZones", "ec2:DescribeInstanceTopology", "kms:DescribeKey" ], "Resource": "*" } ] }
Catatan : Sebelum 3 Oktober 2023, AmazoneksClusterPolicy diperlukan pada peran IAM untuk setiap cluster. Sebelum 16 April 2020, Amazoneksservicepolicy dan AmazoneksClusterPolicy diperlukan dan nama yang disarankan untuk peran tersebut adalah Eksservicerole. Dengan peran AWSServICEROLEFORMAZONEKS yang terkait dengan layanan kebijakan AmazoneksServicePolicy tidak lagi diperlukan untuk kelompok yang dibuat pada atau setelah 16 April 2020.
Periksa peran cluster yang ada
Anda dapat menggunakan prosedur berikut untuk memeriksa dan melihat apakah akun Anda sudah memiliki peran cluster Amazon EKS.
– Buka IAM console di https://console.aws.amazon.com/iam/.
– Di panel navigasi kiri, pilih Roles.
– Cari daftar roles Eksclusterrole. Jika roles yang mencakup Eksclusterrole tidak ada, maka lihat menciptakan roles cluster Amazon Eks untuk menciptakan roles. Jika roles yang mencakup Eksclusterrole memang ada, maka pilih roles untuk melihat attached policies yang terpasang.
– Pilih Permissions.
– Pastikan kebijakan terkelola AmazonEKSClusterPolicy melekat pada roles. Jika kebijakan dilampirkan, roles Amazon Eks Cluster Anda dikonfigurasi dengan benar.
– Pilih Trust relationships, dan kemudian pilih Edit trust policy.
– Verifikasi bahwa hubungan kepercayaan berisi kebijakan berikut. Jika hubungan kepercayaan cocok dengan kebijakan berikut, pilih Cancel. Jika hubungan Trust tidak cocok, salin kebijakan ke jendela Edit trust policy dan pilih Update policy.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Membuat peran klaster Amazon EKS
Anda dapat menggunakan AWS Management Console atau AWS CLI untuk membuat peran cluster.
AWS Management Console
– Buka IAM console di https://console.aws.amazon.com/iam/.
– Pilih Roles, kemudian Create role.
– Di bawah Trusted entity type, pilih AWS service.
– Dari daftar dropdown Use cases for other AWS services, pilih EKS.
– Pilih EKS – Cluster untuk kasus penggunaan Anda, lalu pilih Next.
– Pada tab Add permissions, pilih Next.
– Untuk Role name, masukkan nama unik untuk peran Anda, seperti eksClusterRole.
– Untuk Description, masukkan teks deskriptif seperti Amazon EKS – Cluster role.
– Pilih Create role.
AWS CLI
– Salin konten berikut ke file bernama cluster-trust-policy.json.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
– Buat Roles. Anda dapat mengganti eksClusterRole dengan nama apa pun yang Anda pilih.
aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json"
– Lampirkan IAM policy yang diperlukan untuk role tersebut.
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name eksClusterRole
Sumber: Docs AWS