Toruń 28/29.10.2014. Po udanym uwierzytelnieniu IdP może przekazać do SP dodatkowe informacje o użytkowniku – IdP korzysta ze wskazanego źródła danych.

Slides:



Advertisements
Podobne prezentacje
Infrastruktura języka UML w wersji 2.2
Advertisements

XML – eXtensible Markup Language
Aplikacja od SaaS do IdaaS
Toruń 28/ REFEDS Konfederacje eduGAIN – eduGAIN w działaniu – Skutki obecności w eduGAIN – Jakie usługi powinny być w eduGAIN.
Toruń 28/ Terminologia używana w Regulaminie Zadania Operatora PIONIER.Id Zadania operatora regionalnego Ważniejsze zapisy dotyczące członków.
Toruń 28/ Wymagania, Co można zrobić z dodatkowymi modułami (rejestracja, logowanie), Własna baza użytkowników dla IdP, Wymiana metadanych.
Opracowali: Patryk Klemczak Tomasz Klemczak ODSIECZ WIEDEŃSKA.
Kształtowanie się granic II Rzeczypospolitej
Toruń 28/ Zadania Federacji – Źródło informacji o IdP i SP – Podstawa zaufania – Tworzenie wspólnego języka – Dbanie o formalności – Przygotowanie.
Toruń 28/ Metadane SAML opisują, w jaki sposób ma być realizowana komunikacja pomiędzy IdP i SP Metadane są typowo prezentowane w postaci XML.
Toruń 28/ Samo przystąpienie do Federacji to wyłącznie akceptacja Regulaminu i wyznaczanie przedstawiciela Przystąpienie w roli członka nie.
Dostawca tożsamości (IdP) Dostawca usługi (SP) SimpleSAMLphp
Toruń 28/ Metadane przygotowanego IdP/SP działającego w SimpleSAMLphp są dostępne na stronie administracyjnej SSP, w zakładce Federacja : –
Toruń 28/ Usługodawcy dostępni poprzez PIONIER.Id mogą pochodzić z dwóch źródeł: – bezpośrednio z PIONIER.Id – z eduGAIN za pośrednictwem PIONIER-id.
Toruń 28/ Shibboleth SP działa z poziomu serwera HTTP, jest niezależny od języka programowania, pozwala zintegrować dowolną aplikację ze środowiskiem.
Identyfikacja dansylowanych aminokwasów metodą cienkowarstwowej chromatografii na płytkach poliamidowych Gawahir Hassan.
Program Rozwoju Obszarów Wiejskich
Tolerancje i pasowania
Mechanika kwantowa dla niefizyków
Co to jest SSC Master… SSC Master to platforma elektronicznego obiegu, dekretacji i akceptacji dokumentów w organizacji. Dzięki szerokiemu i elastycznemu.
Podstawy pomagania SPPiIK, 2016 Anna Gromińska.
Chemia biopierwiastków
Hiszpania,Portugalia,Litwa,Polska,Turcja,Włochy,Chorwacja Desery.
STAŁE RÓWNOWAGI REAKCJI PROTOLITYCZNYCH
W ramach stypendium Ministerstwa Kultury i Dziedzictwa Narodowego
Parki krajobrazowe na Podlasiu
Publicznej Szkole Podstawowej nr 4 im. Tadeusza Kościuszki
Gimnazjum nr 3 im. J. Chełmońskiego w Zielonej Górze
Edukacja psychologiczna
GMINA RUDZINIEC.
Tworzywa sztuczne.
Logistyka – Ćwiczenia nr 6
Beata Rzewuska Waldemar Machała
Rok ważne fakty i wydarzenia
Ekonometria Bayesowska Model Probitowy
Departament Rozwoju Regionalnego i Funduszy Europejskich
Katarzyna Wójcik, Janusz Tuchowski Katedra Systemów Obliczeniowych
WSTĘP DO ELEKTRONIKI Część III Metody obliczania obwodów liniowych
Modelowanie zawieszenia pojazdu kołowego
56.Dwa samochody ruszyły z miejsca ze stałymi przyspieszeniami 5m/s2 i 2,5m/s2. Jaka odległość dzieliła samochody po minucie od startu?
Zmienna losowa jednowymiarowa
KONFERENCJA MSC.SOFTWARE I SIMUFACT
Ryzyko jako determinanta wyników projektowania
Logistyka – Ćwiczenia nr 2
Katedra Międzynarodowych Studiów Porównawczych
PODSTAWY MECHANIKI PŁYNÓW
Michał Suchanek Metoda Schmigalli.
Narkotyki i Alkohol Czy warto ?.
SPOTKANIE Z RODZICAMI Klasa 1.
PARKI KRAJOBRAZOWE WOJEWÓDZTWA ŁÓDZKIEGO
Zarządzanie Projektami Inwestycyjnymi
Symulowanie fal elektromagnetycznych na komputerze
Mechanika kwantowa dla niefizyków
METODYKA MODELOWANIA POWIERZCHNI CZYNNEJ NARZĘDZI ŚCIERNYCH
Zmienna losowa jednowymiarowa
Departament Rozwoju Regionalnego i Funduszy Europejskich
Rozkłady statystyk z próby
Makroekonomia 1 Krzywa Philipsa Mgr Łukasz Matuszczak
Modele w epidemiologii
STAŁE RÓWNOWAGI REAKCJI PROTOLITYCZNYCH
Determinanty dochodu narodowego - analiza mnożników Keynesa
Regresja nieparametryczna „series estimator”
STATYSTYKA OPISOWA.
Departament Rozwoju Regionalnego i Funduszy Europejskich
Przestrzeń P’ jest rzutem punktu P na płaszczyznę XOY
Klasa sportowa 2019/2020 SP46 Poznań.
Standardy dostępności dla osób z niepełnosprawnościami
Uzależnienia to nabyty stan zaburzenia zdrowia psychicznego i fizycznego, który charakteryzuje się okresowym lub stałym przymusem wykonywania określonej.
Zapis prezentacji:

