SEC03-BP05 Tentukan pagar pembatas izin untuk organisasi Anda - AWS Well-Architected Framework

SEC03-BP05 Tentukan pagar pembatas izin untuk organisasi Anda

Gunakan pagar pembatas izin untuk mengurangi cakupan izin yang tersedia yang dapat diberikan kepada pengguna utama. Rantai evaluasi kebijakan izin meliputi pagar pembatas Anda untuk menentukan izin efektif untuk pengguna utama saat membuat keputusan otorisasi.  Anda dapat menentukan pagar pembatas menggunakan pendekatan berbasis lapisan. Terapkan beberapa pagar pembatas secara meluas di seluruh organisasi Anda dan terapkan pagar pembatas lainnya secara terperinci ke sesi akses sementara.

Hasil yang diinginkan: Anda memiliki isolasi lingkungan yang jelas menggunakan Akun AWS terpisah.  Kebijakan kontrol layanan (SCP) digunakan untuk menentukan pagar pembatas izin tingkat organisasi. Pagar pembatas yang lebih meluas ditetapkan pada tingkat hierarki yang paling dekat dengan root organisasi Anda, dan pagar pembatas yang lebih ketat ditetapkan lebih dekat ke tingkat akun individual.  Jika didukung, kebijakan sumber daya akan menentukan kondisi yang harus dipenuhi oleh pengguna utama untuk mendapatkan akses ke sumber daya. Kebijakan sumber daya juga mengurangi cakupan serangkaian tindakan yang diizinkan, jika sesuai.  Batasan izin diterapkan pada pengguna utama yang mengelola izin beban kerja, dengan mendelegasikan manajemen izin kepada pemilik beban kerja individual.

Antipola umum:

  • Membuat Akun AWS anggota dalam Organisasi AWS, tetapi tidak menggunakan SCP untuk membatasi penggunaan dan izin yang tersedia untuk kredensial root-nya.

  • Menetapkan izin berdasarkan hak akses paling rendah, tetapi tidak menerapkan pagar pembatas pada kumpulan izin maksimum yang dapat diberikan.

  • Mengandalkan fondasi implicit deny dari AWS IAM untuk membatasi izin, dengan memercayai bahwa kebijakan tidak akan memberikan izin explicit allow yang tidak diinginkan.

  • Menjalankan beberapa lingkungan beban kerja dalam lingkungan Akun AWS yang sama, lalu mengandalkan berbagai mekanisme, seperti VPC, tag, atau kebijakan sumber daya untuk memberlakukan batasan izin.

Manfaat menjalankan praktik terbaik ini: Pagar pembatas izin membantu meningkatkan keyakinan bahwa izin yang tidak diinginkan tidak dapat diberikan, meskipun kebijakan izin mencoba memberikannya.  Hal ini dapat menyederhanakan penentuan dan pengelolaan izin dengan mengurangi cakupan maksimum izin yang perlu dipertimbangkan.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Sedang

Panduan implementasi

Sebaiknya gunakan pendekatan berbasis lapisan untuk menentukan pagar pembatas izin bagi organisasi Anda. Pendekatan ini secara sistematis mengurangi izin maksimum yang mungkin saat lapisan tambahan diterapkan. Hal ini membantu Anda memberikan akses berdasarkan prinsip hak akses paling rendah, sehingga mengurangi risiko akses yang tidak diinginkan karena kesalahan konfigurasi kebijakan.

Langkah pertama untuk membuat pagar pembatas izin adalah mengisolasi beban kerja dan lingkungan Anda ke dalam Akun AWS terpisah.  Pengguna utama dari satu akun tidak dapat mengakses sumber daya di akun lain tanpa izin eksplisit untuk melakukannya, meskipun kedua akun ini berada di organisasi AWS yang sama atau dalam unit organisasi (OU) yang sama.  Anda dapat menggunakan OU untuk mengelompokkan akun yang ingin Anda kelola sebagai satu unit.   

Langkah selanjutnya adalah mengurangi izin maksimum yang dapat Anda berikan kepada pengguna utama dalam akun anggota di organisasi Anda.  Anda dapat menggunakan kebijakan kontrol layanan (SCP) untuk tujuan ini, yang dapat Anda terapkan ke OU atau akun.  SCP dapat memberlakukan kontrol akses umum, seperti membatasi akses ke Wilayah AWS tertentu, membantu mencegah sumber daya agar tidak dihapus, atau menonaktifkan tindakan layanan yang berpotensi berisiko.   SCP yang Anda terapkan ke root organisasi Anda hanya memengaruhi akun anggotanya, bukan akun manajemen.  SCP hanya mengatur pengguna utama dalam organisasi Anda. SCP Anda tidak mengatur pengguna utama di luar organisasi Anda yang mengakses sumber daya Anda.

