SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Shibboleth Development and Support Services




An Identity Provider’s Guide
      to the Core Attributes


                        Ian A. Young
SDSS, EDINA, University of Edinburgh


                 McShib meeting, 14th December 2007
Shibboleth Development and Support Services



                                               Problem Statement
• Federated Access Management is all about the
  attributes released by the IdP to the SP

• IdP and SP need to agree on:
   – attributes to exchange
   – their definitions
   – their quality

• (more) easily resolved if IdP = SP
   – e.g., internal institutional applications

• If they’re not the same party, this is hard
  McShib meeting                                            14th December 2007   2
Shibboleth Development and Support Services



                                         Festive Caricatures (1)


• Service provider: I want a pony!
   – I’d like attributes A, B, C, and D through Z please
   – if you give me more, I can do more
   – if you give me attribute Y, my code will be easier
     to write
   – I’ve already written code that needs attribute X
   – Summary: as much as possible, please



  McShib meeting                                            14th December 2007   3
Shibboleth Development and Support Services



                                         Festive Caricatures (2)

• Identity Provider: No, you can’t have a pony!
   – we don’t even have all of that information, we’d
     have to collect it
   – then we’d have to maintain it to make sure it was
     correct
   – we can’t release attribute X to you without talking
     to our lawyers
   – We don’t see why you have a real need for Y.
   – Summary: as little as possible, please

  McShib meeting                                            14th December 2007   4
Shibboleth Development and Support Services



                                                     Where to Begin?


• Some SPs tell us what they want:
   – http://tinyurl.com/2y92cj
   – this tends to encourage standardisation

• Some SPs prefer to negotiate with IdPs
• If you have more information, let us know!
• Remember: information release is your
  responsibility so it’s your call


  McShib meeting                                            14th December 2007   5
Shibboleth Development and Support Services



                                                  Finding a Balance

• Core attributes:
   – minimal set of four very flexible attributes
   – chosen from eduPerson for interoperability
   – good enough for most situations
   – of course, not sufficient for all situations

• SPs told: you may have problems if you ask for
  something outside this set

• IdPs told: you may not be able to access some
  popular services if you can’t provide this set
  McShib meeting                                            14th December 2007   6
Shibboleth Development and Support Services



                                        Stored vs. Transmitted
• The attributes you transmit don’t have to be the
  same attributes you have stored.

• Attributes can be gathered from multiple
  sources.

• Attributes can be transformed, e.g., by scripts
  you write.

• So, no requirement to alter your directory
  schema.

• Release only after positive policy decision.
  McShib meeting                                            14th December 2007   7
Shibboleth Development and Support Services



                   eduPersonScopedAffiliation (ePSA)

• Possibly the most important attribute in the UKf
• Describes the subject’s relationship with their
  institution

• What are they to you?
• Example: member@ed.ac.uk
• Only a few permissible values (this is good)
• ... but even fewer see real use
  McShib meeting                                             14th December 2007   8
Shibboleth Development and Support Services



                                                       ePSA Values (1)


• student, staff, faculty, employee, member,
  affiliate, alum, library-walk-in

• multi-valued attribute for each subject
• value space has structure:
   •    e.g., student@ implies member@ as well

• only release what the service provider needs!
• normally safe to release member@ to everyone
  McShib meeting                                            14th December 2007   9
Shibboleth Development and Support Services



                                                       ePSA Values (2)

• Most important value: member
   – “member in good standing of the ... community”
   – corresponds to most “authorised users” in the
     JISC model license
   – safe to release, adequate for many SPs

• Er, that’s it...
• Upcoming: library-walk-in
   – recently profiled by MACE-Dir for new eduPerson
   – corresponds to the other “authorised users”
  McShib meeting                                            14th December 2007   10
Shibboleth Development and Support Services



               Scripting eduPersonScopedAffiliation

• Your directory says “role is student” in code
• ... but you want ePSA = “student”
• ePSA can be derived from “unscoped” ePA:
  <ScriptletAttributeDefinition
          id=quot;urn:mace:dir:attribute-def:eduPersonAffiliationquot;>
      <DataConnectorDependency requires=quot;directoryquot;/>
      <Scriptlet><![CDATA[
          Attributes attributes =
              dependencies.getConnectorResolution(quot;directoryquot;);
          Attribute roles = attributes.get(quot;rolesquot;);
          if (roles.contains(quot;00142quot;)) {
              resolverAttribute.addValue(quot;studentquot;);
          }
      ]]></Scriptlet>
  </ScriptletAttributeDefinition>


  McShib meeting                                            14th December 2007   11
