Opsi 2: Aplikasi hanya dapat mengambil peran yang diizinkan oleh kebijakan kepercayaan - AWS Bimbingan Preskriptif

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

Opsi 2: Aplikasi hanya dapat mengambil peran yang diizinkan oleh kebijakan kepercayaan

Dalam skenario ini, dua sertifikat telah disediakan di AWS Certificate Manager (ACM) dari AWS Private Certificate Authority dan dibagikan dengan aplikasi yang memerlukan akses ke sumber daya. AWS Aplikasi 1 hanya dapat mengasumsikan Peran 1, dan Aplikasi 2 hanya dapat mengasumsikan Peran 2. Dalam kebijakan kepercayaan peran, Anda mengonfigurasi bidang subjek sertifikat sebagai kondisi. Kondisi ini memungkinkan aplikasi untuk mengambil hanya peran tertentu. Karena izin peran, hanya Aplikasi 1 yang dapat mengakses Bucket 1, dan hanya Aplikasi 2 yang dapat mengakses Bucket 2. Gambar berikut menunjukkan akses yang dimiliki setiap aplikasi.

Aplikasi yang menggunakan sertifikat yang berbeda dan hanya dapat mengambil peran tertentu.

Dalam opsi ini, Anda mengonfigurasi kebijakan kepercayaan untuk mengizinkan AssumeRole hanya jika atribut sertifikat tertentu terpenuhi. Contoh kebijakan kepercayaan peran menunjukkan cara mengonfigurasi Condition bagian agar memerlukan nama umum sertifikat tertentu (CN), yang berbeda untuk Peran 1 dan Peran 2. Setiap aplikasi dapat mengambil peran tertentu karena IAM Roles Anywhere memiliki hubungan jangkar kepercayaan dengan AWS Private CA. Pendekatan ini membantu mencegah akses tidak sah ke peran dan data karena aplikasi tidak dapat mengambil peran apa pun yang ditautkan ke profil target. Misalnya, Anda dapat memisahkan data bisnis ke dalam bucket yang berbeda, mengonfigurasi peran untuk mengizinkan akses hanya ke salah satu bucket tersebut, dan kemudian menggunakan kontrol akses berbasis sertifikat dalam kebijakan kepercayaan untuk menentukan peran mana yang dapat diasumsikan oleh aplikasi.

Contoh kebijakan kepercayaan berikut untuk Peran 1 memiliki kondisi yang mengizinkan asumsi peran hanya jika nama sertifikat adalah application-1.com dan jika jangkar kepercayaan Amazon Resource Name (ARN) cocok:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:PrincipalTag/x509Subject/CN": "application-1.com" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:rolesanywhere:<region>:<account-ID>:trust-anchor/<TA_ID>" ] } } } ] }

Contoh kebijakan kepercayaan berikut untuk Peran 2 memiliki kondisi yang memungkinkan asumsi peran hanya jika nama sertifikat adalah application-2.com dan jika jangkar kepercayaan ARN cocok:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:PrincipalTag/x509Subject/CN": "application-2.com" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:rolesanywhere:<region>:<account-ID>:trust-anchor/<TA_ID>" ] } } } ] }

Untuk informasi selengkapnya tentang kebijakan kepercayaan peran dan cara mengubah sampel ini, lihat Kebijakan kepercayaan dalam IAM Roles Anywhere dokumentasi.

Contoh kebijakan peran dan profil untuk Aplikasi 1 dan Aplikasi 2 disertakan dalam bagian Lampiran: Profil sampel dan kebijakan peran dari panduan ini.