Presentation-AM-SecureWebInterfacex

Download Report

Transcript Presentation-AM-SecureWebInterfacex

DIRAC Web User
Interface
A.Casajus (Universitat de Barcelona)
M.Sapunov (CPPM Marseille)
On behalf of the LHCb DIRAC Team
Outline


Goals and features
Framework description
 Architecture
 Security
 Querying the DIRAC services

Web pages examples
 Monitoring pages
 Site map


Current limitations
Conclusions
CHEP 2009, Prague
2
Why a web interface?

DIRAC is the distributed data production and analysis
system for the LHCb experiment

Users need to interact with DIRAC
 Usual solution is command-line or Desktop GUIs

The web provides an interface with lots of benefits
 Operative system independent
 Minimal requirements (browser, internet)
 GUI with no installation
 Familiar to users
CHEP 2009, Prague
3
Required features

Provide a user friendly interface with DIRAC

Not only an information display but a full interactive web
application
 Take advantage of modern web technologies
 Mimic a desktop application

DIRAC users are organized in groups based on privileges
 The web interface has to react to the user’s group
• Really different profiles like production manager, administrator,
analysis user…
 Apply authentication and authorization rules to user requests

Secure interface based on grid certificates
CHEP 2009, Prague
4
DIRAC Web Portal
CHEP 2009, Prague
5
Internals

Each user action triggers a AJAX call to the web server

Each web page is mapped to a Python function

Web pages interact with DIRAC using DISET (DIRAC’s
secure communication framework)

JavaScript is used to create a environment that behaves as
a normal application.
CHEP 2009, Prague
6
Architecture




Apache and mod_ssl
provide the web server,
secure connections and
authentication
mechanism
DIRAC’s web user
interface uses Pylons as
the web framework
mod_python is the
bridge to execute Pylons
under Apache
To give a consistent
“look and feel” to the
web pages, we use ExtJS
as the javascript widget
library
CHEP 2009, Prague
7
Authorization and authentication





DIRAC’s web interface allows secure and insecure
connections
Insecure connections are only allowed to access general
information pages
Users have to load their certificates in the web browser to
access the sensitive parts of the web
Once the user has been authenticated, the same
authorization mechanism DIRAC uses is applied.
Users can belong to more than one group. The web interface
allows to select which group is the active for the session.
CHEP 2009, Prague
8
Authorization and authentication


Different groups have different privileges, and that is
reflected on the web pages
Each group can perform different actions
User
Administrator
CHEP 2009, Prague
9
Service queries

Typically when a user requests a web page, triggers a query
to a DIRAC service.
CHEP 2009, Prague
10
Service queries

Service queries can be originated by:
 The web interface itself in case the connecting user is
anonymous (insecure connection)
 The connecting user if it’s a secure connection

Services need to know who is requesting a query so they
can apply their authorization rules and modify their behavior
accordingly

In case the query was originated by the user, the web server
has to forward the user credentials to the services

How to do that? (next slide)
CHEP 2009, Prague
11
Forwarding credentials

Use DIRAC’s ProxyManager to retrieve a user’s proxy and
use it to contact the final service
 Pros:
• Cannot “invent” credentials
 Cons:
• Users that don’t have a valid proxy in DIRAC can’t use the web
• Need to keep proxies as long as the real certificate for all
user/group combination

Connect to the service using the web service credentials
and “tell” the service who the user is
 Pros:
• Users don’t need to do anything
• Works automatically for all registered users
 Cons:
• Can “invent” any credential. If the web certificate gets stolen…

Both solutions are implemented but the second one is
currently being used
CHEP 2009, Prague
12
Interface example
CHEP 2009, Prague
13
Interface example
main menu
selections
buttons to
open/collapse panels
menu to change
DIRAC setup
actions to perform for job(s)
buttons to submit
or reset the form
Total amount of items
pagination controls
items per page
refresh table
DIRAC Group
current location
CHEP 2009, Prague
certificate DN
14
Monitoring pages
Monitoring pages allows users to:
 Display all available information from objects. They can be
user jobs, productions, data transfer requests…
 Easy access to information associated with an object (e.g.
user jobs):





JDL
Attributes
History
Peek output of jobs while running
Access logs:
•
Log files (if any)
• Standard output and standard error of the pilot that executed the job (if it is
accessible)

Perform actions on an item or on a group:

Reschedule
 Kill
 Delete
CHEP 2009, Prague
15
Site Map
CHEP 2009, Prague
16
Creating views
CHEP 2009, Prague
17
Known limitations
There are several known limitations:

Require a modern browser with JavaScript enabled

DIRAC web portal doesn’t work properly in all browsers.
 Almost every browser has a different Javascript engine and
different debugging tools (if any)

Due to the pages being completely dynamic, display of big
tables (100+ rows) can take time
 Specially in old hardware

DIRAC portal is not yet optimized and initial loading can
take time
CHEP 2009, Prague
18
Conclusions

The web interface allows users to easily interact with DIRAC
in a secure way

Desktop application behavior without extra software
installation

Web pages are aware of groups and react to them

Actions are only allowed following the authorization rules
 Same mechanism as the DIRAC Services

Smooth learning curve for new users
http://lhcbweb.pic.es
CHEP 2009, Prague
19