Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Otentikasi ke akun lain dengan IRSA
Anda dapat mengonfigurasi IAM izin lintas akun baik dengan membuat penyedia identitas dari klaster akun lain atau dengan menggunakan operasi berantaiAssumeRole
. Dalam contoh berikut, Akun A memiliki EKS klaster Amazon yang mendukung IAM peran untuk akun layanan. Pods yang berjalan di cluster itu harus mengambil IAM izin dari Akun B.
contoh Buat penyedia identitas dari klaster akun lain
Dalam contoh ini, Akun A menyediakan Account B dengan penerbit OpenID Connect (OIDC) URL dari klaster mereka. Akun B mengikuti petunjuk di Buat sebuah IAM OIDC penyedia untuk klaster Anda Buat IAM OIDC penyedia untuk klaster Anda dan Menetapkan IAM peran untuk Kubernetes akun layanan menggunakan OIDC penerbit URL dari klaster Akun A. Kemudian, administrator klaster membuat anotasi akun layanan di klaster Akun A untuk menggunakan peran dari Akun B (444455556666
).
apiVersion: v1 kind: ServiceAccount metadata: annotations: eks.amazonaws.com/role-arn: arn:aws: iam::444455556666:role/account-b-role
contoh Gunakan operasi berantai AssumeRole
Dalam contoh ini, Akun B membuat IAM kebijakan dengan izin untuk diberikan Pods di klaster Akun A. Akun B (444455556666
) melampirkan kebijakan tersebut ke IAM peran dengan hubungan kepercayaan yang memungkinkan AssumeRole
izin ke Akun A (111122223333
).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws: iam::111122223333:root" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Akun A membuat peran dengan kebijakan kepercayaan yang mendapatkan kredensi dari penyedia identitas yang dibuat dengan alamat OIDC penerbit klaster.
{ "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" } ] }
Akun A melampirkan kebijakan ke peran tersebut untuk mengambil peran yang dibuat oleh Akun B dengan izin berikut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws: iam::444455556666:role/account-b-role" } ] }
Kode aplikasi untuk Pods untuk mengambil peran Akun B menggunakan dua profil: account_b_role
danaccount_a_role
. Profil account_b_role
menggunakan profil account_a_role
sebagai sumbernya. Untuk AWS CLI, ~/.aws/config
file ini mirip dengan yang berikut ini.
[profile account_b_role] source_profile = account_a_role role_arn=arn:aws: iam::444455556666:role/account-b-role [profile account_a_role] web_identity_token_file = /var/run/secrets/eks.amazonaws.com/serviceaccount/token role_arn=arn:aws: iam::111122223333:role/account-a-role
Untuk menentukan profil berantai untuk yang lain AWS SDKs, lihat dokumentasi untuk SDK yang Anda gunakan. Untuk informasi selengkapnya, lihat Alat untuk Dibangun AWS