Konfigurieren von Shibboleth 2.3.8
Sie können Shibboleth 2.3.8 als Identity-Provider für Enterprise-Anmeldenamen in ArcGIS Online konfigurieren. Die Konfiguration umfasst zwei Hauptschritte: die Registrierung des Enterprise-Identity-Providers bei ArcGIS Online und die Registrierung von ArcGIS Online beim Enterprise-Identity-Provider.
Schritt 1: Registrieren von Shibboleth 2.3.8 als Enterprise-Identity-Provider bei ArcGIS Online
- Überprüfen Sie, ob Sie angemeldet und Administrator Ihrer Organisation sind.
- Klicken Sie im oberen Bereich der Website auf die Schaltfläche Eigene Organisation. Ihre Organisationsseite wird geöffnet.
- Klicken Sie auf die Schaltfläche Einstellungen bearbeiten.
- Klicken Sie links auf der Seite auf den Link Sicherheit.
- Klicken Sie im Abschnitt Enterprise-Anmeldenamen auf die Schaltfläche Identity-Provider festlegen.
- Geben Sie in dem daraufhin angezeigten Fenster einen Namen für den Identity-Provider ein.
- Stellen Sie mithilfe einer der zwei im Folgenden genannten Optionen Metadateninformationen für den Identity-Provider bereit:
- Datei – Standardmäßig wird die IDP-Metadatendatei bei Shibboleth unter SHIBBOLETH_HOME/metadata bereitgestellt. Wenn Zugriff auf die Metadatendatei besteht, wählen Sie die Option Datei für die Metadaten des Enterprise-Identity-Providers aus, und navigieren Sie zur Datei SHIBBOLETH_HOME/metadata/idp-metadata.xml.
- Parameter – Wählen Sie diese Option, wenn kein Zugriff auf die Datei besteht. Geben Sie die Werte manuell ein, und stellen Sie die erforderlichen Parameter bereit: Anmelde-URL, Bindungstyp und Zertifikat. Wenden Sie sich an Ihren Shibboleth-Administrator, um diese Informationen zu erhalten.
Schritt 2: Registrieren von ArcGIS Online als vertrauenswürdigen Service-Provider bei Shibboleth 2.3.8
- Konfigurieren Sie ArcGIS Online als vertrauende Site in Shibboleth.
- Rufen Sie die Metadatendatei Ihrer ArcGIS Online-Organisation auf, und speichern Sie sie als XML-Datei.
Um die Metadatendatei abzurufen, melden Sie sich als Administrator bei der Organisation an, und öffnen Sie die Organisationsseite. Klicken Sie auf die Schaltfläche Einstellungen bearbeiten, die Registerkarte Sicherheit und im Abschnitt Enterprise-Anmeldenamen auf die Schaltfläche Service-Provider aufrufen.
- Fügen Sie ArcGIS Online als vertrauenswürdigen Service-Provider in Shibboleth hinzu, indem Sie ein neues RelyingParty-Element in der SHIBBOLETH_HOME/conf/relying-party.xml-Datei definieren.
Fügen Sie ChainingMetadataProvider das folgende Snippet hinzu. Geben Sie den Pfad zu der XML-Metadatendatei Ihrer Organisation an (in Schritt 2.1.a gespeichert). (Ersetzen Sie "citygis.maps.arcgis.com" durch die URL der Organisation.)
<!-- Load AGOL metadata --> <MetadataProvider xsi:type="FilesystemMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" id="citygis.maps.arcgis.com" metadataFile="<PATH_TO_THE_SAVED_METADATA>/citygismetadata.xml">
- Rufen Sie die Metadatendatei Ihrer ArcGIS Online-Organisation auf, und speichern Sie sie als XML-Datei.
- Konfigurieren Sie die Attributauswertung.
ArcGIS Online erwartet die Weitergabe einer SAML-Namenskennung vom IDP für den Benutzer, der sich bei ArcGIS Online anmeldet. Um diese Daten verfügbar zu machen, müssen Sie die Shibboleth-Attributauflösung konfigurieren, indem Sie die Datei SHIBBOLETH_HOME/conf/attribute-resolver.xml bearbeiten.
Bei der folgenden Attributdefinition wird der Prinzipalname des Benutzers, der durch den Shibboleth-IDP in der Namenskennung authentifiziert wurde, an ArcGIS Online gesendet.
<!-- Name identifier for passing principal name to ArcGIS Online --> <resolver:AttributeDefinition id="principal" xsi:type="PrincipalName" xmlns="urn:mace:shibboleth:2.0:resolver:ad"> <resolver:AttributeEncoder xsi:type="SAML2StringNameID" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" nameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified" /> </resolver:AttributeDefinition>
- Konfigurieren Sie den Attributfilter.
Konfigurieren Sie den Shibboleth-Attributfilter, um den als NameID codierten Benutzerprinzipalnamen nach der Benutzerauthentifizierung für ArcGIS Online freizugeben.
Um diesen Filter hinzuzufügen, öffnen Sie die Datei SHIBBOLETH_HOME/conf/attribute-filter.xml, und fügen Sie die folgende Attributfilterrichtlinie im AttributeFilterPolicyGroup-XML-Element hinzu. (Ersetzen Sie "citygis.maps.arcgis.com" durch die URL der Organisation.)
<!-- release the NameID to citygis.maps.arcgis.com --> <afp:AttributeFilterPolicy> <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="citygis.maps.arcgis.com" /> <afp:AttributeRule attributeID="principal"> <afp:PermitValueRule xsi:type="basic:ANY" /> </afp:AttributeRule> </afp:AttributeFilterPolicy>
ArcGIS Online unterstützt die Übernahme der Attribute givenName und email address des Enterprise-Anmeldenamens aus dem Enterprise-Identity-Provider in ArcGIS Online. Wenn sich ein Benutzer mit einem Enterprise-Anmeldenamen anmeldet und ArcGIS Online Attribute mit den Namen givenname und email oder mail (in beliebiger Groß-/Kleinschreibung) empfängt, gibt ArcGIS Online als vollständigen Namen und als E-Mail-Adresse des Benutzerkontos die vom Identity-Provider empfangenen Namen an.
Es empfiehlt sich, die E-Mail-Adresse vom Enterprise-Identity-Provider an ArcGIS Online weiterzugeben. Dies ist hilfreich, falls der Benutzer später zum Administrator wird. Wenn eine E-Mail-Adresse im Konto vorhanden ist, kann der Benutzer Benachrichtigungen zu administrativen Aktivitäten empfangen und Einladungen an andere Benutzer senden, um ihnen den Beitritt zur Organisation zu ermöglichen.
- Konfigurieren Sie die Authentifizierungsquelle.
Konfigurieren Sie die vom Shibboleth-IDP verwendete Authentifizierungsquelle.
Im folgenden Beispiel wird die Konfiguration des Apache Directory Server als Benutzerspeicher in Shibboleth in der Datei SHIBBOLETH_HOME/conf/login.config gezeigt.
ShibUserPassAuth { edu.vt.middleware.ldap.jaas.LdapLoginModule required ldapUrl="ldap://host:port" baseDn="ou=users,ou=system" ssl="true" serviceUser="uid=admin,ou=system" serviceCredential="secret" subtreeSearch="true" userField="uid" userFilter="uid={0}"; };
- Konfigurieren Sie den Anmelde-Handler.
Aktivieren Sie den UsernamePassword-Anmelde-Handler in Shibboleth. Mit dem Anmelde-Handler können sich Benutzer mittels eines Benutzernamens und Kennworts über die im vorherigen Schritt konfigurierte Authentifizierungsquelle anmelden.
Um den Anmelde-Handler zu konfigurieren, öffnen Sie die Datei SHIBBOLETH_HOME/conf/handler.xml, und heben Sie die Auskommentierung des Benutzernamen- und Kennwort-Anmelde-Handlers auf. (Ersetzen Sie <SHIBBOLETH_HOME> durch den Shibboleth-Installationspfad.)
<!-- Username/password login handler --> <ph:LoginHandler xsi:type="ph:UsernamePassword" jaasConfigurationLocation="file://<SHIBBOLETH_HOME>/conf/login.config"> <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</ph:AuthenticationMethod> </ph:LoginHandler>
- Deaktivieren Sie die Assertionsverschlüsselung im Shibboleth-IDP.
ArcGIS Online unterstützt keine verschlüsselten SAML-Assertionen aus den Identity-Providern, deshalb müssen Sie die Assertionsverschlüsselung in Shibboleth deaktivieren.
Um die Assertionsverschlüsselung zu deaktivieren, öffnen Sie die Datei SHIBBOLETH_HOME/conf/relying-party.xml, und ändern Sie den Wert von encryptAssertions im Abschnitt <DefaultRelyingParty>"saml: SAML2SSOProfile" in never.
<rp:DefaultRelyingParty provider="https://grid3.esri.com/idp/shibboleth" defaultSigningCredentialRef="IdPCredential"> ... <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile" includeAttributeStatement="true" assertionLifetime="PT5M" assertionProxyCount="0" signResponses="never" signAssertions="always" encryptAssertions="never" encryptNameIds="never"/> ... </rp:DefaultRelyingParty>
- Starten Sie den Webserver, auf dem die Shibboleth-Webanwendung gehostet wird, neu.