Model desain untuk Izin Terverifikasi Amazon - AWS Bimbingan Preskriptif

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

Model desain untuk Izin Terverifikasi Amazon

Menggunakan PDP terpusat dengan PEP pada API

Titik keputusan kebijakan terpusat (PDP) dengan poin penegakan kebijakan (PEP) pada model API mengikuti praktik terbaik industri untuk menciptakan sistem yang efektif dan mudah dipelihara untuk kontrol akses dan otorisasi API. Pendekatan ini mendukung beberapa prinsip utama:

  • Otorisasi dan kontrol akses API diterapkan di beberapa titik dalam aplikasi.

  • Logika otorisasi tidak tergantung pada aplikasi.

  • Keputusan kontrol akses terpusat.

Menggunakan PDP terpusat dengan PEP pada API

Alur aplikasi (diilustrasikan dengan callout bernomor biru dalam diagram):

  1. Pengguna yang diautentikasi dengan JSON Web Token (JWT) menghasilkan permintaan HTTP ke Amazon. CloudFront

  2. CloudFront meneruskan permintaan ke Amazon API Gateway, yang dikonfigurasi sebagai CloudFront asal.

  3. Authorizer kustom API Gateway dipanggil untuk memverifikasi JWT.

  4. Layanan mikro menanggapi permintaan tersebut.

Alur kontrol akses otorisasi dan API (diilustrasikan dengan callout bernomor merah dalam diagram):

  1. PEP memanggil layanan otorisasi dan meneruskan data permintaan, termasuk JWT apa pun.

  2. Layanan otorisasi (PDP), dalam hal ini Izin Terverifikasi, menggunakan data permintaan sebagai input kueri dan mengevaluasinya berdasarkan kebijakan relevan yang ditentukan oleh kueri.

  3. Keputusan otorisasi dikembalikan ke PEP dan dievaluasi.

Model ini menggunakan PDP terpusat untuk membuat keputusan otorisasi. PEP diimplementasikan pada titik yang berbeda untuk membuat permintaan otorisasi ke PDP. Diagram berikut menunjukkan bagaimana Anda dapat menerapkan model ini dalam aplikasi SaaS multi-penyewa hipotetis.

Dalam arsitektur ini, PEP meminta keputusan otorisasi di titik akhir layanan untuk Amazon CloudFront dan Amazon API Gateway dan untuk setiap layanan mikro. Keputusan otorisasi dibuat oleh layanan otorisasi, Izin Terverifikasi Amazon (PDP). Karena Izin Terverifikasi adalah layanan yang dikelola sepenuhnya, Anda tidak perlu mengelola infrastruktur yang mendasarinya. Anda dapat berinteraksi dengan Izin Terverifikasi menggunakan RESTful API atau SDK AWS .

Anda juga dapat menggunakan arsitektur ini dengan mesin kebijakan khusus. Namun, keuntungan apa pun yang diperoleh dari Izin Terverifikasi harus diganti dengan logika yang disediakan oleh mesin kebijakan khusus.

PDP terpusat dengan PEP pada API menyediakan opsi mudah untuk membuat sistem otorisasi yang kuat untuk API. Ini menyederhanakan proses otorisasi dan juga menyediakan antarmuka yang dapat diulang untuk membuat keputusan otorisasi untuk API easy-to-use, layanan mikro, lapisan Backend for Frontend (BFF), atau komponen aplikasi lainnya.

Menggunakan SDK Cedar

Izin Terverifikasi Amazon menggunakan bahasa Cedar untuk mengelola izin berbutir halus di aplikasi kustom Anda. Dengan Izin Terverifikasi, Anda dapat menyimpan kebijakan Cedar di lokasi pusat, memanfaatkan latensi rendah dengan pemrosesan milidetik, dan izin audit di berbagai aplikasi. Anda juga dapat secara opsional mengintegrasikan SDK Cedar langsung ke aplikasi Anda untuk memberikan keputusan otorisasi tanpa menggunakan Izin Terverifikasi. Opsi ini memerlukan pengembangan aplikasi khusus tambahan untuk mengelola dan menyimpan kebijakan untuk kasus penggunaan Anda. Namun, ini bisa menjadi alternatif yang layak, terutama dalam kasus di mana akses ke Izin Terverifikasi terputus-putus atau tidak mungkin karena konektivitas internet yang tidak konsisten.