10.02.2013 Views

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Providing<br />

access<br />

control<br />

to<br />

dynamic<br />

URLs<br />

The<br />

current<br />

Web<br />

environment<br />

gives<br />

users<br />

immediate<br />

access<br />

to<br />

rapidly<br />

changing<br />

in<strong>for</strong>mation.<br />

Many<br />

Web<br />

applications<br />

dynamically<br />

generate<br />

Uni<strong>for</strong>m<br />

Resource<br />

Locators<br />

(URLs)<br />

in<br />

response<br />

to<br />

each<br />

user<br />

request.<br />

These<br />

dynamic<br />

URLs<br />

may<br />

exist<br />

only<br />

<strong>for</strong><br />

a<br />

short<br />

time.<br />

Despite<br />

their<br />

temporary<br />

nature,<br />

dynamic<br />

URLs<br />

still<br />

need<br />

strong<br />

protection<br />

from<br />

unwanted<br />

use<br />

or<br />

access.<br />

Dynamic<br />

URL<br />

components<br />

Some<br />

sophisticated<br />

Web<br />

application<br />

tools<br />

use<br />

standard<br />

Web<br />

browsers<br />

to<br />

communicate<br />

with<br />

application<br />

servers<br />

through<br />

the<br />

CGI<br />

interface<br />

of<br />

a<br />

Web<br />

server.<br />

All<br />

these<br />

tools<br />

use<br />

dynamic<br />

URLs<br />

and<br />

hidden<br />

<strong>for</strong>m<br />

elements<br />

to<br />

communicate<br />

the<br />

requested<br />

operation<br />

(with<br />

its<br />

parameter<br />

value)<br />

to<br />

the<br />

application<br />

server.<br />

A<br />

dynamic<br />

URL<br />

augments<br />

the<br />

standard<br />

URL<br />

address<br />

with<br />

in<strong>for</strong>mation<br />

about<br />

the<br />

specific<br />

operation<br />

and<br />

its<br />

parameter<br />

values.<br />

The<br />

query<br />

string<br />

portion<br />

of<br />

the<br />

URL<br />

provides<br />

operations,<br />

parameters,<br />

and<br />

values<br />

to<br />

the<br />

Web<br />

application<br />

interface.<br />

Mapping<br />

ACL<br />

and<br />

POP<br />

objects<br />

to<br />

dynamic<br />

URLs<br />

<strong>WebSEAL</strong><br />

uses<br />

the<br />

protected<br />

object<br />

space<br />

model,<br />

access<br />

control<br />

lists<br />

(ACL),<br />

and<br />

protected<br />

object<br />

policies<br />

(POP)<br />

to<br />

secure<br />

dynamically<br />

generated<br />

URLs,<br />

such<br />

as<br />

those<br />

generated<br />

by<br />

database<br />

requests.<br />

Each<br />

request<br />

to<br />

<strong>WebSEAL</strong><br />

is<br />

resolved<br />

to<br />

a<br />

specific<br />

object<br />

as<br />

the<br />

first<br />

step<br />

in<br />

the<br />

authorization<br />

process.<br />

An<br />

ACL/POP<br />

applied<br />

to<br />

the<br />

object<br />

dictates<br />

the<br />

required<br />

protection<br />

on<br />

any<br />

dynamic<br />

URL<br />

mapped<br />

to<br />

that<br />

object.<br />

Because<br />

dynamic<br />

URLs<br />

exist<br />

only<br />

temporarily,<br />

it<br />

is<br />

not<br />

possible<br />

to<br />

have<br />

entries<br />

<strong>for</strong><br />

them<br />

in<br />

a<br />

pre-configured<br />

authorization<br />

policy<br />

database.<br />

<strong>Tivoli</strong><br />

<strong>Access</strong><br />

<strong>Manager</strong><br />

solves<br />

this<br />

problem<br />

by<br />

providing<br />

a<br />

mechanism<br />

where<br />

many<br />

dynamic<br />

URLs<br />

can<br />

be<br />

mapped<br />

to<br />

a<br />

single<br />

static<br />

protected<br />

object.<br />

Mappings<br />

from<br />

objects<br />

to<br />

patterns<br />

are<br />

kept<br />

in<br />

a<br />

plain<br />

text<br />

configuration<br />

file:<br />

/opt/pdweb/www/lib/dynurl.conf<br />

The<br />

location<br />

of<br />

this<br />

file<br />

(relative<br />

to<br />

the<br />

server-root)<br />

is<br />

defined<br />

by<br />

the<br />

dynurl-map<br />

parameter<br />

in<br />

the<br />

[server]<br />

stanza<br />

of<br />

the<br />

<strong>WebSEAL</strong><br />

configuration<br />

file:<br />

[server]<br />

dynurl-map<br />

=<br />

lib/dynurl.conf<br />

You<br />

must<br />

create<br />

this<br />

file;<br />

the<br />

file<br />

does<br />

not<br />

exist<br />

by<br />

default.<br />

The<br />

existence<br />

of<br />

this<br />

file<br />

(with<br />

entries)<br />

enables<br />

the<br />

dynamic<br />

URL<br />

capability.<br />

http://www.ibm.com/sales/web/<strong>for</strong>tecgi.cgi?name=catalog&product=shirt&color=red<br />

Protocol Web<br />

Server<br />

Directory Path<br />

to CGI Program<br />

Operation, Parameters,<br />

and Values <strong>for</strong> Web<br />

Application Interface<br />

CGI<br />

Program<br />

File<br />

Base URL Query String<br />

Figure<br />

21.<br />

Passing<br />

data<br />

to<br />

a<br />

CGI<br />

gateway<br />

using<br />

a<br />

URL<br />

Chapter<br />

12.<br />

Application<br />

integration<br />

347

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!