Setiap orang dalam jawaban ini telah mengabaikan kontrol / otorisasi akses yang sebenarnya.
Jika misalnya API REST / layanan web Anda tentang POST / MENDAPATKAN catatan medis, Anda mungkin ingin menetapkan kebijakan kontrol akses tentang siapa yang dapat mengakses data dan dalam keadaan apa. Contohnya:
- dokter dapat MENDAPATKAN catatan medis pasien yang memiliki hubungan asuhan dengan mereka
- tidak ada yang bisa POST data medis di luar jam praktik (misalnya 9 hingga 5)
- pengguna akhir dapat MENDAPATKAN rekam medis yang mereka miliki atau rekam medis pasien yang menjadi wali mereka
- perawat dapat MEMPERBARUI catatan medis pasien yang memiliki unit yang sama dengan perawat.
Untuk mendefinisikan dan mengimplementasikan otorisasi berbutir halus itu, Anda perlu menggunakan bahasa kontrol akses berbasis atribut yang disebut XACML, Bahasa Markup Kontrol Akses eXtensible.
Standar lain di sini adalah sebagai berikut:
- OAuth: id. federasi dan delegasi otorisasi misalnya membiarkan layanan bertindak atas nama saya di layanan lain (Facebook dapat memposting ke Twitter saya)
- SAML: federasi identitas / SSO web. SAML sangat banyak tentang siapa pengguna.
- Standar WS-Security / WS- *: ini fokus pada komunikasi antara layanan SOAP. Mereka khusus untuk format pesan tingkat aplikasi (SOAP) dan mereka berurusan dengan aspek olahpesan misalnya keandalan, keamanan, kerahasiaan, integritas, atomicity, peristiwa ... Tidak ada yang mencakup kontrol akses dan semua khusus untuk SOAP.
XACML adalah teknologi-agnostik. Ini dapat diterapkan ke aplikasi java, .NET, Python, Ruby ... layanan web, REST API, dan banyak lagi.
Berikut ini adalah sumber daya yang menarik: