Showing posts with label OAM. Show all posts
Showing posts with label OAM. Show all posts

Friday, June 14, 2013

Integrasi Oracle Access Management (OAM) 11gR2 dengan Google OpenID 2.0


Kali ini saya ingin berbagi langkah-langkah yang diperlukan untuk mengintegrasikan OAM dengan Google dengan menggunakan protokol OpenID 2.0. Pada integrasi ini, Google berperan sebagai identity provider dan peran OAM lebih sebagai perantara antara user dengan Google. Ketika user ingin mengakses halaman yang dilindungi OAM, user akan di-redirect ke halaman login Google. Setelah user terotentikasi dengan Google, Google akan me-redirect request kembali ke OAM lengkap dengan email user tersebut. Email tersebut kemudian divalidasi oleh OAM terhadap user identity store yang terdaftar.

Integrasi dengan protokol OpenID mulai di-support oleh OAM sejak rilis 11gR2 (11.1.2.x), di mana engine dari Oracle Identity Federation telah tergabung ke dalam salah satu service OAM. Pada blog post ini, saya menggunakan OAM 11gR2 (11.1.2.1.0), OID & ODSM 11gR1 (11.1.1.7.0), dan untuk menyederhanakan konfigurasi saya akan mengubah authentication policy dari OAM Admin Console, sehingga konfigurasi WebGate tidak diperlukan. Integrasi ini mengasumsikan bahwa domain OAM telah terkonfigurasi dan OID telah berjalan.

Berikut adalah langkah-langkah yang diperlukan:

  1. Login ke OID sebagai cn=orcladmin menggunakan ODSM
  2. Duplikat user cn=orcladmin, pada konfigurasi saya DN lengkapnya adalah cn=orcladmin,cn=Users,dc=nostratech,dc=com.
  3. Buat cn=weblogic,cn=Users,dc=nostratech,dc=com dari duplikat tersebut dan pastikan user weblogic memiliki email GMail.
  4. Login ke OAM Admin Console sebagai weblogic lalu pilih menu System Configuration -> Common Configuration -> Available Services.
  5. Pilih Enable untuk Identity Federation. (Security Token Service dan Mobile and Social tidak wajib untuk di-enable).
  6. Pilih menu Data Sources -> User Identity Stores, pilih tombol Create New Identity Store. Masukkan informasi OID yang sebelumnya kita akses dan sesuaikan seperti gambar berikut. Pilih Apply jika Test Connection sudah valid.
  7. Pilih menu Identity Federation -> Identity Providers dan buatlah identity provider baru. Masukkan Google sebagai provider name dan pilih Google provider default settings pada bagian service details. Pastikan pilihan Enable Partner dan Default Identity Provider juga telah tercentang. Pilih Save.
  8. Masukkan OID pada pilihan user mapping identity store, pastikan attribute mapping adalah mail -> mail dan pilih tombol Create Authentication Scheme and Module untuk membuat GoogleFederationScheme dan GoogleFederationModule.
  9. Pilih menu Policy Configuration -> Application Domains. Pilih Search kemudian pilih IAM Suite.
  10. Ketika konfigurasi IAM Suite telah terbuka, pilih Authentication Policies dan pilih OAM Admin Console Policy.
  11. Ubah authentication scheme dari OAMAdminConsoleScheme menjadi GoogleFederationScheme yang pada langkah ke-8 telah kita buat sebelumnya. Pilih Apply.
  12. Buka browser lain atau tutup browser yang digunakan. Buka kembali URL dari OAM Admin Console. Jika langkah-langkah sebelumnya lancar, seharusnya sekarang kita akan di-redirect ke halaman Google. Login dengan user Google atau GMail yang sesuai dengan user weblogic yang terdaftar di OID sebelumnya. Pilih Accept atau Terima.
  13. Otentikasi telah berhasil, email GMail akan divalidasi terhadap OID oleh OAM, dan jika lancar kita akan dapat mengakses OAM Admin Console kembali sebagai user weblogic.

