Jednotné přihlášení a správa identity pomocí Shibboleth

Základní interakce

Tok SSO mezi IDP a SP

Následující diagram ukazuje interakci mezi uživatelem umístěným v jejich webovém prohlížeči, IDP umístěným v domovské organizaci a SP umístěným v organizaci zdroje.

  • SP detekuje uživatele, který se pokouší získat přístup k omezenému obsahu v rámci zdroje.
  • SP vygeneruje požadavek na ověření a poté odešle požadavek a uživatel uživateli na IDP.
  • IDP autentizuje uživatele a poté odešle ověřovací odpověď a uživatel zpět do SP.
  • SP ověří odpověď IDP a pošle požadavek prostřednictvím zdroje, který vrací původně požadovaný obsah.

Kroky konfigurace:

Pic kredity - šachovnice

Poznámka-

  • Kroky konfigurace popsané níže jsou založeny na shibboleth 2.0.
  • Kroky konfigurace jsou vysvětleny z pohledu IDP (Identity Provider) s ohledem na to, že konfigurujete aplikaci SP (Service Provider) ve vaší instanci shibboleth.

KROK 1. Přihlaste se ke svému serveru shibboleth jako sudo a stáhněte si kopii metadat IDP.

  • Budete to muset nějak doručit prodejci. Například prostřednictvím e-mailu, nahrání atd.… Někdy dodavatel akceptuje (nebo vyžaduje) metadata, která mají být doručena pomocí URI metadat. Něco jako níže.

https://shibboleth.idpname.org/idp/profile/Metadata/SAML

KROK 2. Budete potřebovat kopii metadat dodavatele. Když to pochopíte:

A. Nahrajte jej na svůj server shibboleth.

b. Zkopírujte jej do /opt/shibboleth-idp/metadata/VENDOR-metadata.xml

C. Zajistěte oprávnění souboru, aby odpovídala ostatním v tomto adresáři

d. Poznamenejte si jejich ID entity z prvních několika řádků v souboru metadat. Např.,

Hodnota atributu - URL, https://www.spname.com/saml2/service-provider/xxxx - je ID entity v níže uvedeném úryvku.

xmlns: md = ”urn: oasis: names: tc: SAML: 2.0: metadata”
entityID = ”https://www.spname.com/saml2/service-provider/xxxx“>

KROK 3. Budete potřebovat seznam atributů, které prodejce očekává. ID zaměstnance, uživatelské jméno, celé jméno atd.

KROK 4. Na serveru shibboleth upravte /opt/shibboleth-idp/conf/relying-party.xml

a) Vyhledejte v souboru podobné řádky a přidejte řádky pro novou integraci. Atribut ID by se měl rovnat ID entity.

id = ”https://www.xyz.com/saml2/service-provider/spgucgtqldxvmhxxxxxx"
provider = ”https://shibboleth.idpname.org/idp/shibboleth"
defaultSigningCredentialRef = ”IdPCredential”>

b) Znovu ve stejném souboru vyhledejte podobné řádky a přidejte kód pro novou integraci. V takovém případě je atribut ID libovolný. Soubor metadat je samozřejmě cestou k jejich metadatům.

id = ”vendorMetadata”
xsi: type = ”FilesystemMetadataProvider”
xmlns = ”urn: mace: shibboleth: 2.0: metadata”
metadataFile = ”/ opt / shibboleth-idp / metadata / vendor-metadata.xml” />

KROK 5. Upravte /opt/shibboleth-idp/conf/attribute-filter.xml pro přidání nové integrace (seznam atributů pro nového dodavatele).

A. Vyhledejte podobné řádky a přidejte kód pro novou integraci. ID je libovolné, které si vyberete, ale hodnota PolicyRequirementRulevalue by se měla rovnat ID entity.

b. Posílejte pouze to, co (poskytovatel služeb) potřebují, aby integrace fungovala.

C. Dostupné atributy najdete jinde v tomto souboru a také jsou uvedeny v /opt/shibboleth-idp/conf/attribute-resolver.xml

d. Spusťte příkaz xmlwf attribute-filter.xml a zkontrolujte chyby syntaxe

KROK 6. Restartujte Shibboleth / Tomcat, aby se změny projevily. Pokud je to PROD, budete to chtít udělat v době mimo provoz: restart služby sudo služba tomcat6 (Pokud jste přihlášeni jako sudo, použijte restartování služby tomcat6).

Nápověda, nemohu najít požadovaný atribut (poskytovatel služeb)

KROK 1. Zkontrolujte, zda existuje jeden atribut pojmenovaný něco jiného (příjmení vs. příjmení) a použijte jej.

KROK 2. email a eduPersonPrincipalName mohou být na straně IDP identické, ale mohou mít různé definice SAML. Jeden může být použitelný, pokud druhý není.

KROK 3. Pokud nic nefunguje, budete muset přidat nový z LDAP. Budete muset Google prozkoumat, ale podívejte se na některé z existujících atributů v /opt/shibboleth-idp/conf/attribute-resolver.xml, abyste získali představu o tom, co hledáte.

Povolit protokolování ladění

  • Zapněte přihlášení /opt/shibboleth-idp/conf/logging.xml. Toto je soubor, který Shibboleth sleduje, pro změny, takže nemusíte jej restartovat, aby se změny projevily.
Loggery definují, které balíčky / kategorie jsou protokolovány, na které úrovni a do kterého appenderu.
Úrovně: OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL
 →

 

 

 ->
  • Vyhledejte v adresáři protokolování příslušné zprávy / opt / shibboleth-idp / logs
  • Pokud se Tomcat nespustí, zkontrolujte jeho adresář protokolování / var / log / tomcat6

Prosím, neváhejte zanechat komentář a dejte mi vědět, pokud se vám tento článek líbil.

Děkujeme za přečtení, prosím, sdílejte jej, pokud to považujete za užitečné. HAPPY SHIBBOLIZING :)