Shibboleth Development and Support Services



                             eduPersonTargetedID (ePTI)

• ePTI is a opaque, directed, persistent identifier
  for the user
   – opaque: doesn’t give the user’s identity away
   – directed: each SP sees a different value
   – persistent: the SP will see the same value every
     time the user comes back to them

• Primary use is for personalisation
• ePTI is not stored in your directory
   – options are storage-backed and computed

  McShib meeting                                            14th December 2007   12
Shibboleth Development and Support Services



                                             Storage-backed ePTI

• Store opaque (e.g., random) tokens in a DB
• Pro:
   – Supports more future SAML functionality
   – Supports ePTI revocation for privacy purposes
   – No problems with local identifier re-use

• Con:
   – Not bundled with 1.x IdP, so not many examples
         Basic implementation bundled with 2.0 IdP

   – Fully resilient implementation is more complex
  McShib meeting                                            14th December 2007   13
Shibboleth Development and Support Services



                                                Computed ePTI (1)

• Mix (hash) together:
   – a secret
   – a unique (non-reassigned) local identifier
         probably not the login name
         most directories have some kind of UUID/GUID

   – the SP’s entity name

• Pro:
   – No storage required
   – Implementation bundled with 1.x IdP

  McShib meeting                                            14th December 2007   14
Shibboleth Development and Support Services



                                                Computed ePTI (2)

• Con:
   – Doesn’t support advanced SAML functionality
   – Doesn’t support revocability
   – If SHA-1 is broken, becomes insecure
   – Reuse of local identifier causes ePTI reuse
         and SPs really don’t want that to happen, ever

• Summary: computed ePTI is acceptable for now
  if carefully implemented

• ... but expect to need to migrate
  McShib meeting                                            14th December 2007   15
Shibboleth Development and Support Services



                              eduPersonEntitlement (ePE)

• eduPersonGetOutOfJailFreeCard
• Value is arbitrary URI (e.g., URN or URL)
• Values can be agreed between IdP and SP
• Can be used to delegate authorisation to IdP
• E.g., “IdP says OK to access resource X”
• Multi-valued: each user may have many
• ... only release values appropriate to each SP
  McShib meeting                                            14th December 2007   16
Shibboleth Development and Support Services



                        Scripting eduPersonEntitlement
<ScriptletAttributeDefinition
   id=quot;urn:mace:dir:attribute-def:eduPersonEntitlementquot;>
   <DataConnectorDependency requires=quot;directoryquot;/>
   <AttributeDependency
      requires=quot;urn:mace:dir:attribute-def:eduPersonAffiliationquot; />
   <Scriptlet><![CDATA[
      Attributes attributes =
          dependencies.getConnectorResolution(quot;directoryquot;);

      Attribute entitlement = attributes.get(quot;eduPersonEntitlementquot;);

      // add values from directory
      for (int i = 0; entitlement != null && i < entitlement.size(); i++) {
         resolverAttribute.addValue(entitlement.get(i));
      }

      // add common-lib-terms for staff and student
      Attribute attribute = attributes.get(quot;eduPersonAffiliationquot;);
      if (attribute.contains(quot;staffquot;) || attribute.contains(quot;studentquot;)) {
          resolverAttribute.addValue(quot;http://sp.example.com/contract0732quot;);
      }
      ]]>
   </Scriptlet>
</ScriptletAttributeDefinition>

   McShib meeting                                            14th December 2007   17
Shibboleth Development and Support Services



                      eduPersonPrincipalName (ePPN)



• Usually scoped version of login name
   – my.name@ed.ac.uk

• This counts as personal information
• Privacy and legal concerns mean use as last
  resort

• Can often be replaced by ePTI or ePE

  McShib meeting                                            14th December 2007   18
Shibboleth Development and Support Services



                                                                    Contacts

• UK federation: http://www.ukfederation.org.uk/
• Technical Recommendations for Participants:
   – http://tinyurl.com/ywm895

• Recommendations for use of personal data:
   – http://tinyurl.com/2fud6b

• Speaker: ian@iay.org.uk
• And you’ve been good this year, so...
  McShib meeting                                            14th December 2007   19
...all right, you can have a pony




photo © cc-by-2.0 by flickr user http://flickr.com/photos/jonmclean/
Shibboleth Development and Support Services



                                                                    Contacts


• UK federation: http://www.ukfederation.org.uk/
• Technical Recommendations for Participants:
   – http://tinyurl.com/ywm895

• Recommendations for use of personal data:
   – http://tinyurl.com/2fud6b

• Speaker: ian@iay.org.uk

  McShib meeting                                            14th December 2007   21

Weitere ähnliche Inhalte

Ähnlich wie 20071214: An Identity Provider's Guide to the Core Attributes

Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
WCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New Jersey
WCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New JerseyWCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New Jersey
WCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New JerseyIrfan Ali
 
Spreadmart To Data Mart BISIG Presentation
Spreadmart To Data Mart BISIG PresentationSpreadmart To Data Mart BISIG Presentation
Spreadmart To Data Mart BISIG PresentationDan English
 
Achievo ATK, an Open Source project
Achievo ATK, an Open Source projectAchievo ATK, an Open Source project
Achievo ATK, an Open Source projectIvo Jansch
 
If Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The QuestionIf Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The QuestionDuncan Hull
 
Hello Open World - The Web of Data for the Pragmatic Developer
Hello Open World - The Web of Data for the Pragmatic DeveloperHello Open World - The Web of Data for the Pragmatic Developer
Hello Open World - The Web of Data for the Pragmatic DeveloperAlexandre Passant
 
An Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAs
An Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAsAn Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAs
An Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAsJim Czuprynski
 
Applications of the REST Principle
Applications of the REST PrincipleApplications of the REST Principle
Applications of the REST Principleelliando dias
 
Building Killer Communities And Taking Confluence Social
Building Killer Communities And Taking Confluence SocialBuilding Killer Communities And Taking Confluence Social
Building Killer Communities And Taking Confluence SocialAtlassian
 
DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)dpc
 
