Pertanyaan yang Sering Diajukan - AWS Bimbingan Preskriptif

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

Pertanyaan yang Sering Diajukan

Bagian ini memberikan jawaban atas pertanyaan yang sering diajukan tentang penerapan kontrol akses API dan otorisasi dalam aplikasi SaaS multi-penyewa.

Q. Apa perbedaan antara otorisasi dan otentikasi?

A. Otentikasi adalah proses verifikasi siapa pengguna. Otorisasi memberikan izin kepada pengguna untuk mengakses sumber daya tertentu.

T. Apa perbedaan antara otorisasi dan isolasi penyewa dalam aplikasi SaaS?

Isolasi penyewa mengacu pada mekanisme eksplisit yang digunakan dalam sistem SaaS untuk memastikan bahwa sumber daya setiap penyewa, bahkan ketika beroperasi pada infrastruktur bersama, terisolasi. Otorisasi multi-penyewa mengacu pada otorisasi tindakan masuk dan mencegahnya diterapkan pada penyewa yang salah. Pengguna hipotetis dapat diautentikasi dan diotorisasi, tetapi mungkin masih dapat mengakses sumber daya penyewa lain. Tidak ada tentang otentikasi dan otorisasi yang menghalangi akses ini, tetapi isolasi penyewa diperlukan untuk mencapai tujuan ini. Untuk informasi lebih lanjut tentang kedua konsep ini, lihat diskusi isolasi penyewa di whitepaper SaaS Architecture AWS Fundamentals.

T. Mengapa saya perlu mempertimbangkan isolasi penyewa untuk aplikasi SaaS saya?

A. Aplikasi SaaS memiliki banyak penyewa. Penyewa dapat berupa organisasi pelanggan atau entitas eksternal apa pun yang menggunakan aplikasi SaaS itu. Tergantung pada bagaimana aplikasi dirancang, ini berarti bahwa penyewa dapat mengakses berbagi APIs, database, atau sumber daya lainnya. Penting untuk mempertahankan isolasi penyewa — yaitu, konstruksi yang mengontrol akses ke sumber daya secara ketat, dan memblokir setiap upaya untuk mengakses sumber daya penyewa lain — untuk mencegah pengguna dari satu penyewa mengakses informasi pribadi penyewa lain. Aplikasi SaaS sering dirancang untuk memastikan bahwa isolasi penyewa dipertahankan di seluruh aplikasi dan penyewa hanya dapat mengakses sumber daya mereka sendiri.

T. Mengapa saya memerlukan model kontrol akses?

Model kontrol akses digunakan untuk membuat metode yang konsisten untuk menentukan bagaimana memberikan akses ke sumber daya dalam aplikasi. Ini dapat dilakukan dengan menetapkan peran kepada pengguna yang selaras dengan logika bisnis, atau dapat didasarkan pada atribut kontekstual lainnya seperti waktu hari atau apakah pengguna memenuhi kondisi yang telah ditentukan sebelumnya. Model kontrol akses membentuk logika dasar yang digunakan aplikasi Anda saat membuat keputusan otorisasi untuk menentukan izin pengguna.

Q. Apakah kontrol akses API diperlukan untuk aplikasi saya?

A. Ya. APIs harus selalu memverifikasi bahwa penelepon memiliki akses yang sesuai. Kontrol akses API yang meluas juga memastikan bahwa akses hanya diberikan berdasarkan penyewa sehingga isolasi yang tepat dapat dipertahankan.

T. Mengapa mesin kebijakan atau PDPs direkomendasikan untuk otorisasi?

A. Policy Decision Point (PDP) memungkinkan logika otorisasi dalam kode aplikasi diturunkan ke sistem terpisah. Ini dapat menyederhanakan kode aplikasi. Ini juga menyediakan antarmuka easy-to-use idempoten untuk membuat keputusan otorisasi untuk, layanan mikro APIs, lapisan Backend for Frontend (BFF), atau komponen aplikasi lainnya.

Q. Apa itu PEP?

A. Policy Enforcement Point (PEP) bertanggung jawab untuk menerima permintaan otorisasi yang dikirim ke PDP untuk evaluasi. PEP dapat berada di mana saja dalam aplikasi di mana data dan sumber daya harus dilindungi, atau di mana logika otorisasi diterapkan. PEPs relatif sederhana dibandingkan dengan PDPs. PEP bertanggung jawab hanya untuk meminta dan mengevaluasi keputusan otorisasi dan tidak memerlukan logika otorisasi apa pun untuk dimasukkan ke dalamnya.

T. Bagaimana saya harus memilih antara Izin Terverifikasi Amazon dan OPA?

A. Untuk memilih antara Izin Terverifikasi dan Agen Kebijakan Terbuka (OPA), selalu ingat kasus penggunaan dan persyaratan unik Anda. Izin Terverifikasi menyediakan cara yang dikelola sepenuhnya untuk menentukan izin berbutir halus, izin audit di seluruh aplikasi, dan memusatkan sistem administrasi kebijakan untuk aplikasi Anda sambil memenuhi persyaratan latensi aplikasi Anda dengan pemrosesan milidetik. OPA adalah open source, mesin kebijakan tujuan umum yang juga dapat membantu Anda menyatukan kebijakan di seluruh tumpukan aplikasi Anda. Untuk menjalankan OPA, Anda perlu meng-hostingnya di AWS lingkungan Anda, biasanya dengan wadah atau AWS Lambda fungsi.

