Transcript
Page 1: Shibboleth for Local  Attribute Delivery

Shibboleth for Local Attribute Delivery

21 June 2007

Page 2: Shibboleth for Local  Attribute Delivery

IdP

Shibboleth with Backchannel

HS

AA

SP

WAYF

User 1

2345

6

7

8

9

10

11

Page 3: Shibboleth for Local  Attribute Delivery

Shib Attribute Delivery

AA

(SOAPserver onport 8443)

SP

(SOAPclient)

SAML Attribute Query

SAML Attribute Response

• Attribute exchange using SOAP over HTTPS encrypted channel

Page 4: Shibboleth for Local  Attribute Delivery

SAML Attribute Query<Request …

IssueInstant=“2007-06-19T12:12:12Z” …

RequestId=“_50e5776dca6345c77987a4c22”>

<AttributeQuery Resource=https://sp.wisc.edu/shibboleth>

<Subject xmlns=…>

<NameIdentifier Format=“…shibboleth:1.0:nameIdentifier”

NameQualifier=https://idp.login.wisc.edu/shibboleth>

mrosz

</NameIdentifier>

</Subject>

</AttributeQuery>

</Request>

Page 5: Shibboleth for Local  Attribute Delivery

SAML Attribute Response<Response …

ResponseID=“_e4a2475bc5437b89ac866c66d59efdc6”>

<Status>

<StatusCode Value=“samlp:Success”></StatusCode>

</Status>

<Assertion …>

<Conditions>…</Conditions>

<AttributeStatement>

<Subject xmlns=…> </Subject>

<Attribute AttributeName=“givenName”>

<AttributeValue>Roszkowski</AttributeValue>

</Attribute>

</AttributeStatement>

</Assertion>

</Response>

Page 6: Shibboleth for Local  Attribute Delivery

For “local” Attribute Delivery

• Set up a Shib IdP/AA that uses PrincipalNameIdentifier as the NameIdentifierMapping

• Develop scripts/programs that can take as input a NetID and package it into a SAML attribute query and deliver the query to the AA using SOAP over SSL

• Certs provide the “authentication” for this service.

Page 7: Shibboleth for Local  Attribute Delivery

Local Attribute Delivery

AA

(SOAPserver onport 8443)

WebISO

Webserver

App

SAMLlibrary

User

2

1

3

4

5

6

8

Page 8: Shibboleth for Local  Attribute Delivery

Local Attribute Delivery

• User requests a protected resource from campus web server

• User authenticates via WebISO• Application takes NetID from the HTTP

response and submits attribute query• Response from AA contains attributes for that

NetID; attributes returned to application• Application uses attributes to make

authorization decision and either delivers content or denies access

Page 9: Shibboleth for Local  Attribute Delivery

Local Attribute Delivery

AA

(SOAPserver onport 8443)

App

SAMLlibrary

1

2

Page 10: Shibboleth for Local  Attribute Delivery

What does it get us?

• Works for both web-based and non-web-based applications

• MST spends considerable time working on web services to provide attributes

• Clients are set up with the proper certs (we could probably use webservices certs and CA) to look like an SP and must handle the SAML conversation

• No configuration of attributes on the client (except in the app which will consume them)

Page 11: Shibboleth for Local  Attribute Delivery

What does it get us? (cont.)

• MST controls which attributes are released to which SPs via standard Shib ARPs

• To release a new attribute to a client, we just edit the ARP on the IdP

• We already have the infrastructure to issue certificates

• Shibboleth supports multiple data sources for attributes: some could come from LDAP, some from UDS

Page 12: Shibboleth for Local  Attribute Delivery

On the other hand…

• Requires sample code for each target platform/language (likely need Perl w/ SOAPLite for Unix/Linux, Java, and .NET for Windows)

• Requires that we manage another namespace (shib ProviderIDs)

Page 13: Shibboleth for Local  Attribute Delivery

Why not just use Shib?

• Allows non-web apps to get attribute information from UDS

• Incremental approach: allows existing Pubcookie app servers to use attributes for authZ decisions

• Platform support is about the same for Pubcookie and Shib SPs

• Preserves investment in Pubcookie


Top Related