Langkah selanjutnya adalah menggunakan kebijakan sumber daya IAM untuk menentukan cakupan tindakan yang tersedia yang dapat Anda ambil pada sumber daya yang diatur kebijakan tersebut, bersama dengan kondisi apa pun yang harus dipenuhi oleh pengguna utama yang melakukan tindakan.  Hal ini dapat bersifat luas seperti mengizinkan semua tindakan asalkan pengguna utama adalah bagian dari organisasi Anda (menggunakan kunci kondisi PrincipalOrgId), atau bersifat terperinci seperti hanya mengizinkan tindakan tertentu oleh peran IAM tertentu.  Anda dapat mengambil pendekatan serupa terhadap kondisi dalam kebijakan kepercayaan peran IAM.  Jika kebijakan kepercayaan sumber daya atau peran secara eksplisit menyebutkan suatu pengguna utama di akun yang sama sebagai peran atau sumber daya yang diaturnya, pengguna utama tersebut tidak perlu dilampiri dengan kebijakan IAM yang memberikan izin yang sama.  Jika pengguna utama berada di akun yang berbeda dari sumber daya, maka pengguna utama memang perlu dilampiri dengan kebijakan IAM yang memberikan izin tersebut.

Sering kali, tim beban kerja ingin mengelola izin yang dibutuhkan beban kerja mereka.  Hal ini mungkin mengharuskan mereka membuat peran dan kebijakan izin IAM baru.  Anda dapat menetapkan cakupan izin maksimum yang boleh diberikan tim dalam batasan izin IAM, lalu mengaitkan dokumen ini ke peran IAM yang kemudian dapat digunakan tim untuk mengelola peran dan izin IAM mereka.  Pendekatan ini dapat memberi mereka kebebasan untuk menyelesaikan pekerjaan mereka sambil mengurangi risiko memiliki akses administratif IAM.

Langkah yang lebih terperinci adalah mengimplementasikan teknik manajemen hak akses istimewa (PAM) dan manajemen akses yang ditingkatkan sementara (TEAM).  Salah satu contoh PAM adalah mewajibkan pengguna utama melakukan autentikasi multi-faktor sebelum mengambil tindakan yang memerlukan hak akses istimewa.  Untuk informasi selengkapnya, lihat Mengonfigurasi akses API yang dilindungi MFA. TEAM memerlukan solusi yang mengelola persetujuan dan jangka waktu dari dan hingga kapan pengguna utama diizinkan memiliki akses yang ditingkatkan.  Salah satu pendekatannya adalah menambahkan pengguna utama untuk sementara ke kebijakan kepercayaan peran untuk peran IAM yang memiliki akses yang ditingkatkan.  Pendekatan lainnya adalah, dalam keadaan normal, mengurangi cakupan izin yang diberikan kepada pengguna utama oleh peran IAM menggunakan kebijakan sesi, lalu mencabut sementara pembatasan ini selama periode waktu yang disetujui. Untuk mempelajari lebih lanjut tentang solusi yang telah divalidasi oleh AWS dan partner tertentu, lihat Akses yang ditingkatkan sementara.

Langkah implementasi

  1. Isolasikan beban kerja dan lingkungan Anda ke dalam Akun AWS terpisah.

  2. Gunakan SCP untuk mengurangi izin maksimum yang dapat diberikan kepada pengguna utama dalam akun anggota di organisasi Anda.

    1. Sebaiknya Anda mengambil pendekatan allowlist untuk menulis SCP Anda yang menolak semua tindakan kecuali yang Anda izinkan, dan kondisi yang akan membuat tindakan tersebut diizinkan. Mulailah dengan menentukan Sumber Daya yang ingin Anda kontrol, lalu atur Efek ke Tolak. Gunakan elemen NotAction untuk menolak semua tindakan kecuali yang Anda tentukan. Gabungkan hal ini dengan Kondisi NotLike untuk menentukan kapan tindakan ini diizinkan, jika berlaku, seperti StringNotLike dan ArnNotLike.

    2. Lihat Contoh kebijakan kontrol layanan.

  3. Gunakan kebijakan sumber daya IAM untuk mengurangi cakupan dan menentukan kondisi untuk tindakan yang diizinkan pada sumber daya.  Gunakan kondisi dalam kebijakan kepercayaan peran IAM untuk membuat batasan pada pengambilan peran.

  4. Tetapkan batasan izin IAM ke peran IAM yang kemudian dapat digunakan tim beban kerja untuk mengelola peran dan izin IAM beban kerja mereka sendiri.

  5. Evaluasi solusi PAM dan TEAM berdasarkan kebutuhan Anda.

Sumber daya

Dokumen terkait:

Contoh terkait:

Alat terkait: