SAML-Authentifizierung für CA SDM aktivieren

Security Assertion Markup Language (SAML) ist ein Standard für die Protokollierung von Benutzern in Anwendungen auf Grundlage ihrer Sitzungen in einem anderen Kontext. SAML SSO überträgt die Identität des Benutzers von einer Stelle (dem Identity-Provider) in eine andere (dem Service-Provider). Dies erfolgt über den Austausch von digital signierten XML-Dokumenten.
casm173
Security Assertion Markup Language (SAML) ist ein Standard für die Protokollierung von Benutzern in Anwendungen auf Grundlage ihrer Sitzungen in einem anderen Kontext. SAML SSO überträgt die Identität des Benutzers von einer Stelle (dem Identity-Provider) in eine andere (dem Service-Provider). Dies erfolgt über den Austausch von digital signierten XML-Dokumenten.
In diesem Artikel wird erläutert, wie SAML-Authentifizierung für CA Service Desk Manager auf folgenden Servern aktiviert wird:
Voraussetzungen
  1. Wenn Sie ADFS als den Identity-Provider verwenden möchten, müssen Sie ADFS unter Windows Server 2012 R2 und höher installieren. Nach Abschluss der Installation von ADFS und CA Service Desk Manager müssen Sie die ADFS mit folgenden CA SDM-Informationen konfigurieren:
    1. Geben Sie bei der Konfiguration von "Relying Party Trust hinzufügen" auf ADFS Folgendes im Fenster "
      URL konfigurieren
      " ein:
      • Aktivieren Sie das Kontrollkästchen "
        Unterstützung für das WS-Federation-Passive-Protokoll aktivieren
        ".
      • Geben Sie den Wert in der
        "Relying Party WS-Federation-Passive-Protokoll-URL:"
        wie folgt ein:
        https://<SDM host name>:<https port>/CAisd/pdmweb.exe
      • Aktivieren Sie das Kontrollkästchen "
        Aktivieren der Unterstützung für das SAML 2.0 WebSSO-Protokoll
        ".
      • Geben Sie den Wert in der
        "Relying Party SAML 2.0-SSO-Dienst-URL:"
        wie folgt ein:
        https://<sdm host>:<https port>/CAisd/pdmweb.exe
    2. Geben Sie beim Hinzufügen von Anspruchsregeln Folgendes im Schritt "
      Anspruchsregel konfigurieren
      " ein:
      • Anspruchsregel-Name
        Geben Sie einen Namen für die Anspruchsregel an. Zum Beispiel SDM-Anspruchsregel.
      • Attributspeicher
        Wählen Sie die Datenquelle aus der Drop-Down-Liste aus. Zum Beispiel Active Directory.
      • LDAP-Attribut
        Wählen Sie aus der Drop-Down-Liste "
        SAM-Konto-Name
        " aus.
      • Ausgehender Anspruchstyp
        Wählen Sie in der Drop-down-Liste einen "
        Namen
        " aus.
  2. Wenn Sie CA Single Sign-On (früher CA Siteminder) als Ihr Identify-Provider verwenden möchten, führen Sie folgende Schritte aus:
    1. Starten Sie CA Single Sign-On als Administrator.
    2. Gehen Sie zu Sie "Federation--Partnerschaft Partnerschaft-Federation" und klicken Sie auf "Partnerschaften".
      Die Federation-Partnerschaft-Liste wird angezeigt.
    3. Klicken Sie auf den Federation-Partnerschaft-Namen, den Sie verwenden möchten.
      Die Seite "Partnerschaft-Eigenschaften" wird geöffnet.
    4. Erweitern Sie den Abschnitt "IP-Einschränkungen", und überprüfen Sie die Assertion-Attribut-Eigenschaften.
    5. Der Wert des Felds "Namespace" muss der URI für den jeweiligen Anspruch sein. Wenn der Wert als "Unbekannt" angegeben ist, funktioniert die SAML-Authentifizierung nicht.
  3. Das Zertifikat, das Sie zum Konfigurieren des Identity-Provider verwenden möchten, muss SHA-256-signiert sein.
  4. Stellen Sie sicher, dass SSL für CA SDM aktiviert ist. Weitere Informationen finden Sie unter Enable SSL Authentication for CA SM 17.3.
SAML-Authentifizierung für CA SDM auf Tomcat aktivieren
Gehen Sie folgendermaßen vor:
  1. Konfigurieren Sie die Datei "web.xml".
    1. Navigieren Sie zum folgenden Ordner und bearbeiten Sie die Datei:
      NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\CAisd\WEB-INF\
      web.xml
    2. Kopieren Sie folgende Konfiguration, und fügen Sie sie unter der Anweisung
      <!-- Add filter here -->
      ein:
      <filter>
      <filter-name>FederationFilter</filter-name>
      <filter-class>com.auth10.federation.WSFederationFilter</filter-class>
      <init-param>
      <param-name>login-page-url</param-name>
      <param-value>main.jsp</param-value>
      </init-param>
      <init-param>
      <param-name>exclude-urls-regex</param-name>
      <param-value>/images/|/js/|/css/</param-value>
      </init-param>
      </filter>
    3. Kopieren Sie folgende Konfiguration, und fügen Sie sie unter der Anweisung
      <!-- Add filter-mapping here -->
      ein:
      <filter-mapping>
      <filter-name>FederationFilter</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>
    4. Speichern und schließen Sie die Datei.
  2. Konfigurieren Sie die Datei "federation.properties".
    1. Navigieren Sie zum folgenden Ordner und bearbeiten Sie der Datei
      NX_ROOT\bopcfg\www\CATALINA_BASE\shared\resources\federation.properties
    2. Definieren Sie die folgenden Details bezüglich des Identity-Providers und CA Service Desk Manager.
      1. federation.trustedissuers.issuer
        Definieren Sie die Identity-Provider-URL.
        Beispiel:
        Siteminder
        http://<siteminderURL>/affwebservices/public/wsfeddispatcher
        ADFS
        https://<trusted_issuer_URL>/<identity_provider>/ls/idpinitiatedsignon.aspx
      2. federation.trustedissuers.thumbprint
        Definieren Sie den Wert des Zertifikatfingerabdrucks, der vom Identity Provider bereitgestellt wird. Sie müssen den Thumbprint vom "
        Token-Signatur"
        -Abschnitt des Zertifikats angeben.
        Beispiel:
        0214c3035d002505b9e5e672a117d9bf5c5d4d02
        Das Zertifikat, das Sie zum Konfigurieren des Identity-Provider verwenden möchten, muss SHA-256-signiert sein.
        Der Fingerabdruck, den Sie vom SHA-256-Zertifikat verwenden, muss der Fingerabdruck SHA-1 sein.
      3. federation.trustedissuers.friendlyname
        Definieren Sie einen allgemeinen Name für den Identity Provider.
        Beispiel:
        ADFS
        TestIP - <trusted_issuer_URL>
        Siteminder
        TestIP
      4. federation.audienceuris
        Definieren Sie den URI der Anwendung, von der die Token angenommen werden sollen.
        Beispiel:
        https://<SDM_HOST>:<SDM_TOM_SSL_PORT>/CAisd/pdmweb.exe|https://<SDM_HOST>:<SDM_TOM_SSL_PORT>/CAisd/pdmweb.exe
      5. federation.realm
        Definieren Sie die Lokation, von der Token gesendet werden.
        Beispiel:
        https://<SDM_HOST>:<SDM_TOM_SSL_PORT>/CAisd/pdmweb.exe
      6. federation.enableManualRedirect
        Bestimmen Sie, ob Sie die manuelle Umleitung des Tokens aktivieren möchten oder nicht. Legen Sie den Wert auf "True" fest, um die manuelle Umleitung zu aktivieren, und legen Sie den Wert "False" fest, um die manuelle Umleitung zu deaktivieren.
        Standard:
        False
      7. federation.reply
        Definieren Sie die URL der Lokation, die Antworten empfängt.
        Beispiel:
        https://<SDM_HOST>:<SDM_TOM_SSL_PORT>/CAisd/pdmweb.exe
    3. Speichern und schließen Sie die Datei.
  3. Starten Sie die CA Service Desk Manager-Dienste neu.
  4. Starten Sie CA SDM und aktivieren Sie die externe Anwender-Authentifizierung über die Benutzeroberfläche für die Anwenderrolle, der Sie den SAML-basierten SSO-Zugriff erlauben möchten.
