Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
IAMtutorial: Gunakan tag SAML sesi untuk ABAC
Attribute-based access control (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut. Dalam AWS, atribut ini disebut tag. Anda dapat melampirkan tag ke IAM sumber daya, termasuk IAM entitas (pengguna atau peran), dan ke AWS sumber daya. Ketika entitas digunakan untuk membuat permintaan AWS, mereka menjadi prinsipal dan prinsipal tersebut menyertakan tag.
Anda juga dapat meneruskan tanda sesi saat Anda mengasumsikan peran atau menggabungkan pengguna. Anda dapat menentukan kebijakan yang menggunakan kunci tanda kondisi untuk memberikan izin kepada prinsipal Anda berdasarkan tanda mereka. Saat Anda menggunakan tanda untuk mengontrol akses ke sumber daya AWS , Anda memungkinkan tim dan sumber daya Anda tumbuh dengan lebih sedikit perubahan ke kebijakan AWS . ABACKebijakan lebih fleksibel daripada AWS kebijakan tradisional, yang mengharuskan Anda untuk mencantumkan setiap sumber daya individu. Untuk informasi lebih lanjut tentang ABAC dan keunggulannya dibandingkan kebijakan tradisional, lihatTentukan izin berdasarkan atribut dengan otorisasi ABAC.
Jika perusahaan Anda menggunakan penyedia identitas SAML berbasis (iDP) untuk mengelola identitas pengguna perusahaan, Anda dapat menggunakan SAML atribut untuk kontrol akses berbutir halus di. AWS Atribut dapat mencakup pengidentifikasi pusat biaya, alamat surel pengguna, klasifikasi departemen, dan penugasan proyek. Saat Anda meneruskan atribut tersebut sebagai tanda sesi, Anda dapat mengontrol akses ke AWS berdasarkan tanda sesi ini.
Untuk menyelesaikan ABACtutorial dengan meneruskan SAML atribut ke kepala sesi Anda, selesaikan tugas diIAMtutorial: Tentukan izin untuk mengakses AWS sumber daya berdasarkan tag, dengan perubahan yang disertakan dalam topik ini.
Prasyarat
Untuk melakukan langkah-langkah untuk menggunakan tag SAML sesiABAC, Anda harus sudah memiliki yang berikut:
-
Akses ke iDP SAML berbasis tempat Anda dapat membuat pengguna pengujian dengan atribut tertentu.
-
Kemampuan untuk masuk sebagai pengguna dengan izin administratif.
-
Pengalaman membuat dan mengedit IAM pengguna, peran, dan kebijakan di AWS Management Console. Namun, jika Anda memerlukan bantuan mengingat proses IAM manajemen, ABAC tutorial menyediakan tautan di mana Anda dapat melihat step-by-step instruksi.
-
Pengalaman menyiapkan iDP SAML berbasis di. IAM Untuk melihat detail selengkapnya dan tautan ke IAM dokumentasi terperinci, lihatMeneruskan tag sesi dengan menggunakan AssumeRoleWithSAML.
Langkah 1: Buat pengguna uji
Lewati petunjuk di Langkah 1: Buat pengguna uji. Karena identitas Anda ditentukan dalam penyedia Anda, Anda tidak perlu menambahkan IAM pengguna untuk karyawan Anda.
Langkah 2: Buat ABAC kebijakan
Ikuti petunjuk Langkah 2: Buat ABAC kebijakan untuk membuat kebijakan terkelola yang ditentukan diIAM.
Langkah 3: Buat dan konfigurasikan SAML peran
Ketika Anda menggunakan ABAC tutorial untukSAML, Anda harus melakukan langkah-langkah tambahan untuk membuat peran, mengkonfigurasi SAML iDP, dan mengaktifkan AWS Management Console akses. Untuk informasi selengkapnya, lihat Langkah 3: Buat peran.
Langkah 3A: Buat peran SAML
Buat peran tunggal yang mempercayai penyedia SAML identitas Anda dan test-session-tags
pengguna yang Anda buat di langkah 1. ABACTutorial menggunakan peran terpisah dengan tag peran yang berbeda. Karena Anda meneruskan tag sesi dari SAML IDP Anda, Anda hanya perlu satu peran. Untuk mempelajari cara membuat peran SAML berbasis, lihatBuat peran untuk federasi SAML 2.0 (konsol).
Beri nama peran access-session-tags
. Lampirkan kebijakan izin access-same-project-team
ke peran tersebut. Edit kebijakan kepercayaan peran untuk menggunakan kebijakan berikut. Untuk petunjuk terperinci tentang cara mengedit hubungan kepercayaan dari suatu peran, lihat Memperbarui kebijakan kepercayaan peran .
Kebijakan kepercayaan peran berikut memungkinkan penyedia SAML identitas Anda dan test-session-tags
pengguna untuk mengambil peran tersebut. Saat mereka mengambil peran tersebut, mereka harus meneruskan tiga tanda sesi khusus. Diperlukan tindakan sts:TagSession
untuk memungkinkan penerusan tanda sesi.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSamlIdentityAssumeRole", "Effect": "Allow", "Action": [ "sts:AssumeRoleWithSAML", "sts:TagSession" ], "Principal": {"Federated":"arn:aws:iam::
123456789012
:saml-provider/ExampleCorpProvider
"}, "Condition": { "StringLike": { "aws:RequestTag/cost-center
": "*", "aws:RequestTag/access-project
": "*", "aws:RequestTag/access-team
": [ "eng
", "qas
" ] }, "StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"} } } ] }
AllowSamlIdentityAssumeRole
Pernyataan tersebut memungkinkan anggota tim Engineering and Quality Assurance untuk mengambil peran ini ketika mereka bergabung AWS dari Example Corporation IDP. ExampleCorpProvider
SAMLPenyedia didefinisikan dalamIAM. Administrator telah menyiapkan SAML pernyataan untuk meneruskan tiga tag sesi yang diperlukan. Pernyataan ini dapat meneruskan tanda tambahan, tetapi ketiga tanda ini harus ada. Atribut identitas dapat memiliki nilai apa pun untuk tanda cost-center
dan access-project
. Tetapi, nilai atribut access-team
harus cocok dengan eng
atau qas
untuk menunjukkan bahwa identitas ada pada tim Engineering atau Jaminan Kualitas.
Langkah 3B: Konfigurasikan IDP SAML
Konfigurasikan SAML IDP Anda untuk meneruskancost-center
,access-project
, dan access-team
atribut sebagai tag sesi. Untuk informasi selengkapnya, lihat Meneruskan tag sesi dengan menggunakan AssumeRoleWithSAML.
Untuk meneruskan atribut ini sebagai tag sesi, sertakan elemen berikut dalam SAML pernyataan Anda.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:cost-center"> <AttributeValue>987654</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-project"> <AttributeValue>peg</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-team"> <AttributeValue>eng</AttributeValue> </Attribute>
Langkah 3C: Aktifkan akses konsol
Aktifkan akses konsol untuk SAML pengguna federasi Anda. Untuk informasi selengkapnya, lihat Mengaktifkan pengguna federasi SAMP 2.0 untuk mengakses AWS Management Console.
Langkah 4: Uji pembuatan rahasia
Federasi ke dalam AWS Management Console menggunakan access-session-tags
peran. Untuk informasi selengkapnya, lihat Mengaktifkan pengguna federasi SAMP 2.0 untuk mengakses AWS Management Console. Kemudian ikuti petunjuk di Langkah 4: Uji pembuatan rahasia untuk membuat rahasia. Gunakan SAML identitas yang berbeda dengan atribut untuk mencocokkan tag yang ditunjukkan dalam ABAC tutorial. Untuk informasi selengkapnya, lihat Langkah 4: Uji pembuatan rahasia.
Langkah 5: Uji menampilkan rahasia
Ikuti petunjuk di Langkah 5: Uji menampilkan rahasia untuk melihat rahasia yang Anda buat di langkah sebelumnya. Gunakan SAML identitas yang berbeda dengan atribut untuk mencocokkan tag yang ditunjukkan dalam ABAC tutorial.
Langkah 6: Uji skalabilitas
Ikuti petunjuk di Langkah 6: Uji skalabilitas untuk menguji skalabilitas. Lakukan ini dengan menambahkan identitas baru di iDP SAML berbasis Anda dengan atribut berikut:
-
cost-center = 101010
-
access-project = cen
-
access-team = eng
Langkah 7: Uji memperbarui dan menghapus rahasia
Ikuti petunjuk di Langkah 7: Uji memperbarui dan menghapus rahasia untuk memperbarui dan menghapus rahasia. Gunakan SAML identitas yang berbeda dengan atribut untuk mencocokkan tag yang ditunjukkan dalam ABAC tutorial.
penting
Hapus semua rahasia yang Anda buat untuk menghindari biaya tagihan. Untuk detail tentang harga di Secrets Manager, lihat AWS Secrets Manager Harga
Ringkasan
Anda sekarang telah berhasil menyelesaikan semua langkah yang diperlukan untuk menggunakan tag SAML sesi dan tag sumber daya untuk manajemen izin.
catatan
Anda menambahkan kebijakan yang memungkinkan tindakan hanya berdasarkan kondisi tertentu. Jika Anda menerapkan kebijakan yang berbeda kepada pengguna atau peran Anda yang memiliki izin lebih luas, maka tindakan tersebut mungkin tidak akan dibatasi untuk memerlukan penandaan. Misalnya, jika Anda memberi pengguna izin administratif penuh menggunakan kebijakan AdministratorAccess
AWS terkelola, kebijakan ini tidak membatasi akses tersebut. Untuk informasi selengkapnya tentang bagaimana izin ditentukan saat beberapa kebijakan dilibatkan, lihat Menentukan apakah permintaan diizinkan atau ditolak dalamsebuah akun..