čtvrtek 20. ledna 2011

Jak nastavit BI Publisher pro Kerberos autentizaci

Článek se věnuje situaci, kdy BI Publisher (verze 10.1.3.4.1) je provozován na aplikačním serveru WebLogic (konkrétně 10.3) a současně je na úrovni aplikačního serveru WebLogic nastaveno ověřování uživatele pomocí principů Kerberos (jak zprovoznit BIP v aplikačním serveru WebLogic je uvedeno zde).

Z pohledu aplikace (například BIP) je nutné zajistit dvě základní operace spojené s vyhodnocením práv uživatele. Jedná se o operace:
  • Autentizace – ověření identity přihlášeného uživatele
  • Autorizace – ověření oprávnění k provedení operace (číst, smazat, provést, …)

V tomto příspěvku se věnujeme problematice automatizace autentizace - běžně označované jako SSO (Single Sign On) – za využití principů Kerberos. Pro tento způsob SSO je nutné, aby uživatel byl přihlášen do MS domény, tj. přihlásil se k pracovní stanici doménovým účtem. Na základě tohoto úspěšného přihlášení bude dostávat tzv. Kerberos tickets, které slouží pro následnou autentizaci uživatele (bez nutnosti přihlašování se).

Pro kompletní zprovoznění SSO (Kerberos) pro BIP je potřeba provést nastavení v následujících oblastech:
  1. Nastavit aplikační server WebLogic pro ověřování na principech Kerberos
  2. Nakonfigurovat SSO nastavení v BIP
  3. Napojit BIP na Active Directory (AD) - LDAP server
  4. Upravit deployment soubory BIP pro využití WL / Kerberos podpory

1. WebLogic a Kerberos
Nastavení WebLogic pro práci se systémem Kerberos není podrobně popisováno v tomto článku. Postup je podrobně popsán v dokumentaci WebLogicu.


2. Nastavení SSO pro BI Publisher
BI Publisher disponuje několika způsoby realizace SSO. Administrátor může volit mezi následujícími způsoby:
  • Oracle Single Sign On
  • Oracle Access Manager
  • CA SiteMinder
  • Other SSO Server

2.1 Nastavení pro SSO – Kerberos
Pro využití principů Kerberos volíme variantu „Other SSO Server“, kde se objeví další volba – způsob získání uživatelského jména:
  • HTTP Header
  • HTTP Parameter
  • HTTP Cookie
  • Server Variable

V případě Kerberos autentizace dochází k nastavení proměnných v prostředí. Java aplikace může uživatelské jméno získat například voláním metody: request.getRemoteUser()

Tento způsob je například využit i v případě BIP, proto je nutné volit variantu „Server Variable“ a položky „User Name Parameter“ vyplnit libovolným neprázdným textem



3. Napojení BI Publisheru na Active Directory (AD) - LDAP server
BI Publisher pro kontrolu přístupů uživatele (autorizace) dovoluje využít více variant uložení autorizačních dat.


Varianta LDAP vyhovuje kombinaci s Kerberos autentizací. Jak LDAP, tak i Kerberos jsou technologie poskytované MS Active Directory (AD). Popis jak napojit BIP na MS AD je uveden zde. Významu LDAP skupin je k dispozici v BIP dokumentaci. Na obrázku níže je vidět ukázkové nastavení parametrů LDAP varianty kontroly přístupů v BI Publisher.



4. Úprava deployment konfigurací BIP
Pro využití Kerberos podpory na úrovni aplikačního serveru WebLogic je nutné modifikovat deployment konfigurační soubory BI Publisher. Jedná se o soubory web.xml a weblogic.xml umístěné v adresáři WEB-INF.

4.1. Změna web.xml
BI Publisher po standardní instalaci není nastaven pro spolupráci s aplikačním serverem WebLogic a vyžadování Kerberos autentizace. Úpravou souboru web.xml je možné tohoto docílit.
Následující XML fragment je nutné vložit do souboru {$BIP_WEB_HOME}/WEB-INF/web.xml, například před závěrečný tag /web-app.


4.2. Soubor weblogic.xml
Po standardní instalaci BI Publisher není v adresáři {$BIP_WEB_HOME}/WEB-INF obsažen soubor weblogic.xml, proto je nutné jej vytvořit a vložit do něho následující XML kód.


Otestování
Závěrem ověříme funkčnost celé konfigurace. Nejprve je nutné, aby se projevily změny v administraci BI Publisher. Proto restartujte Java aplikaci BI Publisher, například v prostředí WL Console.

Kroky k ověření:
a) Zvolený uživatel (např. Administrator) se příhlásí do MS domény
b) Ověříme, že uživatel je v AD skupině – XMLP_ADMIN
c) Pro zajímavost může ověřit stav Kerberos tickets. Spustíme příkaz C:\Program Files\Windows Resource Kits\Tools\kerbtray.exe


d) Spustíme prohlížeč IE a zadáme URL adresu. Pozor: URL je modifikované nastavením provedeným v souboru weblogic.xml. Dle uvedené konfigurace by URL mělo tvar: http://server:port/spnego2/login.jsp.

e) Úspěšné přihlášení
f) Pro zajímavost může ověřit stav Kerberos tickets. Spustíme příkaz C:\Program Files\Windows Resource Kits\Tools\kerbtray.exe, kde je vidět nově přidělený Kerberos Ticket pro službu/server app09h.




Jiří Holubec (SW Architekt společnosti GEM System International)


Žádné komentáře: