Hilfe zur Anwendung

Message type: E = Error

Message class: SPN - SPnego

Message number: 004

Message text: Hilfe zur Anwendung

Kerberos-Dienste mit SPNego in AS ABAP konfigurieren


&SHORTTEXT&
SPNego-Konfiguration


&USE&
SAP NetWeaver Application Server (SAP NetWeaver AS) ABAP unterstützt
Kerberos mit dem Simple and Protected GSS API Negotiation Mechanism
(SPNego), um Authentifizierung mit Web-Clients wie Web-Browsern zu
ermöglichen.


&RESTRICTIONS&
SPNego bietet keine Transport Layer Security. SAP empfiehlt Ihnen,
Mechanismen für die Transport Layer Security zu verwenden, z.B. Secure
Socket Layer (SSL) oder Transport Layer Security (TLS), um die
Vertraulichkeit und Integrität der Kommunikation mit dem SAP NetWeaver
AS ABAP sicherzustellen.


&INTEGRATION&
Kerberos-Authentifizierung erfordert mehrere Systeme in Ihrer
Landschaft, die das Ergebnis für den Benutzer transparent aushandeln.
Web-Client
Der Web-Client fordert einen Service oder eine Ressource vom SAP
NetWeaver AS ABAP an und authentifiziert sich am Kerberos Key Distr
ibution Center. Benutzer verwenden beispielsweise einen Web-Browser als
Web-Client, um auf Web-Anwendungen, die auf dem SAP NetWeaver AS ABAP
laufen, zuzugreifen. Der Browser des Benutzers muss SPNego unterstützen.
Kerberos Key Distribution Center (KDC)
SAP NetWeaver AS ABAP verwendet den
Single-Sign-On-Authentifizierungsmechanismus, der beispielsweise in
Microsoft Windows 2003 und höher integriert ist. Der Microsoft Windows
Domain Controller (DC) dient als KDC, das Microsoft Windows die
integrierte Authentifizierung in einer Microsoft Windows-Domäne
ermöglicht. Es authentifiziert den Benutzer und stellt ein Token aus,
das für die Kommunikation zwischen dem AS ABAP und dem Web-Client des
Benutzers verwendet wird.
SAP NetWeaver AS ABAP


&PREREQUISITES&
Die folgenden Voraussetzungen müssen für die Konfiguration von SPNego
für ABAP erfüllt werden:
Sie besitzen ein Administrationskonto im Active Directory.
Sie haben eine Lizenz für SAP Single-Sign-On 2.0 oder höher.
Sie haben die Secure Login Library installiert oder Sie verwenden die
SAP Cryptographic Library (siehe SAP-Hinweis 1848999).
Sie haben SNC so konfiguriert, dass die Zuordnung von SNC-Namen auf dem
Register <ZH>SNC</> <DS:TRAN.SU01>Benutzerpflege</> (Transaktion SU01)
möglich ist.
Sie verwenden einen Browser, der SPNego unterstützt.
(Optional) Sie verwenden SSL/TLS für die Transport Layer Security.

Das System gibt eine Fehlermeldung aus und erlaubt Ihnen nicht, mit dieser Transaktion fortzufahren, bis der Fehler behoben ist.



&FEATURES&
Die SPNego-Konfiguration ermöglicht es Ihnen, neue symmetrische
Schlüssel mit einem Kerberos-Dienstnamen und Kennwort zu pflegen und
abzuleiten. Sie verwenden die Kerberos-Dienste, die Sie aus den
Keytab-Dateien im Active Directory abrufen. Sie können eine Keytab-Datei
konfigurieren, indem Sie entweder die Keytab-Dateien mit den
Kerberos-Diensteinträgen importieren und sichern oder indem Sie den
Kerberos Principal Name und das Kennwort angeben. Sie können diese
Keytab-Datei für Kerberos-basierte SNC und SPNego verwenden. Sie können
das Kennwort ändern, das umgerechnet wird als Hash-Wert mit dem
Kerberos-Dienstnamen als ein Salt-Wert gemäß der gewählten
Verschlüsselungsalgorithmen. Dieser Prozess leitet einen neuen
symmetrischen Schlüssel ab.
SPNego erhält die Kerberos-User-Principals und die zugehörigen Service
Principal Names aus dem Active Directory vom Microsoft Windows Domain
Controller. In der Konsistenzprüfung können Sie überprüfen, ob diese
Zuordnung eindeutig ist, können auch einen Token anlegen und überprüfen,
um nachzuweisen, dass die Authentifizierung mit SPNego möglich ist, wenn
SAP GUI in der Domäne des Kerberos-User-Principal ist.


Wie kann das passieren?

Wenn Sie beispielsweise ein Kerberos Key Distribution Center in einem
Microsoft Windows 2003 Domain Controller konfigurieren, das den Active
Directory Server verwendet, gehen Sie wie folgt vor:
Annahmen
Das KDC ist ein Microsoft Windows 2003 Active Directory Server.
Der Microsoft-Windows-Domänenname ist <LS>IT.CUSTOMER.DE</>.
Der voll qualifizierte Hostname des AS ABAP ist <LS>hades.customer.de</>
.
AS ABAP hat einen zusätzlichen Alias <LS>su3x24.customer.de</> und die
dazugehörige System-ID ist <ZK>AB1</>.
Konfigurationsschritte auf dem Domain Controller
Legen Sie einen Service-Benutzer <LS>KERBEROSAB1</> an. Sie können auch
einen anderen
Service-Benutzer verwenden. SAP empfiehlt Ihnen, nicht die SAPService<(>
<<)>SID> zu verwenden, weil die Option
<ZH>Kennwort läuft nie ab</> standardmäßig nicht für diesen Benutzer
gesetzt ist. Wenn das Kennwort für diesen Benutzer abgelaufen ist,
schlägt Single Sign-On fehl.
Aktivieren Sie für diesen Benutzer die Option <ZH>Kennwort läuft nie ab
</>.
Registrieren Sie die Service-Principal-Namen (SPNs) für den
Service-Benutzer <LS>KERBEROSAB1</> für den AS-ABAP-Hostnamen und alle
Aliasnamen. Stellen Sie sicher, dass die SPNs eindeutig sind. Sie können
die Service-Principal-Namen mithilfe des Active Directory registrieren
oder Sie verwenden dafür den Befehl <ZK>setspn</> wie in dem folgenden
Beispiel:
<NP>setspn -A HTTP/hades.customer.de IT.CUSTOMER.DE\KERBEROSAB1</>
<NP>setspn -A HTTP/su3x24.customer.de IT.CUSTOMER.DE\KERBEROSAB1</>
Dadurch werden beide Aliasnamen <ZK>hades.customer.de</> und <ZK>
su3x24.customer.de</> als SPNs registriert und mit dem AS
ABAP-Servicebenutzer im Microsoft Windows Domain Controller verknüpft.
Sie prüfen die Assoziation zwischen dem AS ABAP-Servicebenutzer und dem
Service-Principal-Namen, indem Sie einen der folgenden Befehle
verwenden:
Im Client finden Sie leicht heraus, welcher Servicebenutzer welchem
Service-Principal-Namen zugewiesen ist, indem Sie den folgenden Befehl
in der Domäne des Servicebenutzers verwenden:
<NP>setspn -L KerberosAB1</>
Um das Ergebnis der Konfiguration auf der Seite des
Service-Principal-Namens zu überprüfen, geben Sie in der Befehlszeile
für jeden von Ihnen registrierten SPN zum Beispiel folgenden Befehl ein:
<NP>ldifde -r serviceprincipalname=HTTP/hades.customer.de -f out.ldf</>
Die Ausgabe dieses Befehls (<NP>out.ldf</>) ist ein Eintrag, der auf den
zuvor angelegten Service-Benutzer (<LS>KERBEROSAB1</>) zeigt.
Um eine Keytab-Datei für Kerberos-basierte SNC und SPNego in Ihrem
Microsoft Windows Domain Controller anzulegen, gehen Sie folgendermaßen
vor:
1.,,Legen Sie eine Keytab-Datei mithilfe des Active Directory an.
Weitere Informationen finden Sie in der Microsoft-Dokumentation.


Wie behebe ich diesen Fehler?

Um die Authentifizierung mit SPNego für APAB zu ermöglichen, setzen Sie
die folgenden Profilparameter:
<DS:PP.SPNEGO/ENABLE>spnego/enable</>
<DS:PP.SPNEGO/KRBSPNEGO_LIB>spnego/krbspnego_lib</>
<DS:PP.SPNEGO/CONSTRUCT_SNC_NAME>spnego/construct_SNC_name</>
Führen Sie die folgenden Schritte aus:
1. Starten Sie die Transaktion <DS:TRAN.RZ10>RZ10</>.
2. Wählen Sie das Standard- oder Instanzprofil aus.
3. Wählen Sie die Profilparameter und geben Sie die zugehörigen Daten
ein.
Setzen Sie <ZK>spnego/enable</> auf den Wert 1.
Setzen Sie <ZK>spnego/krbspnego_lib</> auf die Kerberos-Bibliothek (SAP
Cryptographic Library oder Secure Login Library von SAP Single Sign-On
2.0).
Wert: <NP><(><<)>Pfad_zu_Kerberos_Bibliothek></>
Setzen Sie <ZK>spnego/construct_SNC_name</> auf den Wert 111. Weitere
Information finden Sie unter <DS:PP.SPNEGO/CONSTRUCT_SNC_NAME>
spnego/construct_SNC_name</>.
HINWEIS
Verwenden Sie die Datei <ZK>libsapcrypto.so</> oder <ZK>sapcrypto.dll</>
von SAP Single-Sign-On 2.0 oder höher. HP-UX verwendet <ZK>
libsapcrypto.sl.</> Der Dateiname hängt vom Betriebssystem ab.
4. Sichern Sie Ihre Änderungen.
5. Starten Sie das System neu, um das Lesen der Profilparameter zu
aktivieren.
Um eine SPNego-Trust-Konfiguration zu konfigurieren, gehen Sie
folgendermaßen vor:
1. Starten Sie <DS:TRAN.SPNEGO>SPNego-Konfiguration</>.
2. Wählen Sie <ZH>Bearbeiten</>.
3. Bestätigen Sie den Lizenzausschluss.
Sie legen eine Keytab-Datei für Kerberos-basierte SNC und SPNego an und
fügen einen Kerberos-User-Principal hinzu, indem Sie folgende Schritte
ausführen:
1.,,Wählen Sie <ZH>Hinzufügen</>.
2.,,Geben Sie den Kerberos User Principal Name ein.
Format:
<NP><(><<)>SAM_Kontoname>@<(><<)>WINDOWS-2000-DOMÄNE-IN-GROSSBUCHSTABEN>
</>
Beispiel:
<NP>AD_KerbAdminABC@IT.CUSTOMER.DE</>
HINWEIS
Das Kerberos-Servicekonto berücksichtigt Groß- und Kleinschreibung, aber
die Microsoft-Windows-Domäne wird immer in Großbuchstaben geschrieben.
3.,,Geben Sie das Kennwort ein und bestätigen Sie es.
4.,,Wählen Sie die von Ihnen für diese HTTP-Verbindung gewünschten
Verschlüsselungsalgorithmen.
5.,,Wählen Sie <ZH>Weiter (Enter)</>.
6.,,Sichern Sie Ihre Änderungen.
(Optional) Wenn sich der Kerberos-User-Principal-Name in einer
Keytab-Datei befindet, importieren Sie die Keytab-Datei.
1. Wählen Sie die Drucktaste <ZH>Keytab-Datei importieren</>.
2. Wählen Sie Ihre Keytab-Datei.
3. Wählen Sie <ZH>Öffnen</>.
4. Eine Dialogbox zeigt eine Liste der Kerberos-Dienstnamen mit ihren
Verschlüsselungsalgorithmen an.
5. Wählen Sie den Kerberos-Dienstnamen aus, den Sie importieren möchten.
6. Wählen Sie <ZH>Weiter (Enter)</>.
7. Sichern Sie Ihre Änderungen.
Wenn Sie das Key Distribution Center und die Trust-Konfiguration
konfiguriert haben, können sich Ihre Benutzer bei Microsoft Windows
anmelden und sich im AS ABAP authentifizieren, wenn SAP Single-Sign-On
bereits für die SNC-basierte Authentifizierung verwendet wird. Falls
dies nicht der Fall ist, müssen Sie die SNC-Zuordnung pflegen. Sie
brauchen den Anwendungsserver nicht erneut zu starten, wenn die
Bibliothek aktualisiert oder zum ersten Mal konfiguriert wurde. Warten
Sie zwei Minuten lang, bis alle Instanzen den Import erhalten haben.
Vorausgesetzt, dass Ihr Browser für SPNego konfiguriert ist, fordert Ihr
Browser ein SPNego-Token aus dem Active Directory an, wenn Benutzer auf
einen AS ABAP zugreifen. Der AS ABAP führt ein Parsing für das Token
durch und validiert es.
Das Token enthält den Kerberos Principal Name (KPN), der nicht mit dem
ABAP-Benutzernamen übereinstimmt. Der Kerberos Principal Name aus dem
Active Directory hat das folgende Format:
Beispiel:
<NP>Smith@IT.CUSTOMER.DE</>
Während der Authentifizierung muss der Kerberos-Principal-Name in einen
SNC-Namen konvertiert werden. Standardmäßig fügt die Konvertierung das
Präfix <NP>p:CN=</> hinzu und setzt den Kerberos-Principal-Namen in
Großbuchstaben.
Beispiel:
<NP>Smith@IT.CUSTOMER.DE</> (Kerberos-Principal-Name)
<NP>p:CN=SMITH@IT.CUSTOMER.DE</> (konvertiert in einen SNC-Namen)
Sie können die Konvertierungsregel im Profilparameter
<DS:PP.SPNEGO/CONSTRUCT_SNC_NAME>spnego/construct_SNC_name</>
konfigurieren.
1. Führen Sie eine Benutzerzuordnung mit der <DS:TRAN.SU01>
Benutzerpflege</> (Transaktion SU01 im Register <ZH>SNC</>) durch.


Vorgehensweise für Systemadministratoren

Um SPNego-Authentifizierungsfehler zu analysieren, verwenden Sie die
SPNego-Tracing-Funktion, in dem Sie Springen -> SPNego-Tracing wählen.
Weitere Informationen finden Sie den SAP-Hinweisen 1732610 und 1819808.


&PREREQUISITES&
·,,Alle Server, beispielsweise von Dialoginstanzen, Web Dispatcher oder
Proxies, werden als Service-Principal-Namen gelistet.
·,,Jeder Service-Principal-Name ist genau einem
Kerberos-User-Principal-Namen zugewiesen.
Mithilfe einer Konsistenzprüfung finden Sie heraus, ob eine
Authentifizierung möglich ist. Diese Prüfung prüft die Konfiguration und
ermittelt, ob ein Service-Principal-Name nur einem
Kerberos-User-Principal-Namen zugeordnet ist. Sie legt einen
Kerberos-Token an und überprüft ihn. Während der Konsistenzprüfung prüft
das Frontend-Control das Kennwort des User-Principal-Namens und
versucht, einen Kerberos-Token aus dem Active Directory für SPNego
anzulegen. Damit ist nachgewiesen, dass Kerberos-Authentifizierung mit
SPNego funktioniert. Die Konsistenzprüfung prüft immer alle
Service-Principal-Namen.
Das grüne Kennzeichen in der Spalte <ZH>User-Principal-Eindeutigkeit</>
für den Service-Principal-Namen bedeutet, dass die Zuordnung von einem
Service-Principal-Namem zu einem Kerberos-User-Principal-Namen eindeutig
ist.
Das grüne Kennzeichen in der Spalte <ZH>Token-Prüfung</> gibt an, dass
die Token-Prüfung erfolgreich ausgeführt wurde.