Oh iya, pastikan hostname dari server OAM merupakan FQDN. Jika tidak, kemungkinan akan ada parsing error ketika redirect ke Google. Selamat mencoba. :)


Sunday, March 31, 2013

Mengenal OAM 11g Policy Model


Oracle Access Manager (OAM) 11gR1 merupakan solusi manajemen akses dari Oracle. OAM menyediakan fitur Single-Sign On (SSO) terhadap semua aplikasi yang berada di dalam perlindungan OAM. Pada umumnya ada 4 komponen utama pada arsitektur SSO OAM, yaitu access server, administration console, SSO agent, dan user identity store. Berikut ini adalah sedikit penjelasan dari masing-masing komponen tersebut:

  1. Access Server merupakan komponen yang bertanggung jawab dalam menyediakan layanan otentikasi dan otorisasi untuk SSO Agent. Ketika melakukan konfigurasi awal OAM, access server adalah WebLogic managed server pada domain IDMDomain yang bernama oam_server1
  2. Administration Console merupakan komponen yang mengatur dan menyimpan konfigurasi OAM policy model secara terpusat. Seusai melakukan konfigurasi awal OAM, administration console di-deploy pada WebLogic AdminServer dan dapat diakses melalui http://<AdminServerHost>:<AdminServerPort>/oamconsole
  3. SSO Agent merupakan komponen yang bertugas untuk melakukan penyaringan request HTTP dan meneruskannya ke access server untuk proses otentikasi dan otorisasi. SSO agent dapat berupa OAM 11g WebGate, OAM 10g WebGate, dan Oracle Single-Sign On (OSSO) Agent. Custom access client dapat dikembangkan menggunakan Access SDK ketika ada kebutuhan spesifik yang tidak dapat dilakukan SSO agent secara out-of-the-box.
  4. User Identity Store adalah LDAP store yang menyimpan seluruh identitas pengguna yang akan diotentikasikan oleh access server. User identity store pada OAM dapat bertipe Oracle WebLogic Embedded LDAP, Oracle Internet Directory (OID), Oracle Virtual Directory (OVD), Oracle Directory Server Enterprise Edition (iPlanet), Microsoft Active Directory (AD), dan Novell eDirectory.

Oracle menggambarkan OAM 11g policy model dengan diagram pada sebuah dokumentasi Oracle, yaitu Introduction to the OAM Policy Model. Diagram pada dokumen tersebut memperlihatkan tingkat teratas dari OAM 11g policy model ada pada komponen application domain. Application domain merupakan sebuah entitas yang berisi kumpulan resource-resource yang dilindungi OAM beserta skema otentikasi dan otorisasi yang berlaku terhadap resource tersebut. Pada OAM Administration Console, Application Domains berada di tabular Policy Configuration.
OAM Administration Console: Policy Configuration

Pada gambar tersebut, ada 4 application domain yang telah terdaftar di mana 2 di antaranya adalah application domain yang terdaftar secara default ketika selesai melakukan konfigurasi awal OAM 11g.  Kedua application domain tersebut adalah Fusion Apps Integration dan IAM Suite. Application domain Fusion Apps Integration digunakan untuk mengintegrasikan dengan Oracle Fusion Applications, sedangkan IAM Suite untuk mengintegrasikan dengan Oracle Identity and Access Management. Definisi dari application domain sangat relatif dari bagaimana seorang OAM administrator mengklasifikasikannya. Pengelompokkan dapat berdasarkan jenis aplikasi seperti BeehiveAgent yang merupakan kumpulan resource dari Beehive Server, atau berdasarkan grup aplikasi seperti Fusion Apps Integration dan IAM Suite.
OAM Administration Console: Application Domains

