Java-Client für Kerberos-Authentifizierung konfigurieren

Ein Java™-Client kann sich mit einem Kerberos-Principal-Namen und einem Kennwort oder mit dem Cache für Cache für Kerberos-Berechtigungsnachweise (krb5Ccache) bei WebSphere Application Server authentifizieren.

Vorgehensweise

  1. Erstellen Sie eine Kerberos-Konfigurationsdatei (krb5.ini oder krb5.conf). Weitere Informationen finden Sie im Artikel Kerberos-Konfigurationsdatei erstellen.
  2. Stellen Sie die von Ihnen erstellte Datei krb5.ini oder krb5.conf an eine Standardposition. Befindet sich eine der Dateien nicht an der Standardposition, müssen Sie com.ibm.COBRA.krb5ConfigFile in der Datei sas.client.props auf den korrekten Pfad und den Namen der Kerberos-Konfigurationsdatei setzen.

    [Windows]Die Standardposition ist c:\winnt\krb5.ini.

    [Linux]Die Standardposition ist /etc/krb5.conf.

    [AIX][HP-UX][Solaris][z/OS]Die Standardposition ist /etc/krb5/krb5.conf.

    [IBM i]Die Standardposition ist /QIBM/UserData/OS400/NetworkAuthentication/krb5.conf.

  3. Setzen Sie die Eigenschaft com.ibm.CORBA.authenticationTarget in der Datei sas.client.props auf KRB5. Weitere Einzelheiten finden Sie in den Informationen zur Konfiguration der Sicherheitseinrichtung mit Scripting.
  4. Setzen Sie die Eigenschaft com.ibm.CORBA.loginSource in der Datei sas.client.props auf einen der folgenden unterstützten Werte:
    Wenn authenticationTarget auf BasicAuth gesetzt ist, werden für loginSource folgende Werte unterstützt:
    • prompt [Standard]
    • Eigenschaften
    • stdin
    • ohne
    Wenn authenticationTarget auf KRB5 gesetzt ist, werden für loginSource folgende Werte unterstützt:
    • prompt [Standard]
    • Eigenschaften
    • stdin
    • ohne
    • krb5Ccache
    • krb5Ccache:prompt
    • krb5Ccache:properties
    • krb5Ccache:stdin
    Beachten Sie außerdem die folgenden Punkte:
    krb5Ccache:prompt
    Verwenden Sie zunächst krb5Ccache, um sich bei WebSphere Application Server zu authentifizieren. Scheitert dieser Versuch, wird auf den Wert prompt zurückgegriffen.
    krb5Ccache:properties
    Verwenden Sie zunächst krb5Ccache, um sich bei WebSphere Application Server zu authentifizieren. Scheitert dieser Versuch, wird auf den Wert properties zurückgegriffen.
    krb5Ccache:stdin
    Verwenden Sie zunächst krb5Ccache, um sich bei WebSphere Application Server zu authentifizieren. Scheitert dieser Versuch, wird auf den Wert stdin zurückgegriffen.
  5. Wenn "authenticationTarget" auf "KRB5" gesetzt ist, muss die Java-Clientanwendung die Datei wsjaas_client.conf haben. Wenn Sie den Befehl "launchClient" nicht verwenden, müssen Sie die Option "java" wie folgt setzen:
    -Djava.security.auth.login.config=wsjaas_client.config
  6. Wenn authenticationTarget auf KRB5 gesetzt ist und als loginSource der Kerberos-Cache für Berechtigungsnachweise verwendet wird, gehen Sie wie folgt vor:
    1. Aktualisieren Sie wie folgt den Eintrag WSKRB5Login in der Datei wsjaas_client.conf:
      WSKRB5Login{
          com.ibm.ws.security.auth.kerberos.Krb5LoginModuleWrapperClient required credsType=INITIATOR useFirstPass=false forwardable=false renewable=false noAddress=false;
      };
    2. Befindet sich der Kerberos-Cache für Berechtigungsnachweise nicht an der Standardposition, definieren Sie die Eigenschaft com.ibm.CORBA.krb5CcacheFile wie folgt als URL: Beispiel:
      com.ibm.CORBA.krb5CcacheFile=FILE:/home/smith/krb5cc_smith
      Die Standardposition des Kerberos-Cache für Berechtigungsnachweise hängt vom verwendeten Betriebssystem ab. Nach dem Cache für Benutzerberechtigungsnachweise wird in der nachfolgend angegebenen Reihenfolge gesucht:

      Von der Java-Eigenschaft KRB5CCNAME referenzierte Datei
      <user.home>/krb5cc_<user.name>
      <user.home>/krb5cc (wenn <user.name> nicht ermittelt werden kann)

      Anmerkung: Wenn der Kerberos-Cache für Berechtigungsnachweise für die Authentifizierung verwendet wird, ist das Kerberos-Delegierungsticket für den Client nicht erneuerbar.
  7. Optional: Wenn ein Fehler auftritt, stellen Sie sicher, dass alle Uhren der Maschine mit WebSphere Application Server mit den KDC-Maschinen sychronisiert sind. Verwenden Sie den Befehl kinit, um einen Kerberos-Principal-Namen und das zugehörige Kennwort zu prüfen. Sie sollten den Befehl kinit aus dem Java SE Development Kit (JDK) 8 verwenden.
    Geben Sie Folgendes ein, um Hilfe für diesen Befehl aufzurufen:
    kinit -help
    Nachfolgend sehen Sie ein Beispiel für den Befehl kinit. In diesem Beispiel kann ein Kerberos-TGT (Ticket-Granting Ticket) für duke abgerufen werden. Der Kerberos-Cache für Berechtigungsnachweise ist an der Standardposition c:\Dokumente und Einstellungen\duke\krb5cc_duke gespeichert.
    kinit duke@JAVA.SUN.COM
    Anmerkung: Diese Nutzung des Befehls funktioniert möglicherweise nicht in allen KDC-Versionen.
    [z/OS]
    Anmerkung: Beim Namen und beim Kennwort des Kerberos-Principal muss die Groß-/Kleinschreibung beachtet werden. Wenn Sie ein KDC unter z/OS verwenden, müssen Sie den Kerberos-Principal-Namen exakt so eingeben, wie er im KERB-Segment der RACF-Benutzer-ID erscheint. Das Kennwort muss für den Befehl kinit vollständig in Großbuchstaben eingegeben werden, sofern nicht für RACF Kennwörter mit gemischter Groß-/Kleinschreibung aktiviert sind.

Ergebnisse

Sie haben einen Java-Client für die Kerberos-Authentifizierung konfiguriert.

Zur Vervollständigung Ihrer Kerberos-Konfiguration auf der Serverseite können Sie die Administrationskonsole oder wsadmin-Befehle nutzen. Weitere Informationen hierzu enthält der Artikel Kerberos über die Administrationskonsole als Authentifizierungsverfahren konfigurieren bzw. der Artikel zu Befehlen für die Kerberos-Authentifizierung.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_kerb_auth_client
Dateiname:tsec_kerb_auth_client.html