Shibboleth konfigurálása az egyszeri bejelentkezéshez
Közzétéve: 2012. június
Hatókör: Office 365, Windows Azure Active Directory, Windows Intune
Megjegyzés
A témakör online súgótartalmat biztosít, mely több felhőalapú Microsoft-szolgáltatáshoz, például a Windows Intune és az Office 365 szolgáltatáshoz is használható.
Ez a témakör részletes utasításokat tartalmaz arról, hogy miként lehet konfigurálni a Shibboleth identitásszolgáltatót a Windows Azure AD szolgáltatással való összevonáshoz, hogy lehetővé tegye az egyszeri bejelentkezéssel történő hozzáférést egy vagy több Microsoft-felhőszolgáltatáshoz (például, Windows Intune és/vagy Office 365) a SAML 2.0 protokollal. Ebben a forgatókönyvben a Microsoft-felhőszolgáltatáshoz használt SAML 2.0 függő entitás a Windows Azure AD.
Fontos
Ebben az egyszeri bejelentkezési forgatókönyvben csak korlátozott számú ügyfélcsoport támogatott, az alábbiak szerint:
- Webalapú ügyfelek, például az Exchange Web Access és a SharePoint Online
- Gazdag funkcionalitású e-mail ügyfélalkalmazások, amelyek alapszintű hitelesítést és támogatott Exchange hozzáférési módot használnak, például, IMAP, POP, Active Sync, MAPI stb. (a kibővített ügyfélprotokoll végpontjának telepítve kell lennie), ideértve az alábbiakat:
- Microsoft Outlook 2007
- Microsoft Outlook 2010
- Thunderbird 8 és 9
- Az iPhone (különböző iOS-verziókkal)
- Windows Phone 7
- Microsoft Outlook 2007
Fontos
Mielőtt elvégezhetné a témakör bármelyik lépését a Shibboleth identitásszolgáltató konfigurálásához egyszeri bejelentkezéshez, tekintse át, és kövesse a következő szakasz utasításait: Felkészülés az egyszeri bejelentkezésre.
Az egyszeri bejelentkezésről általános információkat az Egyszeri bejelentkezés menetrendje című szakaszban talál.A Shibboleth identitásszolgáltató konfigurálásához egyszeri bejelentkezéssel történő használatra, végezze el az alábbi lépéseket:
Windows Azure AD-metaadatok hozzáadása
Windows Azure AD hozzáadása függő entitásként
A Shibboleth attribútumfeloldó konfigurálása
A Shibboleth attribútumszűrő konfigurálása
Választható: A Shibboleth ECP bővítmény telepítése
A Shibboleth újraindítása és működésének ellenőrzése
Fontos
A témakörben szereplő példákban az IDP_HOME az az alapkönyvtár, ahová a Shibboleth identitásszolgáltatót telepíti, például, c:\shibboleth2idp
. Amikor követi a témakör utasításait a Shibboleth konfigurálásához, az IDP_HOME helyett mindig a saját útvonalát alkalmazza.
Windows Azure AD-metaadatok hozzáadása
A Shibboleth identitásszolgáltatónak információkra van szüksége a Windows Azure AD függő entitásról. A Windows Azure AD a metaadatokat ezen a helyen teszi közzé: https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml
. Ajánlott, hogy midig keresse meg a legújabb Windows Azure AD-metaadatokat. A metaadatok aktuális értéke az alábbi:
<?xml version="1.0" encoding="utf-8"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="urn:federation:MicrosoftOnline">
<SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://login.microsoftonline.com/login.srf" index="0" isDefault="true"/>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://login.microsoftonline.com/login.srf" index="1"/>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://login.microsoftonline.com/login.srf" index="2" />
<NameIDFormat>
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
</NameIDFormat>
<NameIDFormat>
urn:mace:shibboleth:1.0:nameIdentifier
</NameIDFormat>
<NameIDFormat>
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
</NameIDFormat>
<NameIDFormat>
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
</NameIDFormat>
<NameIDFormat>
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
</NameIDFormat>
</SPSSODescriptor>
</EntityDescriptor>
A Windows Azure AD metaadatainak a Shibboleth identitásszolgáltatóhoz történő hozzáadásához használhatja a fájlrendszer metaadat-szolgáltatója módszert – letöltheti a Windows Azure AD-metaadatokat, és tárolhatja azokat egy fájlban az IDP_HOME/metadata mappában.
Fontos
A témakörben szereplő példákban az IDP_HOME az az alapkönyvtár, ahová a Shibboleth identitásszolgáltatót telepíti, például, c:\shibboleth2idp
. Amikor követi a témakör utasításait a Shibboleth konfigurálásához, az IDP_HOME helyett mindig a saját útvonalát alkalmazza.
Windows Azure AD hozzáadása függő entitásként
Engedélyeznie kell a Shibboleth identitásszolgáltató és a Windows Azure AD közötti kommunikációt egy új RelyingParty elem IDP_Home/conf/relying-party.xml fájlban történő meghatározásával. A Windows Azure AD számára módosítani kell az saml:SAML2Profile alapértelmezett beállításait a DefaultRelyingParty elemben.
Illessze be a következő szöveget a DefaultRelyingParty elem után, és győződjön meg arról, hogy a RelyingParty id érték megegyezik azzal az entityID értékkel, amelyet a Windows Azure AD-metaadatok hozzáadása című szakaszban meghatározott, például, "urn:federation:MicrosoftOnline". Arról is győződjön meg, hogy a provider megadott értéke megegyezik a DefaultRelyingParty elemben megadott Shibboleth identitásszolgáltató EntityID értékével, az alábbi példának megfelelően:
<!-- Windows Azure AD -->
<rp:RelyingParty id="urn:federation:MicrosoftOnline" provider="https://idp.contoso.com/idp/shibboleth" defaultSigningCredentialRef="IdPCredential">
<rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
signAssertions="conditional"
encryptAssertions="never"
encryptNameIds="never" />
</rp:RelyingParty>
Azt is meg kell adnia a Shibboleth identitásszolgáltató számára, hogy hol található a Windows Azure AD metaadatait tartalmazó fájl, például, IDP_HOME/metadata/wlid-metadata.xml. Ezt megteheti egy bejegyzés hozzáadásával az IDP_Home/conf/relying-party.xml fájlhoz, a MetadataProvider csomópontban, az alábbi példának megfelelően:
<!—- Windows Azure AD Metadata -->
<metadata:MetadataProvider id="OrgID" xsi:type="metadata:ResourceBackedMetadataProvider">
<metadata:MetadataResource xsi:type="resource:FilesystemResource" file="C:\opt\shibboleth-idp/metadata/WindowsAzureAD-metadata.xml"/>
A Shibboleth attribútumfeloldó konfigurálása
A Windows Azure AD szolgáltatásnak két adatra van szüksége a Shibboleth identitásszolgáltatótól az árnyékfiók megkereséséhez a hitelesítési platformon. Tudassa a Shibboleth identitásszolgáltatót ezekről a követelményekről az alábbi bejegyzések hozzáadásával az IDP_HOME/conf/attribute-resolver.xml fájlhoz:
Windows Azure AD ImmutableID
A Windows Azure AD számára szükséges, hogy egyedi azonosítót válasszon a felhasználói címtár minden felhasználójához. A Shibboleth identitásszolgáltatót pedig úgy kell konfigurálnia, hogy elküldje ezt az attribútumot minden összevont bejelentkezés alkalmával a Windows Azure AD szolgáltatásnak az SAML 2.0 NameID helyességi feltételben. Ennek az azonosítónak nem szabad megváltoznia, amíg a felhasználó a rendszerben van. A Windows Azure AD szolgáltatásban ennek az attribútumnak „ImmutableID” a neve. Az egyedi azonosító értéke nem tartalmazhat tartományadatokat, és a rendszer megkülönbözteti a kis- és nagybetűket.
Ne használja például a user@contoso.com értéket. Az alábbi ajánlott kódban használt érték az Active Directory objectGUID tulajdonsága, amely base64 kódolású. Fiókok létrehozásakor az ImmutableID értékét ugyanazon a módon kell feldolgozni, különben a felhasználó nem fog tudni bejelentkezni a Microsoft-felhőszolgáltatásba. A Microsoft Online Services – Címtár-szinkronizáló eszköz automatikusan az Active Directory objectGUID értékét használja az ImmutableID értékeként, és az ImmutableID feldolgozásához ugyanazt a módszert használja, mint az alábbi ajánlott példa:
<!-- Use AD objectGUID for ImmutableID --> <resolver:AttributeDefinition id="ImmutableID" xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" sourceAttributeID="objectGUID"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="SAML2StringNameID" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" nameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" /> </resolver:AttributeDefinition>
Fontos
Frissítse az LDAP Data Connector értékét az attribute-resolver.xml fájlban az objectGUID bináris értékként történő megadásához.
Adja hozzá ezt a sort az LDAP Data Connector bejegyzéséhez, ez biztosítja az objectGUID helyes kezelését, és hogy base64 kódolású legyen.
<LDAPProperty name="java.naming.ldap.attributes.binary" value="objectGUID"/>
Példa:
<!-- ========================================== --> <!-- Data Connectors --> <!-- ========================================== --> <!-- Live@edu LDAP Connector --> <resolver:DataConnector id="myLDAP" xsi:type="LDAPDirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc" ldapURL="ldap://MyADServer:389" baseDN="CN=Users,DC=MyDomain,DC=ORG" principal="CN=Administrator,CN=Users,DC=MyDomain,DC=ORG" principalCredential="A.useful.p!w.d"> <FilterTemplate> <![CDATA[ (uid=$requestContext.principalName) ]]> </FilterTemplate> <LDAPProperty name="java.naming.ldap.attributes.binary" value="objectGUID"/> </resolver:DataConnector>
Windows Azure AD felhasználói azonosító
A Windows Azure AD számára szükséges, hogy a Windows Azure AD felhasználói azonosítóját, például, joe@contoso.com, az alábbi példában ismertetett testre szabott bejegyzéssel küldjék. Ebben a példában az értéket az LDAP userPrincipalName attribútum tárolja.
<!-- UserPrincipalName for Windows Azure AD User ID --> <resolver:AttributeDefinition id="UserId" xsi:type="ad:Simple" sourceAttributeID="userPrincipalName"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="IDPEmail" friendlyName="UserId" /> </resolver:AttributeDefinition>
A Shibboleth attribútumszűrő konfigurálása
A Shibboleth identitásszolgáltatót konfigurálni kell, hogy a kibocsássa a szükséges attribútumokat a Windows Azure AD számára. Az attribútumok Windows Azure AD számára történő kibocsátásához adja hozzá az alább szöveget az IDP_HOME/conf/attribute-filter.xml fájlhoz.
Az itt bemutatott beállítások a kívánt attribútumokat csak a Windows Azure AD és a Windows Live szolgáltatások számára bocsátják ki. A beállítások meghatározott AttributeFilterPolicy-azonosítókat használnak annak jelzésére, hogy az attribútumokra a Windows Azure AD szolgáltatásnak van szüksége.
<!-- Release userPrincipalName as Windows Azure AD User ID -->
<afp:AttributeFilterPolicy id="UserId">
<afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="urn:federation:MicrosoftOnline"/>
<afp:AttributeRule attributeID="UserId">
<afp:PermitValueRule xsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
<!-- Release Immutable ID to Windows Azure AD -->
<afp:AttributeFilterPolicy id="ImmutableID">
<afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="urn:federation:MicrosoftOnline"/>
<afp:AttributeRule attributeID="ImmutableID">
<afp:PermitValueRule xsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
Választható: A Shibboleth ECP bővítmény telepítése
Annak ellenére, hogy ez a lépés nem kötelező, ajánlott megtenni. Ha biztonsági jegykiadó szolgáltatásként (STS) a Shibboleth szolgáltatót használja, feltétlenül telepítse a Shibboleth identitásszolgáltató ECP bővítményét, hogy az egyszeri bejelentkezés működjön okostelefonokkal, a Microsoft Outlook ügyféllel és más ügyfelekkel.
Az kibővített ügyfél/proxy (enhanced client/proxy – ECP) bővítményt a Shibboleth 2.3.3 és újabb verziói tartalmazzák. A Shibboleth 2.x régebbi verzióihoz az ECP bővítményt letöltheti és telepítheti. További információk: https://wiki.shibboleth.net/confluence/display/SHIB2/IdP+ECP+Extension.
A Shibboleth identitásszolgáltató ECP bővítménye lehetővé teszi az asztali e-mail alkalmazások integrálását a Windows Azure AD szolgáltatással. Ez a bővítmény az SAML 2.0 ECP specifikációt alkalmazza. Amikor konfigurálja az egyszeri bejelentkezést a Windows Azure AD szolgáltatáshoz, megadhatja az ECP bővítmény URL-címét, például, https://idp.contoso.com/idp/profile/SAML2/SOAP/ECP
. A Shibboleth ECP bővítménnyel végzett hitelesítés jelenleg alapszintű hitelesítésre korlátozott.
A Shibboleth újraindítása és működésének ellenőrzése
Állítsa le, majd indítsa újra az Apache Tomcat kiszolgálót a Shibboleth identitásszolgáltató újraindításához, és győződjön meg arról, hogy a frissített XML-fájlok betöltődtek. Előfordulhat, hogy a Shibboleth nem indul el, ha probléma adódott egy vagy több konfigurációs fájllal. Újraindítás után ellenőrizze a Shibboleth naplófájljait, hogy nem tartalmaznak-e jelentést hibákról. Továbbá javasoljuk, hogy próbáljon bejelentkezni egy korábban konfigurált Shibboleth-szolgáltatóba és elérni azt a hálózatán.
Megjegyzés
Ellenőrizze, hogy a Shibboleth-kiszolgáló órája pontos időszolgáltatóval van-e szinkronizálva. Ha nem pontos az óra által jelzett idő, az az összevont bejelentkezések meghiúsulását okozhatja.
Lásd még
Fogalmak
a Shibboleth identitásszolgáltató használata az egyszeri bejelentkezés megvalósításához