SAML-Authentifizierung für CA SDM auf IIS aktivieren
Gehen Sie folgendermaßen vor:
  1. Stellen Sie sicher, dass Microsoft.NET Framework 4 auf dem Server installiert ist, auf dem CA SDM installiert ist. Weitere Informationen finden Sie unter Enable SSL Authentication for CA SM 17.3. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter How to Set Up SSL on IIS 7.
  2. Öffnen Sie die Datei "web.config" in einem Editor. Die Datei ist normalerweise unter dem Pfad "NX_ROOT\bopcfg\www\ wwwroot\" verfügbar.
  3. Suchen Sie folgende Anweisung in der Datei:
    <!--Um SAML zu aktivieren, kommentieren Sie den Code oben und entfernen Sie den Kommentar vom Code unten. -->
  4. Kommentieren Sie den gesamten Code, der über der Anweisung in der Datei angezeigt wird, d. h. den Tag <!--am Anfang und den Tag --> am Ende des Codes hinzufügen.
  5. Entfernen Sie den Kommentar vom gesamten Code, der unter der Anweisung in der Datei angezeigt wird, d. h. den Tag <!--am Anfang und den Tag --> am Ende des Codes entfernen.
  6. Suchen Sie die folgenden Zeilen und ersetzen Sie den Text "Definieren Sie den URI der Anwendung, von der die Token angenommen werden sollen" durch http://<SDM host name>:<SSL Port>/CAisd/pdmweb.exe:
    <audienceUris>
    <add value="Define the URI of the application from where to accept the tokens" />
    </audienceUris>
    Beispiel:
    <audienceUris>
    <add value="http://CAServiceDesk:443/CAisd/pdmweb.exe" />
    </audienceUris>
  7. Suchen Sie die folgenden Zeilen und ändern Sie den Wert der Parameter "Thumbprint hinzufügen" und "Name". Sie müssen den Thumbprint vom "
    Token-Signatur"
    -Abschnitt des Zertifikats angeben.
    <trustedIssuers>
    <add thumbprint="Define the value of the certificate thumbprint provided by the Identity Provider" name="Define a common name for the Identity Provider" />
    </trustedIssuers>
    Beispiel:
    <trustedIssuers>
    <add thumbprint="bb89519f06dc7b1ab43871e1a3310eca893b94cb" name="sdmcomputer01.casm.local" />
    </trustedIssuers>
  8. Suchen Sie die folgenden Zeilen und ändern Sie den Wert der Parameter "Aussteller", "Realm","Antworten" und "requireHttps":
    <federationConfiguration>
    <cookieHandler requireSsl="false" />
    <wsFederation passiveRedirectEnabled="true" issuer="Define the Identity Provider URL" realm="Define the location from where the tokens are sent" reply="Define the URL of the location that receives responses" requireHttps="true|false" />
    </federationConfiguration>
    1. Aussteller
      Definieren Sie die Identity-Provider-URL.
      Beispiel:
      ADFS:
      https://hostname.casm.local/adfs/ls/idpinitiatedsignon.aspx
      Siteminder:
      http://hostname:88/affwebservices/public/wsfeddispatcher
    2. realm
      Ersetzen Sie den Text
      realm="Definieren Sie die Lokation, von der Token gesendet werden"
      durch
      realm="https://<SDM host name>:<SSL Port>/CAisd/pdmweb.exe"
      Beispiel:
      realm="https://CAServiceDesk:443/CAisd/pdmweb.exe"
    3. Antwort
      Ersetzen Sie den Text
      reply="Definieren Sie die URL der Lokation, die Antworten empfängt"
      durch reply="https://<
      SDM host name
      >:<
      SSL Port
      >/CAisd/pdmweb.exe"
      Beispiel:
      reply="https://CAServiceDesk:443/CAisd/pdmweb.exe"
    4. requireHttps
      Definieren Sie, ob die erforderliche Https "true"oder "false" ist.
      Wahr
      Geben Sie den Wert als
      true
      an, wenn die
      Identify-Provider-URL https-basiert ist.
      False
      Geben Sie den Wert als
      false
      an, wenn die
      Identify-Provider-URL http-basiert ist.
  9. Speichern und schließen Sie die Datei.
  10. Starten Sie die CA Service Desk Manager-Dienste neu.
  11. Starten Sie CA SDM und aktivieren Sie die externe Anwender-Authentifizierung über die Benutzeroberfläche für die Anwenderrolle, der Sie den SAML-basierten SSO-Zugriff erlauben möchten.
