Tentukan izin berdasarkan atribut dengan otorisasi ABAC - AWS Identity and Access Management

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

Tentukan izin berdasarkan atribut dengan otorisasi ABAC

Attribute-based access control (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut. AWS memanggil tag atribut ini. Anda dapat melampirkan tag ke sumber daya IAM, termasuk entitas IAM (pengguna IAM atau peran IAM) dan ke sumber daya. AWS Anda dapat membuat kebijakan ABAC tunggal atau set kecil kebijakan untuk penanggung jawab IAM Anda. Anda dapat mendesain kebijakan ABAC yang mengizinkan operasi saat tag prinsipal cocok dengan tag sumber daya. Sistem atribut ABAC yang menyediakan konteks pengguna tinggi dan kontrol akses granular. Karena ABAC berbasis atribut, ABAC dapat melakukan otorisasi dinamis untuk data atau aplikasi yang memberikan atau mencabut akses secara real time. ABAC membantu dalam lingkungan yang skala dan dalam situasi di mana identitas atau manajemen kebijakan sumber daya telah menjadi kompleks.

Misalnya, Anda dapat membuat tiga peran IAM dengan kunci access-project tag. Tetapkan nilai tag dari peran IAM pertama keHeart, yang kedua keStar, dan yang ketiga keLightning. Anda kemudian dapat menggunakan kebijakan tunggal yang memungkinkan akses ketika peran IAM dan AWS sumber daya memiliki nilai access-project tag. Untuk tutorial terperinci yang menunjukkan cara menggunakan ABAC di AWS, lihat Tutorial IAM: Tentukan izin untuk mengakses AWS sumber daya berdasarkan tag. Untuk mempelajari tentang layanan yang mendukung ABAC, lihatAWS layanan yang bekerja dengan IAM.

Diagram ini menggambarkan bahwa tag yang diterapkan pada prinsipal harus cocok dengan tag yang diterapkan ke sumber daya agar pengguna diberikan izin ke sumber daya. Tag diterapkan ke grup IAM, grup sumber daya, pengguna individu, dan sumber daya individu.

Perbandingan ABAC dengan model RBAC tradisional

Model otorisasi tradisional yang digunakan dalam IAM adalah kontrol akses berbasis peran (RBAC). RBAC mendefinisikan izin berdasarkan fungsi pekerjaan seseorang, atau peran, yang berbeda dari peran IAM. IAM mencakup kebijakan terkelola untuk fungsi kerja yang menyelaraskan izin fungsi pekerjaan dalam model RBAC.

Di IAM, Anda menerapkan RBAC dengan membuat kebijakan yang berbeda untuk fungsi pekerjaan yang berbeda. Anda kemudian melampirkan kebijakan ke identitas (pengguna IAM, grup IAM, atau peran IAM). Sebagai praktik terbaik, Anda memberikan izin minimum yang diperlukan untuk fungsi pekerjaan. Ini menghasilkan akses hak istimewa paling sedikit. Setiap kebijakan fungsi pekerjaan mencantumkan sumber daya spesifik yang dapat diakses oleh identitas yang ditetapkan kebijakan tersebut. Kerugian menggunakan model RBAC tradisional adalah ketika Anda atau pengguna menambahkan sumber daya baru ke lingkungan Anda, Anda harus memperbarui kebijakan untuk mengizinkan akses ke sumber daya tersebut.

Misalnya, anggaplah Anda memiliki tiga proyek bernama Heart, Star, dan Lightning, yang dikerjakan karyawan Anda. Anda membuat peran IAM untuk setiap proyek. Anda kemudian melampirkan kebijakan ke setiap peran IAM untuk menentukan sumber daya yang dapat diakses oleh siapa pun yang diizinkan untuk mengambil peran IAM. Jika seorang karyawan berganti pekerjaan dalam perusahaan Anda, Anda menetapkan mereka ke peran IAM yang berbeda. Anda dapat menetapkan orang atau program untuk lebih dari satu peran IAM. Namun, Star proyek ini mungkin memerlukan sumber daya tambahan, seperti EC2 wadah Amazon baru. Dalam hal ini, Anda harus memperbarui kebijakan yang dilampirkan ke peran Star IAM untuk menentukan sumber daya kontainer baru. Jika tidak, anggota Star proyek tidak diizinkan mengakses kontainer baru.

Diagram ini menggambarkan bahwa kontrol akses berbasis peran mengharuskan setiap identitas diberi kebijakan berbasis fungsi pekerjaan tertentu untuk mengakses sumber daya yang berbeda.
ABAC memberikan keuntungan berikut dibandingkan model RBAC tradisional:
  • Skala izin ABAC dengan inovasi. Administrator idak perlu lagi memperbarui kebijakan yang ada untuk memungkinkan akses ke sumber daya baru. Misalnya, anggap Anda merancang strategi ABAC Anda dan tanda access-project. Pengembang menggunakan peran IAM dengan Heart tag access-project =. Ketika orang-orang di Heart proyek membutuhkan EC2 sumber daya Amazon tambahan, pengembang dapat membuat EC2 instance Amazon baru dengan Heart tag access-project =. Lalu, siapa pun di proyek Heart dapat memulai dan menghentikan instans tersebut karena nilai tanda mereka cocok.

  • ABAC membutuhkan lebih sedikit kebijakan. Karena Anda tidak perlu membuat kebijakan yang berbeda untuk fungsi pekerjaan yang berbeda, Anda membuat kebijakan yang lebih sedikit. Kebijakan tersebut lebih mudah dikelola.

  • Dengan menggunakan ABAC, tim dapat merespons perubahan dan pertumbuhan secara dinamis. Karena izin untuk sumber daya baru secara otomatis diberikan berdasarkan atribut, Anda tidak perlu menetapkan kebijakan identitas secara manual. Misalnya, jika perusahaan Anda sudah mendukung proyek Heart dan Star menggunakan ABAC, mudah untuk menambahkan proyek Lightning baru. Administrator IAM membuat peran IAM baru dengan tag access-project =Lightning. Tidak perlu mengubah kebijakan untuk mendukung proyek baru. Siapa pun yang memiliki izin untuk mengambil peran IAM dapat membuat dan melihat instance yang ditandai dengan =. access-project Lightning Skenario lain adalah ketika seorang anggota tim pindah dari Heart proyek ke Lightning proyek. Untuk memberikan akses anggota tim ke Lightning proyek, administrator IAM menugaskan mereka ke peran IAM yang berbeda. Tidak perlu mengubah kebijakan izin.

  • Izin granular dimungkinkan menggunakan ABAC. Saat Anda membuat kebijakan, memberikan hak istimewa terkecil adalah praktik terbaik. Menggunakan RBAC tradisional, Anda menulis kebijakan yang memungkinkan akses ke sumber daya tertentu. Namun, saat Anda menggunakan ABAC, Anda dapat mengizinkan tindakan pada semua sumber daya jika tag sumber daya cocok dengan tag prinsipal.

  • Gunakan atribut karyawan dari direktori perusahaan Anda dengan ABAC. Anda dapat mengonfigurasi penyedia SAFL atau OIDC Anda untuk meneruskan tag sesi ke IAM. Ketika karyawan Anda bergabung AWS, IAM menerapkan atribut mereka ke kepala sekolah yang dihasilkan. Kemudian, Anda dapat menggunakan ABAC untuk mengizinkan atau menolak izin berdasarkan atribut tersebut.

Untuk tutorial terperinci yang menunjukkan cara menggunakan ABAC di AWS, lihat. Tutorial IAM: Tentukan izin untuk mengakses AWS sumber daya berdasarkan tag