Toruń 28/

Po udanym uwierzytelnieniu IdP może przekazać do SP dodatkowe informacje o użytkowniku – IdP korzysta ze wskazanego źródła danych w celu pobrania informacji o użytkowniku, konfiguracja IdP ustala, jakie atrybuty mogą być udostępniane (zbiór A) – podczas rejestracji SP w federacji wskazywane są wymagania SP odnośnie atrybutów, w metadanych SP powinny być wymienione atrybuty, z których SP korzysta (zbiór B) – SP otrzymuje przekrój zbiorów A i B IdP powinien wysyłać do SP tzw. pseudoanonimowy identyfikator, który jest unikatowy dla danego użytkownika w odniesieniu do tej usługi (SP)

Schemat eduPerson definiuje atrybut eduPersonTargetedID (urn:oid: ) jako – A persistent, non-reassigned, opaque identifier for a principal czyli – identyfikator stały (nie zmieniający się przy kolejnych logowaniach), niepowtarzalny, przezroczysty, czyli nie ujawniający tożsamości użytkownika

Identyfikator ma format określany w SAML2 jako "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" Specyfikacja OASIS Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2, w rozdziale definiuje Persistent Identifier następująco: – jest to stały, transparentny identyfikator, specyficzny dla danego użytkownika, IdP oraz SP lub stowarzyszenia SP (affiliation) – identyfikator MUSI być generowany przez IdP przy użyciu liczby losowej nie mającej żadnego powiązania z identyfikatorem użytkownika – długość identyfikatora nie może przekroczyć 256 znaków

Atrybut eduPersonTargetedID został zdefiniowany na potrzeby tworzenia trwałego identyfikatora w Shibboleth, gdy korzystano jeszcze z SAML 1.1 Wartość eduPersonTargetedID była przekazywana jako wartość atrybutu SAML Obecnie rekomendowanym sposobem przekazywania trwałego identyfikatora do SAML 2.0 SP jest umieszczanie go w elemencie Subject przekazywanego poświadczenia (assertion)

<saml2:NameID xmlns:saml2=" urn:oasis:names:tc:SAML:2.0:assertion " Format=" urn:oasis:names:tc:SAML:2.0:nameid- format:persistent " NameQualifier=" " " SPNameQualifier=" eth"> eth" 84e411ea-7daa-4a57-bbf6-b5cc52981b73

Alternatywne podejście to przekazanie persistent ID jako atrybutu o nazwie formalnej " urn:oid: " <saml2:Attribute xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" Name="urn:oid: " FriendlyName="eduPersonTargetedID"> <saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" NameQualifier=" SPNameQualifier=" 84e411ea-7daa-4a57-bbf6-b5cc52981b73