SAML-Authentifizierung für CA SDM auf Apache aktivieren
Gehen Sie folgendermaßen vor:
  1. Stellen Sie sicher, dass HTTPS für
    CA Service Management
    aktiviert ist. Weitere Informationen finden Sie unter Enable SSL Authentication for CA SM 17.3.
  2. Laden Sie Shibboleth Service Provider auf dem Apache-Server herunter, auf dem
    CA Service Management
    installiert ist, und installieren Sie es. Sie müssen den für Ihr Betriebssystem spezifischen Shibboleth Service Provider herunterladen. Wir empfehlen, Shibboleth Service Provider Version 2.6 zu verwenden. Shibboleth Service Provider unterstützt keine Installation unter Solaris. Weitere Informationen zur Shibboleth-Installation und zum Software-Download finden Sie unter Shibboleth-Dokumentation.
  3. Starten Sie den Shibboleth-Dienst.
  4. Rufen Sie die Metadaten-URL des Identity-Providers in einem Browser auf und erstellen Sie die Datei
    FederationMetadata.xml
    , kopieren Sie sie in den Pfad
    \etc\shibboleth\
    und benennen Sie die Datei um in
    partner-metadata.xml
    . Wenn Sie beispielsweise ADFS als Identity-Provider verwenden, ist die Metadaten-URL https://<ADFS server>/federationmetadata/2007-06/federationmetadata.xml
  5. Ändern Sie die Datei "Shibboleth2.xml" wie folgt. Die Datei ist normalerweise unter dem Pfad verfügbar: \etc\shibboleth\.
    1. Suchen Sie die folgenden Zeilen in der Datei und ändern Sie die Werte der Parameter “entity ID” und “REMOTE_USER”.
      <
      ApplicationDefaults entityID="https://<SDM host name>:<SSL Port>" REMOTE_USER="<IdP claim user detail property>" cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"
      >
      Beispiel:
      <
      ApplicationDefaults entityID="https://CAServiceDesk:443"
      REMOTE_USER="smuser"
      cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"
      >
    2. Suchen Sie die folgenden Zeilen in der Datei, und ändern Sie die Werte der Parameter "entity ID".
      <SSO entityID="<URL of the Identity Provider> "
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
      Beispiel:
      <SSO entityID="http://adfscomputer/adfs/services/trust"
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
    3. Öffnen Sie die Datei "shibboleth.xml" und ersetzen Sie den Wert der Entitäts-ID durch den Wert der verfügbaren Entitäts-ID in der Datei "partner-metadata.xml".
    4. Suchen Sie die folgenden Zeilen und kommentieren Sie sie, das bedeutet, d. h. den Tag <!--am Anfang und den Tag --> am Ende des Codes hinzufügen, sofern nicht bereits vorhanden.
      <!-- Example of remotely supplied batch of signed metadata. -->
      <!--
      <MetadataProvider type="XML" validate="true"
      uri="http://example.org/federation-metadata.xml"
      backingFilePath="federation-metadata.xml" reloadInterval="7200">
      <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
      <MetadataFilter type="Signature" certificate="fedsigner.pem"/>
      <DiscoveryFilter type="Blacklist" matcher="EntityAttributes" trimTags="true"
      attributeName="http://macedir.org/entity-category"
      attributeNameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
      attributeValue="http://refeds.org/category/hide-from-discovery" />
      </MetadataProvider>
      -->
    5. Fügen Sie die folgenden Zeilen unter dem kommentierten Code, wie oben beschrieben.
      <!-- Example of locally maintained metadata. -->
      <MetadataProvider type="XML" validate="false" file="partner-metadata.xml"/>
  6. Öffnen Sie die Datei "attribute-map.xml" im Pfad: ../etc/shibboleth/ und bearbeiten Sie die Datei wie folgt:
    Fügen Sie die folgenden Zeilen am Anfang der Datei hinzu.
    <Attribute name="<IdP claim to send to the relying party>" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" id="<IdP claim to send to the relying party>"/>
    Beispiel:
    <Attribute name="smuser" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" id="smuser"/>
    Hinweis:
    Wenn Sie die "Relying Party Trust" mit ADFS für Shibboleth erstellen, können die Metadaten, die Sie auf ADFS hochladen müssen, durch Aufrufen der Metadaten-URL des Service-Providers erhalten werden. Zum Beispiel https://<Shibboleth Server Name>/Shibboleth.sso/Metadata.
  7. Öffnen Sie die Datei "httpd.conf" und bearbeiten Sie sie wie folgt. Die Datei ist normalerweise unter dem Pfad verfügbar:
    etc/httpd/conf/
    . Fügen Sie die folgenden Zeilen am Ende der Datei hinzu:
    #Shibboleth configuration
    LoadModule mod_shib /usr/lib64/shibboleth/mod_shib_22.so
    <Location /Shibboleth.sso>
    SetHandler shib
    </Location>
    <Location />
    AuthType shibboleth
    ShibRequestSetting requireSession 1
    Require valid-user
    ShibUseHeaders Off
    </location>
  8. Starten Sie den Shibboleth-Dienst neu.
  9. Starten Sie den Apache-Server neu.
  10. Starten Sie CA SDM und aktivieren Sie die externe Anwender-Authentifizierung über die Benutzeroberfläche für die Anwenderrolle, der Sie den SAML-basierten SSO-Zugriff erlauben möchten.