Oracle Business Intelligence Suite Enterprise Edition nabízí tyto možnosti autentifikace:
I. Autentifikace oproti BI Serveru - uživatelé a hesla jsou uložena v metadata repository
Vhodné řešení v případě, že máte málo uživatelů analytického systému nebo nevlastníte corporátní Identity Management.
II. Autentifikace oproti LDAP serveru - uživatelé a hesla jsou uložena v LDAPu
Jakmile máte corporátní Identity Management, určitě jej budete chtít využít pro správu uživatelů analytického systému. OBI EE je v současnosti certifikován s těmito Identity Managementy:
- Oracle Identity Management 10g 10.1.4.x, 10.1.2.0.2
- IBM LDAP Server 5.x
- Windows ADSI 2000, 2003
- Windows Native Authentication (Kerberos)
- Novell Identity Manager 3.0.1
- IBM Tivoli Identity Management 6.0
- Sun Java System Identity Server 5.x
III. Autentifikace oproti Externí tabulce - uživatelé a hesla jsou uložena v DB tabulce
Vhodné řešení pro ty z Vás, kteří využívají vlastní Identity Management v podobě DB tabulky uložené v databázi.
IV. Autentifikace oproti databázi - uživatelé jsou uloženy v metadata repository
Vhodné řešení pro ty z Vás, kteří pro autentifikaci využívají databázové uživatele. Toto řešení má jednu velkou nevýhodu a to ruční zakládání uživatelů do metadata repository. Proto je mnohem lepší použít kombinaci trojky a čtyřky.
V. Autentifikace oproti databázi v kombinaci s externí tabulkou pro autorizaci - uživatelé a skupiny pro autorizaci jsou uloženy v DB tabulce
V případě, že nevlastníte corporátní Identity Management řešení a máte 100ky uživatelů analytického systému, je dané řešení to nejlepší.
Návod jak implementovat řešení I. - IV. najdete v dokumentaci v kapitole 15 - Security in Oracle BI.
Návod jak implementovat V. řešení s rozšířením o autorizaci na objekty metadata repository najdete níže:
1. Určete databázi dle které budete provádět autentifikaci. Může to být databáze ve které jsou uložena zdrojová data, a nebo to může být dedikovaná databáze pouze pro ověřování.
2. V databázi založte db uživatele
3. V databázi založte db tabulku (nutná pro autorizaci ne pro autentifikaci), která bude mít dva sloupce (jméno db uživatele a jméno skupiny pro autorizaci na objekty v metadata repository). Do tabulky vložte jména db uživatelů (případně i názvy skupin), kteří budou pracovat s analytickým systémem.
4. V metadata repository založte fyzickou vrstvu ukazující na autentifikační databázi a naimportujte informace o vytvořené tabulce.
5. Upravte ConnectionPool, použijte "Shared logon", ale místo konstant použijte proměnné.
User name :USER
Password :PASSWORD
6. Vytvořte "session" inicializační blok "Authentification" a proměnnou USER. Jako Data Source použijte Váš upravený ConnectionPool. Init blok naplňuje proměnnou USER a používá se pro autentifikaci uživatele analytického systému oproti databázi.
Jestliže chcete řešit pouze autentifikaci a ne i autorizaci, tak lze použít "fake select", který může vypadat takto: select ':USER' from dual where 1=1
7. Jestliže chcete řešit i autorizaci na objekty, tak v metadata repository založte skupiny. V db tabulce přiřaďte skupiny uživatelům, vytvořte "session" inicializační blok "Authorization" a proměnnou GROUP. Jako Data Source použijte Váš upravený ConnectionPool. Init blok volá blok "Authentification" a naplňuje proměnnou GROUP.
8. V případech kdy jeden uživatel je zařazen do více skupin, musí být použita volba row-wise (inicializační select je trochu pozměněn).