Tworzenie trwałego identyfikatora przebiega następująco: – przygotowujemy konektor do bazy danych (data connector) o nazwie StoredID – służy on do tworzenia / pobierania wartości – utworzenie definicji atrybutu operującego na StoredID Tworzymy bazę danych o nazwie shibboleth bazie danych i tablicę shibpid i dostosowujemy plik konfiguracji Shibboleth IdP – conf/attribute-resolver.xml

CREATE TABLE IF NOT EXISTS shibpid ( localEntity TEXT NOT NULL, peerEntity TEXT NOT NULL, principalName VARCHAR(255) NOT NULL DEFAULT '', localId VARCHAR(255) NOT NULL, persistentId VARCHAR(36) NOT NULL, peerProvidedId VARCHAR(255) DEFAULT NULL, creationDate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deactivationDate TIMESTAMP NULL DEFAULT NULL, KEY persistentId (persistentId), KEY persistentId_2 (persistentId, deactivationDate), KEY localEntity (localEntity(16), peerEntity(16), localId), KEY localEntity_2 (localEntity(16), peerEntity(16), localId, deactivationDate) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

<resolver:DataConnector xsi:type="dc:StoredId" xmlns="urn:mace:shibboleth:2.0:resolver:dc" id="storedID" sourceAttributeID="eduPersonPrincipalName" generatedAttributeID="persistentId" salt="1qaasfkdakdakakakagkalkg"> <dc:ApplicationManagedConnection jdbcDriver="com.mysql.jdbc.Driver" jdbcURL=" jdbc:mysql://localhost:3306/shibboleth?autoRecon nect=true " jdbcUserName="shibboleth" jdbcPassword="zaqWSX12" />

<resolver:AttributeDefinition xsi:type="ad:SAML2NameID" id="eduPersonTargetedID" sourceAttributeID="persistentId" nameIdFormat= " urn:oasis:names:tc:SAML:2.0:nameid-format:persistent "> Targeted ID Targeted ID

Targeted ID: A unique identifier for a person, different for each service provider. Targeted ID: identyfikator specyficzny dla danego SP <resolver:AttributeEncoder xsi:type="enc:SAML2XMLObject" name="urn:oid: " friendlyName="eduPersonTargetedID" />

<resolver:AttributeDefinition id="persistentId" xsi:type="ad:Simple" sourceAttributeID="persistentId"> <resolver:AttributeEncoder xsi:type="enc:SAML2StringNameID" nameFormat= "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" />

<resolver:AttributeDefinition xsi:type="ad:SAML2NameID" id="eduPersonTargetedID" sourceAttributeID="persistentId" nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid- format:persistent"> Targeted ID Targeted ID: A unique identifier different for each SP Targeted ID: unikatowy identyfikator specyficzny dla SP <resolver:AttributeEncoder xsi:type="enc:SAML2XMLObject" name="urn:oid: " friendlyName="eduPersonTargetedID" />

Atrybuty eduPersonTargetedID/persistentID są generowane przez dodawany przez dedykowane filtry: – saml:PersistentNameID – generuje identyfikator persistent Id o formacie urn:oasis:names:tc:SAML:2.0:nameid- format:persistent na podstawie wskazanego atrybutu oraz wartości secretsalt ustalonej w pliku config/config.php – saml:SQLPersistentNameID – generuje identyfikator persistent Id i umieszcza go w bazie danych SQL – SSP musi mieć skonfigurowany dostęp do zasobów SQL, w tym celu należy ustawić w pliku config/config.php opcję store.type 'store.type' => 'sql',

'authproc.idp' => array( 1 => array( 'class' => 'saml:SQLPersistentNameID', 'attribute' =>'eduPersonPrincipalName', 'AllowCreate' => "true" ),

90 => array( 'class' => 'consent:Consent', 'store' => 'consent:Cookie', 'focus' => 'yes', 'checked' => TRUE ), 95 => array( 'class' => 'saml:PersistentNameID2TargetedID', 'attributename' => 'eduPersonTargetedID', 'nameId' => TRUE ), 100 => array( 'class' => 'core:AttributeMap', 'name2oid'), ),

eduPersonTargetedID powinien być wysyłany w postaci NameID, w tej sytauacji trzeba zadeklarować w metadata/saml20-idp-hosted.php: 'attributeencodings' => array( 'urn:oid: ' => 'raw', ), – raw oznacza, że atrybuty mają być przekazywane bez żadnej modyfikacji, dzięki temu jest możliwe przekazywanie odpowiedzi w postaci XML