Bantu tingkatkan halaman ini
Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat peran IAM driver Amazon EBS CSI
Plugin Amazon EBS CSI memerlukan izin IAM untuk melakukan panggilan ke AWS API atas nama Anda. Untuk informasi selengkapnya, lihat Mengatur izin pengemudi
catatan
Podsakan memiliki akses ke izin yang ditetapkan ke peran IAM kecuali Anda memblokir akses ke IMDS. Untuk informasi selengkapnya, lihat Praktik terbaik keamanan untuk Amazon EKS.
Prasyarat
-
Sebuah klaster yang sudah ada.
-
Penyedia AWS Identity and Access Management (IAM) OpenID Connect (OIDC) yang sudah ada untuk klaster Anda. Untuk menentukan apakah Anda sudah memiliki satu, atau harus membuat satu, lihat Buat OIDC penyedia IAM untuk klaster Anda.
Prosedur berikut menunjukkan kepada Anda cara membuat peran IAM dan melampirkan kebijakan AWS terkelola padanya. Anda dapat menggunakaneksctl
, AWS Management Console, atau AWS CLI.
catatan
Langkah-langkah spesifik dalam prosedur ini ditulis untuk menggunakan driver sebagai add-on Amazon EKS. Langkah-langkah yang berbeda diperlukan untuk menggunakan driver sebagai add-on yang dikelola sendiri. Untuk informasi selengkapnya, lihat Mengatur izin driver
- eksctl
-
Untuk membuat peran IAM plugin Amazon EBS CSI Anda dengan
eksctl
-
Buat peran IAM dan lampirkan kebijakan. AWS mempertahankan kebijakan AWS terkelola atau Anda dapat membuat kebijakan kustom Anda sendiri. Anda dapat membuat peran IAM dan melampirkan kebijakan AWS terkelola dengan perintah berikut. Ganti
dengan nama klaster Anda. Perintah menyebarkan AWS CloudFormation tumpukan yang membuat peran IAM dan melampirkan kebijakan IAM padanya. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka gantimy-cluster
arn:aws:
dengan.arn:aws-us-gov:
eksctl create iamserviceaccount \ --name ebs-csi-controller-sa \ --namespace kube-system \ --cluster
my-cluster
\ --role-nameAmazonEKS_EBS_CSI_DriverRole
\ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \ --approve -
Jika Anda menggunakan kunci KMS
khusus untuk enkripsi pada volume Amazon EBS Anda, sesuaikan peran IAM sesuai kebutuhan. Sebagai contoh, lakukan hal berikut: -
Salin dan tempel kode berikut ke
file baru. Gantikms-key-for-encryption-on-ebs
.json
dengan ARN kunci KMS kustom.custom-key-arn
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["
custom-key-arn
"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": ["custom-key-arn
"] } ] } -
Buat kebijakan. Anda dapat mengubah
ke nama yang berbeda. Namun, jika Anda melakukannya, pastikan untuk mengubahnya di langkah selanjutnya juga.KMS_Key_For_Encryption_On_EBS_Policy
aws iam create-policy \ --policy-name
KMS_Key_For_Encryption_On_EBS_Policy
\ --policy-document file://kms-key-for-encryption-on-ebs
.json -
Lampirkan kebijakan IAM ke peran dengan perintah berikut. Ganti
dengan ID akun Anda. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka ganti111122223333
arn:aws:
dengan.arn:aws-us-gov:
aws iam attach-role-policy \ --policy-arn arn:aws:iam::
111122223333
:policy/KMS_Key_For_Encryption_On_EBS_Policy
\ --role-nameAmazonEKS_EBS_CSI_DriverRole
-
-
- AWS Management Console
-
Untuk membuat peran IAM plugin Amazon EBS CSI Anda dengan AWS Management Console
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Di panel navigasi sebelah kiri, pilih Peran.
-
Pada halaman Peran, pilih Buat peran.
-
Pada halaman Pilih entitas tepercaya, lakukan hal berikut:
Di bagian Jenis entitas tepercaya, pilih Identitas web.
-
Untuk penyedia Identitas, pilih URL OpenID Connect penyedia untuk klaster Anda (seperti yang ditunjukkan di bawah Ikhtisar di Amazon EKS).
-
Untuk Audiens, pilih
sts.amazonaws.com
. Pilih Selanjutnya.
-
Pada halaman Tambahkan izin, lakukan hal berikut:
-
Di dalam kotak Filter kebijakan, masukkan
AmazonEBSCSIDriverPolicy
. -
Pilih kotak centang di sebelah kiri yang
AmazonEBSCSIDriverPolicy
dikembalikan dalam pencarian. Pilih Selanjutnya.
-
-
Pada halaman Nama, tinjau, dan buat, lakukan hal berikut:
-
Untuk nama Peran, masukkan nama unik untuk peran Anda, seperti
.AmazonEKS_EBS_CSI_DriverRole
Di bawah Tambahkan tag (Opsional), tambahkan metadata ke peran dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tanda di IAM, lihat Menandai sumber daya IAM di Panduan Pengguna IAM.
-
Pilih Buat peran.
-
Setelah peran dibuat, pilih peran di konsol untuk dibuka, dan kemudian diedit.
Pilih tab Trust relationship, lalu pilih Edit trust policy.
-
Temukan garis yang terlihat mirip dengan baris berikut:
"oidc.eks.
region-code
.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
:aud": "sts.amazonaws.com"Tambahkan koma ke akhir baris sebelumnya, lalu tambahkan baris berikut setelah baris sebelumnya. Ganti
dengan tempat Wilayah AWS cluster Anda berada. Gantiregion-code
dengan ID penyedia OIDC cluster Anda.EXAMPLED539D4633E53DE1B71EXAMPLE
"oidc.eks.
region-code
.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
:sub": "system:serviceaccount:kube-system:ebs-csi-controller-sa" Pilih Perbarui kebijakan untuk menyelesaikan.
-
Jika Anda menggunakan kunci KMS
khusus untuk enkripsi pada volume Amazon EBS Anda, sesuaikan peran IAM sesuai kebutuhan. Sebagai contoh, lakukan hal berikut: -
Di panel navigasi di sebelah kiri, pilih Kebijakan.
-
Pada halaman Kebijakan, pilih Buat Kebijakan.
-
Di halaman Buat kebijakan, pilih tab JSON.
-
Salin dan tempel kode berikut ke editor, ganti
dengan ARN kunci KMS khusus.custom-key-arn
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["
custom-key-arn
"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": ["custom-key-arn
"] } ] } -
Pilih Berikutnya: Tanda.
-
Pada halaman Tambahkan tag (Opsional), pilih Berikutnya: Ulasan.
-
Untuk Nama, masukkan nama unik untuk kebijakan Anda (misalnya,
).KMS_Key_For_Encryption_On_EBS_Policy
-
Pilih Buat kebijakan.
-
Di panel navigasi sebelah kiri, pilih Peran.
-
Pilih
Amazoneks_EBS_CSI_ DriverRole
di konsol untuk membukanya untuk diedit. -
Dari daftar tarik-turun Tambahkan izin, pilih Lampirkan kebijakan.
-
Di dalam kotak Filter kebijakan, masukkan
.KMS_Key_For_Encryption_On_EBS_Policy
-
Pilih kotak centang di sebelah kiri
yang dikembalikan dalam pencarian.KMS_Key_For_Encryption_On_EBS_Policy
-
Pilih Lampirkan kebijakan.
-
- AWS CLI
-
Untuk membuat peran IAM plugin Amazon EBS CSI Anda dengan AWS CLI
-
Lihat URL penyedia OIDC klaster Anda. Ganti
dengan nama klaster Anda. Jika output dari perintah adalahmy-cluster
None
, tinjau Prasyarat.aws eks describe-cluster --name
my-cluster
--query "cluster.identity.oidc.issuer" --output textContoh output adalah sebagai berikut.
https://oidc.eks.
region-code
.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
-
Buat peran IAM, berikan tindakan.
AssumeRoleWithWebIdentity
-
Salin konten berikut ke file yang diberi nama
. Gantiaws-ebs-csi-driver-trust-policy
.json
dengan ID akun Anda. Ganti111122223333
danEXAMPLED539D4633E53DE1B71EXAMPLE
dengan nilai yang dikembalikan pada langkah sebelumnya. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka gantiregion-code
arn:aws:
dengan.arn:aws-us-gov:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::
111122223333
:oidc-provider/oidc.eks.region-code
.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.region-code
.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
:aud": "sts.amazonaws.com", "oidc.eks.region-code
.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
:sub": "system:serviceaccount:kube-system:ebs-csi-controller-sa" } } } ] } -
Buat peran. Anda dapat mengubah
ke nama yang berbeda. Jika Anda mengubahnya, pastikan untuk mengubahnya di langkah selanjutnya.AmazonEKS_EBS_CSI_DriverRole
aws iam create-role \ --role-name
AmazonEKS_EBS_CSI_DriverRole
\ --assume-role-policy-document file://"aws-ebs-csi-driver-trust-policy
.json"
-
-
Lampirkan kebijakan. AWS mempertahankan kebijakan AWS terkelola atau Anda dapat membuat kebijakan kustom Anda sendiri. Lampirkan kebijakan AWS terkelola ke peran dengan perintah berikut. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka ganti
arn:aws:
dengan.arn:aws-us-gov:
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \ --role-name
AmazonEKS_EBS_CSI_DriverRole
-
Jika Anda menggunakan kunci KMS
khusus untuk enkripsi pada volume Amazon EBS Anda, sesuaikan peran IAM sesuai kebutuhan. Sebagai contoh, lakukan hal berikut: -
Salin dan tempel kode berikut ke
file baru. Gantikms-key-for-encryption-on-ebs
.json
dengan ARN kunci KMS kustom.custom-key-arn
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["
custom-key-arn
"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": ["custom-key-arn
"] } ] } -
Buat kebijakan. Anda dapat mengubah
ke nama yang berbeda. Namun, jika Anda melakukannya, pastikan untuk mengubahnya di langkah selanjutnya juga.KMS_Key_For_Encryption_On_EBS_Policy
aws iam create-policy \ --policy-name
KMS_Key_For_Encryption_On_EBS_Policy
\ --policy-document file://kms-key-for-encryption-on-ebs
.json -
Lampirkan kebijakan IAM ke peran dengan perintah berikut. Ganti
dengan ID akun Anda. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka ganti111122223333
arn:aws:
dengan.arn:aws-us-gov:
aws iam attach-role-policy \ --policy-arn arn:aws:iam::
111122223333
:policy/KMS_Key_For_Encryption_On_EBS_Policy
\ --role-nameAmazonEKS_EBS_CSI_DriverRole
-
-
Sekarang setelah Anda membuat peran IAM driver Amazon EBS CSI, Anda dapat melanjutkan. Dapatkan add-on driver Amazon EBS CSI Ketika Anda menerapkan plugin dalam prosedur itu, itu membuat dan dikonfigurasi untuk menggunakan akun layanan yang diberi ebs-csi-controller-sa
nama. Akun layanan terikat pada Kubernetes clusterrole
yang diberi Kubernetes izin yang diperlukan.