From Beginners to Experts, Data Wrangling for All
From Beginners to Experts, Data Wrangling for AllFrom Beginners to Experts, Data Wrangling for All
From Beginners to Experts, Data Wrangling for AllDataWorks Summit
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web DesignDave Olsen
 
Render Caching for Drupal 8
Render Caching for Drupal 8Render Caching for Drupal 8
Render Caching for Drupal 8John Doyle
 
Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers  Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers EDB
 
CA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_iCA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_iGeorge Jeffcock
 
Meandre Architecture
Meandre ArchitectureMeandre Architecture
Meandre ArchitectureLoretta Auvil
 
Meandre Architecture Ws Apr 2009
Meandre Architecture Ws Apr 2009Meandre Architecture Ws Apr 2009
Meandre Architecture Ws Apr 2009Loretta Auvil
 

Ähnlich wie 20071214: An Identity Provider's Guide to the Core Attributes (20)

Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
WCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New Jersey
WCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New JerseyWCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New Jersey
WCAG- Go beyond and be creative by Irfan Ali from ETS Princeton New Jersey
 
Spreadmart To Data Mart BISIG Presentation
Spreadmart To Data Mart BISIG PresentationSpreadmart To Data Mart BISIG Presentation
Spreadmart To Data Mart BISIG Presentation
 
Achievo ATK, an Open Source project
Achievo ATK, an Open Source projectAchievo ATK, an Open Source project
Achievo ATK, an Open Source project
 
If Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The QuestionIf Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The Question
 
Irl Web Strategy
Irl Web StrategyIrl Web Strategy
Irl Web Strategy
 
Hello Open World - The Web of Data for the Pragmatic Developer
Hello Open World - The Web of Data for the Pragmatic DeveloperHello Open World - The Web of Data for the Pragmatic Developer
Hello Open World - The Web of Data for the Pragmatic Developer
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
 
An Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAs
An Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAsAn Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAs
An Autonomous Singularity Approaches: Force Multipliers For Overwhelmed DBAs
 
Applications of the REST Principle
Applications of the REST PrincipleApplications of the REST Principle
Applications of the REST Principle
 
Building Killer Communities And Taking Confluence Social
Building Killer Communities And Taking Confluence SocialBuilding Killer Communities And Taking Confluence Social
Building Killer Communities And Taking Confluence Social
 
DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)
 
From Beginners to Experts, Data Wrangling for All
From Beginners to Experts, Data Wrangling for AllFrom Beginners to Experts, Data Wrangling for All
From Beginners to Experts, Data Wrangling for All
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 
Render Caching for Drupal 8
Render Caching for Drupal 8Render Caching for Drupal 8
Render Caching for Drupal 8
 
Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers  Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers
 