Wie behebe ich diesen Fehler?

1.,,Starten Sie <ZH>SPNego-Konfiguration</>.
2.,,Wählen Sie das Register <ZH>Service-Provider-Name</>.
3.,,Wählen Sie die Drucktaste <ZH>Konsistenzprüfung</>.
Ergebnis
Wenn das Kennzeichen in der Spalte <ZH>User-Principal-Eindeutigkeit</>
grün ist, ist die Zuordnung von einem Service-Principal-Namen zu einem
Kerberos-User-Principal-Namen eindeutig. Wenn Sie einen Token angelegt
haben und eine erfolgreiche Token-Verifizierung durchgeführt haben,
zeigt die Spalte <ZH>Token-Prüfung</> ein grünes Kennzeichen in der
Zeile des von Ihnen gewählten Service-Principal-Namens an.
Wenn die Token-Verifizierung nicht erfolgreich war, ist das Kennzeichen
rot.
Weitere Informationen finden Sie in der Prozessübersicht des
entsprechenden Servers in der Transaktion <DS:TRAN.SM50>SM50</>.
Wenn beide Kennzeichen grün sind, ist die Authentifizierung mit SPNego
möglich.


&SEE_ALSO&
Weitere Informationen zur Benutzerzuordnung finden Sie im SAP Help
Portal unter <ZK>SAP NetWeaver -> Hilfe zur Anwendung->
SAP-NetWeaver-Bibliothek: Funktionsorientierte Sicht -> Sicherheit ->
Sicherheit des Netzwerks und Transport Layer Security -> AS ABAP für
SSL-Unterstützung konfigurieren -> Konfiguration der
Kommunikationspartner für die Verwendung von SNC -> Sonderfälle ->
Single Sign-On mit Microsoft Kerberos SSP -> Mapping Windows to SAP
Users for Kerberos SSO</>.
Detaillierte Dokumentation zu dieser Transaktion und allgemeine
Informationen zu Kerberos finden Sie unter <ZK>
Kerberos-Authentifizierung</> auf <ZK>help.sap.com</>.
Weitere Informationen zur Authentifizierung mit Anmeldeverfahren finden
Sie im SAP Help Portal unter <ZK>SAP NetWeaver -> Hilfe zur Anwendung->
SAP-NetWeaver-Bibliothek: Funktionsorientierte Sicht ->Application
Server -> Application Server Infrastruktur -> Connectivity ->
Komponenten der SAP-Kommunikationstechnologie -> Internet Communication
Framework -> Serve-Side Development -> ICF-Service anlegen und
konfigurieren -> Service anlegen -> Anmeldeverfahren pflegen -> Standard
Login Order or Alternative Logon Order.</>
Weitere Informationen zur Kerberos-Authentifizierung finden Sie im SAP
Help Portal unter <ZK>SAP NetWeaver -> Hilfe zur Anwendung->
SAP-NetWeaver-Bibliothek: Funktionsorientierte Sicht -> Sicherheit ->
Benutzerauthentifizierung und Single Sign-On -> Integration in Single
Sign-On (SSO) Environments -> Single Sign-On für Web-basierten Zugriff
-> Kerberos-Authentifizierung verwenden</>.

Fehlermeldungsextrakt aus SAP-System. Copyright SAP SE