Gambar di atas menggambarkan 4 komponen dari application domain, yaitu Resources, Authentication Policies, Authorization Policies, dan Token Issuance Policies. Penjelasan dari keempat komponen tersebut adalah sebagai berikut:

  1. Resources merupakan daftar resource berupa URL pada sebuah application domain yang perlu dilindungi oleh OAM. Namun tidak semua resource perlu dilindungi, seperti misalnya resource gambar logo perusahaan. Menandai sebuah resource sebagai unprotected dapat mengurangi beban kerja OAM, karena Access Server tidak perlu lagi mengevaluasi resource tersebut terhadap policy yang ada.
  2. Authentication Policies merupakan daftar policy yang berisi mekanisme otentikasi yang berlaku pada sebuah application domain. Authentication policy mengikat satu atau lebih resource dengan authentication scheme, di mana authentication scheme ini terasosiasi dengan authentication module yang terhubung dengan User Identity Store.
  3. Authorization Policies merupakan daftar policy berisi aturan-aturan yang memberikan atau menolak hak akses pengguna terhadap resource yang ingin diakses. Batasan-batasan yang dapat didefinisikan antara lain seperti kisaran IP address dari client, pengguna atau grup pengguna tertentu, dan secara rentang hari dan jam tertentu.
  4. Token Issuance Policies merupakan daftar policy buries aturan yang digunakan ketika pertukaran token dilakukan untuk mempropagasikan identitas pengguna dengan menggunakan Oracle Security Token Services. 

Mari kita ambil salah satu resource HTTP yang berada pada application domain IAM Suite, yaitu /oamconsole. Gambar berikut dapat mendeskripsikan bahwa resource /oamconsole adalah resource bertipe HTTP pada application domain IAM Suite yang dilindungi oleh OAM dengan mekanisme otentikasi menggunakan OAM Admin Console Policy dan mekanisme otorisasi diatur menggunakan Protected Resource Policy.
Resource: /oamconsole

Gambar di bawah ini merupakan informasi yang lebih detil dari OAM Admin Console Policy,  di mana authentication policy tersebut menggunakan authentication scheme OAMAdminConsoleScheme.  Terlihat juga pada gambar tersebut policy ini juga mengikat resource lain yaitu /oamconsole/.../*, sehingga kedua resource tersebut menggunakan authentication scheme OAMAdminConsoleScheme.
Authentication Policy: OAM Admin Console Policy

Sebuah authentication scheme mendefinisikan challenge method, authentication level, dan authentication module yang dibutuhkan untuk mengotentikasi seorang pengguna. Challenge method adalah metode yang dibutuhkan untuk memperoleh informasi kredensial pengguna, seperti username dan password. Nilai authentication level merupakan bilangan bulat di mana semakin besar angkanya semakin tinggi tingkat kepercayaan proses otentikasinya. Authentication level memiliki arti jika seorang pengguna sudah terotentikasi oleh authentication scheme dengan authentication level 5, maka pengguna tersebut tidak perlu melakukan otentikasi kembali jika berhadapan dengan authentication scheme dengan authentication level lebih kecil sama dengan 5. Authentication module adalah unit terkecil dari proses otentikasi, salah satunya tipenya adalah modul otentikasi terhadap LDAP store. 
Authentication Scheme: OAMAdminConsoleScheme

Melihat lebih detil lagi dari OAMAdminConsoleScheme, authentication scheme tersebut menggunakan authentication module yang bernama LDAP sebagai authentication module-nya.
Authentication Module: LDAP

Gambar di atas memperlihatkan authentication module LDAP merujuk kepada user identity store yang bernama UserIdentityStore1.
User Identity Store: UserIdentityStore1

Pada gambar sebelumnya terlihat informasi detil dari user identity store UserIdentityStore1, yang merupakan koneksi user identity store terhadap LDAP store yang bertipe Oracle WebLogic Embedded LDAP yang mengacu kepada Embedded LDAP pada IDMDomain.
Authorization Policy: Protected Resource Policy

Authorization policy yang digunakan adalah Protected Resource Policy. Policy tersebut tidak memiliki batasan apapun, sehingga semua pengguna yang telah terotentikasi oleh authentication policy OAM Admin Console Policy dapat mengakses resource /oamconsole maupun /oamconsole/.../*.