Demo day
Demo dayDemo day
Demo day
 
CA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_iCA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_i
 
Meandre Architecture
Meandre ArchitectureMeandre Architecture
Meandre Architecture
 
Meandre Architecture Ws Apr 2009
Meandre Architecture Ws Apr 2009Meandre Architecture Ws Apr 2009
Meandre Architecture Ws Apr 2009
 

Kürzlich hochgeladen

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Kürzlich hochgeladen (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

20071214: An Identity Provider's Guide to the Core Attributes

  • 1. Shibboleth Development and Support Services An Identity Provider’s Guide to the Core Attributes Ian A. Young SDSS, EDINA, University of Edinburgh McShib meeting, 14th December 2007
  • 2. Shibboleth Development and Support Services Problem Statement • Federated Access Management is all about the attributes released by the IdP to the SP • IdP and SP need to agree on: – attributes to exchange – their definitions – their quality • (more) easily resolved if IdP = SP – e.g., internal institutional applications • If they’re not the same party, this is hard McShib meeting 14th December 2007 2
  • 3. Shibboleth Development and Support Services Festive Caricatures (1) • Service provider: I want a pony! – I’d like attributes A, B, C, and D through Z please – if you give me more, I can do more – if you give me attribute Y, my code will be easier to write – I’ve already written code that needs attribute X – Summary: as much as possible, please McShib meeting 14th December 2007 3
  • 4. Shibboleth Development and Support Services Festive Caricatures (2) • Identity Provider: No, you can’t have a pony! – we don’t even have all of that information, we’d have to collect it – then we’d have to maintain it to make sure it was correct – we can’t release attribute X to you without talking to our lawyers – We don’t see why you have a real need for Y. – Summary: as little as possible, please McShib meeting 14th December 2007 4
  • 5. Shibboleth Development and Support Services Where to Begin? • Some SPs tell us what they want: – http://tinyurl.com/2y92cj – this tends to encourage standardisation • Some SPs prefer to negotiate with IdPs • If you have more information, let us know! • Remember: information release is your responsibility so it’s your call McShib meeting 14th December 2007 5
  • 6. Shibboleth Development and Support Services Finding a Balance • Core attributes: – minimal set of four very flexible attributes – chosen from eduPerson for interoperability – good enough for most situations – of course, not sufficient for all situations • SPs told: you may have problems if you ask for something outside this set • IdPs told: you may not be able to access some popular services if you can’t provide this set McShib meeting 14th December 2007 6
  • 7. Shibboleth Development and Support Services Stored vs. Transmitted • The attributes you transmit don’t have to be the same attributes you have stored. • Attributes can be gathered from multiple sources. • Attributes can be transformed, e.g., by scripts you write. • So, no requirement to alter your directory schema. • Release only after positive policy decision. McShib meeting 14th December 2007 7
  • 8. Shibboleth Development and Support Services eduPersonScopedAffiliation (ePSA) • Possibly the most important attribute in the UKf • Describes the subject’s relationship with their institution • What are they to you? • Example: member@ed.ac.uk • Only a few permissible values (this is good) • ... but even fewer see real use McShib meeting 14th December 2007 8
  • 9. Shibboleth Development and Support Services ePSA Values (1) • student, staff, faculty, employee, member, affiliate, alum, library-walk-in • multi-valued attribute for each subject • value space has structure: • e.g., student@ implies member@ as well • only release what the service provider needs! • normally safe to release member@ to everyone McShib meeting 14th December 2007 9
  • 10. Shibboleth Development and Support Services ePSA Values (2) • Most important value: member – “member in good standing of the ... community” – corresponds to most “authorised users” in the JISC model license – safe to release, adequate for many SPs • Er, that’s it... • Upcoming: library-walk-in – recently profiled by MACE-Dir for new eduPerson – corresponds to the other “authorised users” McShib meeting 14th December 2007 10
  • 11. Shibboleth Development and Support Services Scripting eduPersonScopedAffiliation • Your directory says “role is student” in code • ... but you want ePSA = “student” • ePSA can be derived from “unscoped” ePA: <ScriptletAttributeDefinition id=quot;urn:mace:dir:attribute-def:eduPersonAffiliationquot;> <DataConnectorDependency requires=quot;directoryquot;/> <Scriptlet><![CDATA[ Attributes attributes = dependencies.getConnectorResolution(quot;directoryquot;); Attribute roles = attributes.get(quot;rolesquot;); if (roles.contains(quot;00142quot;)) { resolverAttribute.addValue(quot;studentquot;); } ]]></Scriptlet> </ScriptletAttributeDefinition> McShib meeting 14th December 2007 11
  • 12. Shibboleth Development and Support Services eduPersonTargetedID (ePTI) • ePTI is a opaque, directed, persistent identifier for the user – opaque: doesn’t give the user’s identity away – directed: each SP sees a different value – persistent: the SP will see the same value every time the user comes back to them • Primary use is for personalisation • ePTI is not stored in your directory – options are storage-backed and computed McShib meeting 14th December 2007 12
  • 13. Shibboleth Development and Support Services Storage-backed ePTI • Store opaque (e.g., random) tokens in a DB • Pro: – Supports more future SAML functionality – Supports ePTI revocation for privacy purposes – No problems with local identifier re-use • Con: – Not bundled with 1.x IdP, so not many examples  Basic implementation bundled with 2.0 IdP – Fully resilient implementation is more complex McShib meeting 14th December 2007 13
  • 14. Shibboleth Development and Support Services Computed ePTI (1) • Mix (hash) together: – a secret – a unique (non-reassigned) local identifier  probably not the login name  most directories have some kind of UUID/GUID – the SP’s entity name • Pro: – No storage required – Implementation bundled with 1.x IdP McShib meeting 14th December 2007 14
  • 15. Shibboleth Development and Support Services Computed ePTI (2) • Con: – Doesn’t support advanced SAML functionality – Doesn’t support revocability – If SHA-1 is broken, becomes insecure – Reuse of local identifier causes ePTI reuse  and SPs really don’t want that to happen, ever • Summary: computed ePTI is acceptable for now if carefully implemented • ... but expect to need to migrate McShib meeting 14th December 2007 15
  • 16. Shibboleth Development and Support Services eduPersonEntitlement (ePE) • eduPersonGetOutOfJailFreeCard • Value is arbitrary URI (e.g., URN or URL) • Values can be agreed between IdP and SP • Can be used to delegate authorisation to IdP • E.g., “IdP says OK to access resource X” • Multi-valued: each user may have many • ... only release values appropriate to each SP McShib meeting 14th December 2007 16
  • 17. Shibboleth Development and Support Services Scripting eduPersonEntitlement <ScriptletAttributeDefinition id=quot;urn:mace:dir:attribute-def:eduPersonEntitlementquot;> <DataConnectorDependency requires=quot;directoryquot;/> <AttributeDependency requires=quot;urn:mace:dir:attribute-def:eduPersonAffiliationquot; /> <Scriptlet><![CDATA[ Attributes attributes = dependencies.getConnectorResolution(quot;directoryquot;); Attribute entitlement = attributes.get(quot;eduPersonEntitlementquot;); // add values from directory for (int i = 0; entitlement != null && i < entitlement.size(); i++) { resolverAttribute.addValue(entitlement.get(i)); } // add common-lib-terms for staff and student Attribute attribute = attributes.get(quot;eduPersonAffiliationquot;); if (attribute.contains(quot;staffquot;) || attribute.contains(quot;studentquot;)) { resolverAttribute.addValue(quot;http://sp.example.com/contract0732quot;); } ]]> </Scriptlet> </ScriptletAttributeDefinition> McShib meeting 14th December 2007 17
  • 18. Shibboleth Development and Support Services eduPersonPrincipalName (ePPN) • Usually scoped version of login name – my.name@ed.ac.uk • This counts as personal information • Privacy and legal concerns mean use as last resort • Can often be replaced by ePTI or ePE McShib meeting 14th December 2007 18
  • 19. Shibboleth Development and Support Services Contacts • UK federation: http://www.ukfederation.org.uk/ • Technical Recommendations for Participants: – http://tinyurl.com/ywm895 • Recommendations for use of personal data: – http://tinyurl.com/2fud6b • Speaker: ian@iay.org.uk • And you’ve been good this year, so... McShib meeting 14th December 2007 19
  • 20. ...all right, you can have a pony photo © cc-by-2.0 by flickr user http://flickr.com/photos/jonmclean/
  • 21. Shibboleth Development and Support Services Contacts • UK federation: http://www.ukfederation.org.uk/ • Technical Recommendations for Participants: – http://tinyurl.com/ywm895 • Recommendations for use of personal data: – http://tinyurl.com/2fud6b • Speaker: ian@iay.org.uk McShib meeting 14th December 2007 21