Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Langkah 1: Konfigurasikan cluster Amazon EKS dan setel izin IAM

Mode fokus
Langkah 1: Konfigurasikan cluster Amazon EKS dan setel izin IAM - Amazon Keyspaces (untuk Apache Cassandra)

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

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

Konfigurasikan kluster Amazon EKS dan buat resource IAM yang diperlukan agar akun layanan Amazon EKS dapat terhubung ke tabel Amazon Keyspaces
  1. Buat penyedia Open ID Connect (OIDC) untuk klaster Amazon EKS. Ini diperlukan untuk menggunakan peran IAM untuk akun layanan. Untuk informasi selengkapnya tentang penyedia OIDC dan cara membuatnya, lihat Membuat penyedia IAM OIDC untuk klaster Anda di Panduan Pengguna Amazon EKS.

    1. Buat penyedia identitas IAM OIDC untuk klaster Anda dengan perintah berikut. Contoh ini mengasumsikan bahwa nama cluster Anda adalahmy-eks-cluster. Jika Anda memiliki cluster dengan nama yang berbeda, ingatlah untuk memperbarui nama di semua perintah future.

      eksctl utils associate-iam-oidc-provider --cluster my-eks-cluster --approve
    2. Konfirmasikan bahwa penyedia identitas OIDC telah terdaftar dengan IAM dengan perintah berikut.

      aws iam list-open-id-connect-providers --region aws-region

      Outputnya akan terlihat mirip dengan ini. Perhatikan Nama Sumber Daya Amazon (ARN) OIDC, Anda memerlukannya di langkah berikutnya saat Anda membuat kebijakan kepercayaan untuk akun layanan.

      { "OpenIDConnectProviderList": [ .. { "Arn": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" } ] }
  2. Buat akun layanan untuk kluster Amazon EKS. Akun layanan menyediakan identitas untuk proses yang berjalan di Pod. Pod adalah objek Kubernetes terkecil dan paling sederhana yang dapat Anda gunakan untuk menyebarkan aplikasi dalam kontainer. Selanjutnya, buat peran IAM yang dapat diasumsikan oleh akun layanan untuk mendapatkan izin ke sumber daya. Anda dapat mengakses AWS layanan apa pun dari Pod yang telah dikonfigurasi untuk menggunakan akun layanan yang dapat mengambil peran IAM dengan izin akses ke layanan tersebut.

    1. Buat namespace baru untuk akun layanan. Namespace membantu mengisolasi sumber daya cluster yang dibuat untuk tutorial ini. Anda dapat membuat namespace baru menggunakan perintah berikut.

      kubectl create namespace my-eks-namespace
    2. Untuk menggunakan namespace khusus, Anda harus mengaitkannya dengan profil Fargate. Kode berikut adalah contoh dari ini.

      eksctl create fargateprofile \ --cluster my-eks-cluster \ --name my-fargate-profile \ --namespace my-eks-namespace \ --labels *=*
    3. Buat akun layanan dengan nama my-eks-serviceaccount di namespace my-eks-namespace untuk klaster Amazon EKS Anda dengan menggunakan perintah berikut.

      cat >my-serviceaccount.yaml <<EOF apiVersion: v1 kind: ServiceAccount metadata: name: my-eks-serviceaccount namespace: my-eks-namespace EOF kubectl apply -f my-serviceaccount.yaml
    4. Jalankan perintah berikut untuk membuat file kebijakan kepercayaan yang menginstruksikan peran IAM untuk mempercayai akun layanan Anda. Hubungan kepercayaan ini diperlukan sebelum kepala sekolah dapat mengambil peran. Anda perlu melakukan pengeditan berikut pada file:

      • UntukPrincipal, masukkan ARN yang IAM kembali ke perintah. list-open-id-connect-providers ARN berisi nomor akun dan Wilayah Anda.

      • Dalam condition pernyataan itu, ganti Wilayah AWS dan id OIDC.

      • Konfirmasikan bahwa nama akun layanan dan namespace sudah benar.

      Anda perlu melampirkan file kebijakan kepercayaan di langkah berikutnya saat Anda membuat peran IAM.

      cat >trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] } EOF

      Opsional: Anda juga dapat menambahkan beberapa entri dalam StringLike kondisi StringEquals atau untuk memungkinkan beberapa akun layanan atau ruang nama untuk mengambil peran. Untuk mengizinkan akun layanan Anda mengambil peran IAM di AWS akun lain, lihat Izin IAM lintas akun di Panduan Pengguna Amazon EKS.

  3. Buat peran IAM dengan nama my-iam-role untuk akun layanan Amazon EKS untuk diasumsikan. Lampirkan file kebijakan kepercayaan yang dibuat pada langkah terakhir ke peran. Kebijakan kepercayaan menentukan akun layanan dan penyedia OIDC yang dapat dipercaya oleh peran IAM.

    aws iam create-role --role-name my-iam-role --assume-role-policy-document file://trust-relationship.json --description "EKS service account role"
  4. Tetapkan izin peran IAM ke Amazon Keyspaces dengan melampirkan kebijakan akses.

    1. Lampirkan kebijakan akses untuk menentukan tindakan yang dapat dilakukan peran IAM pada resource Amazon Keyspaces tertentu. Untuk tutorial ini kami menggunakan kebijakan AWS terkelolaAmazonKeyspacesFullAccess, karena aplikasi kami akan menulis data ke tabel Amazon Keyspaces Anda. Namun, sebagai praktik terbaik, disarankan untuk membuat kebijakan akses khusus yang menerapkan prinsip hak istimewa paling sedikit. Untuk informasi selengkapnya, lihat Bagaimana Amazon Keyspaces bekerja dengan IAM.

      aws iam attach-role-policy --role-name my-iam-role --policy-arn=arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess

      Konfirmasikan bahwa kebijakan telah berhasil dilampirkan ke peran IAM dengan pernyataan berikut.

      aws iam list-attached-role-policies --role-name my-iam-role

      Outputnya akan terlihat seperti ini.

      { "AttachedPolicies": [ { "PolicyName": "AmazonKeyspacesFullAccess", "PolicyArn": "arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess" } ] }
    2. Beri anotasi akun layanan dengan Nama Sumber Daya Amazon (ARN) dari peran IAM yang dapat diasumsikan. Pastikan untuk memperbarui peran ARN dengan ID akun Anda.

      kubectl annotate serviceaccount -n my-eks-namespace my-eks-serviceaccount eks.amazonaws.com/role-arn=arn:aws:iam::111122223333:role/my-iam-role
  5. Konfirmasikan bahwa peran IAM dan akun layanan dikonfigurasi dengan benar.

    1. Konfirmasikan bahwa kebijakan kepercayaan peran IAM telah dikonfigurasi dengan benar dengan pernyataan berikut.

      aws iam get-role --role-name my-iam-role --query Role.AssumeRolePolicyDocument

      Outputnya akan terlihat mirip dengan ini.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount" } } } ] }
    2. Konfirmasikan bahwa akun layanan Amazon EKS dianotasi dengan peran IAM.

      kubectl describe serviceaccount my-eks-serviceaccount -n my-eks-namespace

      Outputnya akan terlihat mirip dengan ini.

      Name: my-eks-serviceaccount Namespace:my-eks-namespace Labels: <none> Annotations: eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/my-iam-role Image pull secrets: <none> Mountable secrets: <none> Tokens: <none> [...]

Setelah Anda membuat akun layanan Amazon EKS, peran IAM, dan mengonfigurasi hubungan dan izin yang diperlukan, lanjutkan ke. Langkah 2: Konfigurasikan aplikasi

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.