Izin Terverifikasi menggunakan bahasa kebijakan Cedar open source, sedangkan OPA menggunakan Rego. Oleh karena itu, keakraban dengan salah satu bahasa ini mungkin mempengaruhi Anda untuk memilih solusi itu. Namun, kami menyarankan Anda membaca tentang kedua bahasa dan kemudian bekerja kembali dari masalah yang Anda coba selesaikan untuk menemukan solusi terbaik untuk kasus penggunaan Anda.

T. Apakah ada alternatif sumber terbuka untuk Izin Terverifikasi dan OPA?

Ada beberapa sistem open-source yang mirip dengan Verified Permissions dan Open Policy Agent (OPA), seperti Common Expression Language (CEL). Panduan ini berfokus pada Izin Terverifikasi, sebagai manajemen izin yang dapat diskalakan dan layanan otorisasi berbutir halus, dan OPA, yang diadopsi secara luas, didokumentasikan, dan dapat disesuaikan dengan berbagai jenis aplikasi dan persyaratan otorisasi.

T. Apakah saya perlu menulis layanan otorisasi untuk menggunakan OPA, atau dapatkah saya berinteraksi dengan OPA secara langsung?

A. Anda dapat berinteraksi dengan OPA secara langsung. Layanan otorisasi dalam konteks panduan ini mengacu pada layanan yang menerjemahkan permintaan keputusan otorisasi ke dalam kueri OPA, dan sebaliknya. Jika aplikasi Anda dapat menanyakan dan menerima tanggapan OPA secara langsung, tidak perlu memperkenalkan kompleksitas tambahan ini.

T. Bagaimana cara memantau agen OPA saya untuk tujuan uptime dan audit?

A. OPA menyediakan pencatatan dan pemantauan uptime dasar, meskipun konfigurasi defaultnya kemungkinan tidak akan cukup untuk penerapan perusahaan. Untuk informasi selengkapnya, lihat bagian DevOps, pemantauan, dan pencatatan sebelumnya dalam panduan ini.

T. Bagaimana cara memantau Izin Terverifikasi untuk tujuan uptime dan audit?

A. Izin Terverifikasi adalah layanan AWS terkelola, dan dapat dipantau ketersediaannya melalui. Dasbor AWS Health Selain itu, Izin Terverifikasi mampu masuk ke AWS CloudTrail, Amazon CloudWatch Log, Amazon S3, dan Amazon Data Firehose.

T. Sistem operasi dan AWS layanan apa yang dapat saya gunakan untuk menjalankan OPA?

A. Anda dapat menjalankan OPA di macOS, Windows, dan Linux. Agen OPA dapat dikonfigurasi pada agen Amazon Elastic Compute Cloud (Amazon EC2) serta layanan kontainerisasi seperti Amazon Elastic Container Service (Amazon ECS) Container Service (Amazon ECS) dan Amazon Elastic Kubernetes Service (Amazon EKS).

T. Sistem operasi dan AWS layanan apa yang dapat saya gunakan untuk menjalankan Izin Terverifikasi?

A. Izin Terverifikasi adalah layanan AWS terkelola dan dioperasikan oleh AWS. Tidak diperlukan konfigurasi, instalasi, atau hosting tambahan untuk menggunakan Izin Terverifikasi kecuali kemampuan untuk membuat permintaan otorisasi ke layanan.

T. Dapatkah saya menjalankan OPA? AWS Lambda

A. Anda dapat menjalankan OPA di Lambda sebagai perpustakaan Go. Untuk informasi tentang bagaimana Anda dapat melakukan ini untuk otorisasi Lambda API Gateway, lihat posting AWS blog Membuat otorisasi Lambda kustom menggunakan Agen Kebijakan Terbuka.

T. Bagaimana saya harus memutuskan antara PDP terdistribusi dan pendekatan PDP terpusat?

A. Hal ini tergantung pada aplikasi Anda. Kemungkinan besar akan ditentukan berdasarkan perbedaan latensi antara model PDP terdistribusi dan terpusat. Kami menyarankan Anda membuat bukti konsep dan menguji kinerja aplikasi Anda untuk memverifikasi solusi Anda.

T. Dapatkah saya menggunakan OPA untuk kasus penggunaan selain? APIs

A. Ya. Dokumentasi OPA memberikan contoh untuk Kubernetes, Envoy, Docker, Kafka, SSHdan sudo, dan Terraform. Selain itu, OPA dapat mengembalikan respons JSON sewenang-wenang ke kueri dengan menggunakan aturan paral Rego. Bergantung pada kueri, OPA dapat digunakan untuk menjawab banyak pertanyaan dengan tanggapan JSON.

T. Dapatkah saya menggunakan Izin Terverifikasi untuk kasus penggunaan selain? APIs

A. Ya. Izin Terverifikasi dapat memberikan ALLOW atau DENY tanggapan untuk setiap permintaan otorisasi yang diterimanya. Izin Terverifikasi dapat memberikan tanggapan otorisasi untuk aplikasi atau layanan apa pun yang memerlukan keputusan otorisasi.

T. Dapatkah saya membuat kebijakan dalam Izin Terverifikasi menggunakan bahasa kebijakan IAM?

A. Tidak. Anda harus menggunakan bahasa kebijakan Cedar untuk membuat kebijakan. Cedar dirancang untuk mendukung manajemen izin untuk sumber daya aplikasi pelanggan, sedangkan bahasa kebijakan AWS Identity and Access Management (IAM) berkembang untuk mendukung kontrol akses untuk sumber daya. AWS