Dieses Kapitel behandelt folgende Themen:
Der Natural RPC unterstützt auch Natural Security in Client/Server-Umgebungen, wobei Security auf einer (oder beiden) Seiten aktiv sein kann.
Allgemeine Informationen finden Sie in der Natural Security-Dokumentation.
Informationen darüber, wie Sie die Verwendung von Natural RPC-Aufrufen (Remote Procedure) in einer Client/Server-Umgebung kontrollieren können, finden Sie unter Protecting Natural RPC Servers and Services in der Natural Security-Dokumentation.
Der Client muss die Anmeldedaten zusammen mit der RPC-Anforderung senden. Die Anmeldedaten bestehen aus Benutzerkennung, Passwort und Library.
Benutzerkennung und Passwort oder Passwortphrase werden zur Authentifizierung des Clients auf der Natural RPC Server-Seite verwendet.
Die Library wird verwendet, um eine durch Natural Security geschützte Anmeldung bei der angeforderten Library durchzuführen.
Die folgenden Ausführungen gelten nur für Natural RPC-Clients. Für EntireX RPC-Clients, die auf einen durch Natural Security geschützten Natural RPC Server zugreifen, lesen Sie bitte die Dokumentation des EntireX Developer's Kit.
Um Anmeldedaten an den Natural RPC Server zu senden, muss die Logon-Option verwendet werden. Siehe Betrieb einer Natural RPC-Umgebung , Logon-Option benutzen. Die Teile der Logon-Daten werden wie folgt aufgebaut:
Die Benutzerkennung und das Passwort oder die Passwortphrase:
Die Benutzerkennung und das Passwort oder die Passwortphrase aus der Natural Security-Anmeldung beim Client werden verwendet und an den Natural RPC Server weitergegeben.
Wenn Sie eine andere Benutzerkennung und/oder ein anderes Passwort oder
Passwortphrase für die Natural Security-Anmeldung auf der Server-Seite verwenden
wollen, können Sie die Anwendungsprogrammierschnittstelle USR1071N (für Passwörter mit bis
zu 8 Zeichen) oder die Anwendungsprogrammierschnittstelle USR9171N (für Passwortphrasen mit 9
bis 128 Zeichen) verwenden.
Anmerkung
Sie können die Verwendung von USR1071N oder USR9171N im Teil Natural RPC Restriktionen der
Session
Parameters-Restriktionen des Natural Security
Library-Profils unterbinden.
Um die Benutzerkennung und das Passwort oder die Passwortphrase festzulegen, die an
den Natural RPC Server übergeben werden, muss der Client die
Anwendungsprogrammierschnittstelle USR1071N (für Passwörter mit bis zu 8 Zeichen) oder die
Anwendungsprogrammierschnittstelle USR9171N (für Passwortphrasen mit 9 bis 128 Zeichen)
aufrufen, bevor die erste RPC-Anforderung gesendet wird.
Die Library:
Standardmäßig wird der Name der Library verwendet, bei der der Client gerade
angemeldet ist. Wenn Sie dem Natural RPC Server einen anderen Library-Namen
übergeben möchten, können Sie die Anwendungsprogrammierschnittstelle USR4008N verwenden.
Wenn für den Natural RPC Server Impersonation ohne Passwortprüfung aktiviert ist (das
Feld Impersonation im Abschnitt Components of an RPC Server
Profile in der Natural Security-Dokumentation ist auf
A gesetzt), kann der Client optional eine ETID an den Natural RPC Server
übergeben. Diese ETID wird vom Natural RPC Server für den Zugriff auf Adabas seitens des
Clients verwendet. Um eine ETID auf der Natural RPC-Client-Seite anzugeben, können Sie
die Anwendungsprogrammierschnittstelle USR4371N verwenden.
Die Anwendungsprogrammierschnittstelle USR1071N ist in der Library
SYSEXT enthalten. Sie wird verwendet, um die Benutzerkennung und das
Passwort (mit bis zu 8 Zeichen) anzugeben, die an den Natural RPC Server übergeben
werden.
Um USR1071N zu verwenden:
Kopieren Sie das Subprogramm USR1071N und das Programm
USR1071P aus der Library SYSEXT in die Library
SYSTEM in der Systemdatei FNAT in der Serverumgebung
(siehe Eine
Natural API verwenden in the SYSEXT
Utility-Dokumentation).
Geben Sie mit einem DEFINE
DATA-Statement die folgenden Parameter an:
| Parameter | I/O | Format | Beschreibung | |
|---|---|---|---|---|
USERID |
I | A08 | Zu verwendende Benutzerkennung. | |
PASSWORD |
I | A08 | Passwort zur Validierung der Benutzerkennung. Dieses Passwort wird nicht auf der Client-Seite validiert. | |
MIXEDCASE |
I | A01 | Option für gemischte Groß- und Kleinschreibung beim Passwort (optional). | |
Y |
Passwort in gemischter Groß-/Kleinschreibung zulassen. | |||
N |
Passwörter in Großbuchstaben umwandeln. | |||
Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:
FETCH RETURN 'USR1071P' USERID PASSWORD
[MIXEDCASE]
Alternativ können Sie USR1071P auch über die Kommandozeile aufrufen und
Benutzerkennung und Passwort in das angezeigte Fenster eingeben.
Eine ausführliche Beschreibung finden Sie im Textobjekt USR1071T in der
System Library SYSEXT.
Anmerkung:
Für den Aufruf von USR1071N stehen zwei Beispiele zur Verfügung:
USR1071P, bei dem nur Benutzerkennung und Passwort übergeben werden, und
USR1071X (erweiterte Version), die es dem Benutzer zusätzlich ermöglicht,
verschiedene Daten zu setzen/abzurufen.
Die Anwendungsprogrammierschnittstelle USR4371N wird in der Library
SYSEXT bereitgestellt. Sie dient zur Angabe der Benutzerkennung und der
ETID, die an den Natural RPC Server übergeben werden.
Um USR4371N zu verwenden:
Kopieren Sie das Subprogramm USR4371N und das Programm
USR4371P aus der Library SYSEXT in die Library
SYSTEM in der Systemdatei FNAT in der Client-Umgebung
(siehe Eine
Natural API verwenden in der SYSEXT
Utility-Dokumentation).
Geben Sie mit einem DEFINE
DATA-Statement die folgenden Parameter an:
| Parameter | I/O | Format | Beschreibung |
|---|---|---|---|
USERID |
I | A08 | Zu verwendende Benutzerkennung. |
ETID |
I | A08 | Zu verwendende ETID. |
Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:
FETCH RETURN 'USR4371P' USERID ETID
Alternativ können Sie USR4371P auch über die Kommandozeile aufrufen und im
angezeigten Fenster die Benutzerkennung und ETID eingeben.
Eine ausführliche Beschreibung finden Sie in dem Textobjekt USR4371T in
der System Library SYSEXT, indem Sie die Utility SYSEXT
benutzen..
Die Anwendungsprogrammierschnittstelle USR9171N wird in der Library
SYSEXT bereitgestellt. Sie dient zur Angabe der Benutzerkennung und der
Passwortphrase, die an den Natural RPC Server übergeben werden.
Um USR9171N zu verwenden:
Kopieren Sie das Subprogramm USR9171N und das Programm
USR9171P aus der Library SYSEXT in die Library
SYSTEM in der Systemdatei FNAT in der Server-Umgebung
(siehe Eine
Natural API verwenden in der SYSEXT
Utility-Dokumentation).
Geben Sie mit einem DEFINE
DATA-Statement im USR9171N die folgenden
Parameter an:
| Parameter | I/O | Format | Beschreibung | |
|---|---|---|---|---|
USERID |
I | A32 | Benutzerkennung, die verwendet werden soll. | |
PASSWORD_PHRASE |
I | A128 | Groß-/Kleinschreibung berücksichtigende
Passwortphrase, die zur Validierung der Benutzerkennung verwendet wird.
Auf der Client-Seite wird diese Passwortphrase nicht validiert. |
|
MSG-TEXT |
O | A79 | Nachrichtentext, wenn
PRC nicht 0 ist.
|
|
PRC |
O | N04 | Rückgabewert: | |
0 |
In Ordnung. | |||
4 |
Interner Fehler. | |||
2x |
Fehler bei Schreib-Behandlung. | |||
3x |
Fehler bei Lese-Behandlung. | |||
9999 |
Ungültiger Funktionscode. | |||
Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:
FETCH RETURN 'USR9171P' USERID PASSWORD_PHRASE PRC
Alternativ können Sie USR9171P auch über die Kommandozeile aufrufen und im
angezeigten Fenster USERID und
PASSWORD_PHRASE eingeben.
Eine ausführliche Beschreibung finden Sie in dem Textobjekt USR917T in der
System Library, indem Sie die SYSEXT Utility benutzen.
Wenn Natural Security auf der Server-Seite installiert ist und AUTO
nicht angegeben ist, ist eine Natural-Anmeldung mit Benutzerkennung und
Passwort erforderlich. Es wird empfohlen, den Natural-Profilparameter STACK zu verwenden, um das
Natural-Systemkommando LOGON zu übergeben.
Wenn AUTO=ON angegeben ist, wird der Inhalt der Systemvariablen *INIT-USER
wie üblich für eine interne Anmeldung verwendet.
Um die Logon-Option zu erzwingen - d.h. wenn Sie wollen, dass ein Server nur
Anforderungen von Clients akzeptiert, bei denen die Logon-Option gesetzt ist - setzen
Sie den Schlüsselwort-Subparameter LOGONRQ des Profilparameters RPC oder des
Parameter-Makros NTRPC für den Server auf ON.
Wenn die Logon-Option nicht erzwungen wird, werden Client-Anforderungen ohne Logon-Daten akzeptiert und in der Server Library oder einer ihrer Steplibs ausgeführt. So können Sie sowohl öffentliche (Public) als auch gesicherte (Secured) Dienste anbieten.
Wenn der Client Anmeldedaten übermittelt, werden die Benutzerkennung und das Passwort des Clients anhand des entsprechenden Benutzer-Sicherheitsprofils auf dem Server überprüft, und die Anmeldung bei der angeforderten Library und die Ausführung des Subprogramms erfolgen gemäß den entsprechenden Definitionen der Natural Security Library und des Benutzerprofils auf dem Server.
Nach der Ausführung des Subprogramms wird die Library, die vor der
CALLNAT-Anforderung verwendet wurde, auf dem Server wieder aktualisiert. Im
Falle eines konversationellen RPC setzt die erste CALLNAT-Anforderung
innerhalb der Konversation die Library-Kennung auf dem Server, und das Statement
CLOSE CONVERSATION setzt die Library-Kennung auf dem Server auf diejenige
zurück, die vor der Eröffnung der Konversation verwendet wurde.
Als Teil der Natural RPC
Restrictions in den Library Profiles von Natural Security wird
eine Server-Session-Option Close all databases angeboten. Sie bewirkt, dass
alle Datenbanken, die von Remote-Subprogrammen in der Library geöffnet wurden,
geschlossen werden, wenn eine Natural-Anmeldung/Abmeldung an/von den Librarys erfolgt.
Dies bedeutet, dass jeder Client seine eigene Datenbank-Sitzung verwendet.
Wenn die Option Close all databases gesetzt ist, ist es auch möglich, eine
Client-spezifische ETID für alle Adabas-Zugriffe zu verwenden, die vom Server für diesen
Client ausgeführt werden. In diesem Fall sollten Sie den Natural RPC Server mit
ETID=OFF starten und für jeden Client, der eine ETID benötigt, eine
entsprechende ETID im Benutzerprofil definieren, z.B. durch Angabe der ETID
*USER. Bitte beachten Sie, dass in diesem Fall zwei Clients mit demselben
Namen nicht zwei gleichzeitige Anforderungen mit Adabas-Aufrufen stellen können.
Es ist möglich, das Natural Security-Passwort auf dem Natural RPC Server über ein
Natural RPC Service Request zu ändern. Zu diesem Zweck wird in der Library
SYSEXT die Anwendungsprogrammierschnittstelle USR2074N
bereitgestellt.
Um USR2074N zu nutzen:
Kopieren Sie das Subprogramm USR2074N und optional das Programm
USR2074P aus der Library SYSEXT in die Library
SYSTEM oder in die Steplib Library oder in eine beliebige Anwendung
in der Serverumgebung.
Geben Sie mit einem DEFINE
DATA-Statement die folgenden Parameter an:
| Parameter | I/O | Format | Beschreibung | |
|---|---|---|---|---|
USERID |
I | A08 | Zu verwendende Benutzerkennung. | |
PASSWORD |
I | A08 | Passwort zur Validierung der
Benutzerkennung.
Dieses Passwort wird nicht auf der Client-Seite validiert. |
|
NEWPASSWORD |
I | A08 | Neues Passwort für die Benutzerkennung.
Dieses Passwort wird nicht auf der Client-Seite validiert. |
|
NODE-NAME |
I | A192 | Name des zu adressierenden Serverknotens. | |
SERVER-NAME |
I | A32 | Name des zu adressierenden Servers. | |
PROTOCOL |
I | A1 | Transportprotokoll zur Adressierung des Server-Knotens. Gültiger Wert: | |
B |
EntireX Broker | |||
RC |
O | I2 | Rückgabewert: | |
0 |
OK, der Parameter MESSAGE enthält eine
Bestätigungsnachricht.
|
|||
1 |
Fehler vom RPC- oder Server-Knoten, der Parameter
MESSAGE enthält die Fehlermeldung.
|
|||
2 |
Fehler von der Schnittstelle, der Parameter
MESSAGE enthält die Fehlermeldung.
|
|||
3 |
Natural Security-Fehler, der Parameter
MESSAGE# enthält die Natural Fehlernummer und der
Parameter MESSAGE enthält den entsprechenden
Meldungstext.
|
|||
MESSAGE# |
O | N4 | Zurückgegebene Meldungsnummer. | |
MESSAGE |
O | A80 | Zurückgegebener Nachrichtentext. | |
Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:
CALLNAT 'USR2074N' user-id password newpassword node-name
server-name protocol rc message# message
Alternativ können Sie auch das Programm USR2074P aus der Library
SYSEXT verwenden:
Rufen Sie USR2074P über die Kommandozeile auf und geben Sie die
erforderlichen Daten in das angezeigte Fenster ein. In diesem Fall werden alle Eingaben
außer den Passwörtern in Großbuchstaben umgewandelt. Bei den Passwörtern haben Sie die
Möglichkeit, sie in gemischter Groß- und Kleinschreibung einzugeben oder nicht.
Impersonation ist
eine optionale Funktion auf der Natural RPC Server-Seite und ist nur verfügbar, wenn der
Natural RPC Server unter Natural Security läuft. Die Impersonierungsfunktion wird durch
die Sicherheitsprofile für Natural RPC Server gesteuert (Security Profiles for Natural RPC
Servers). Siehe das Feld Impersonation, das unter
der Überschrift Components
of an RPC Server Profile im Abschnitt Protecting Natural RPC Servers and
Services in der Natural
Security-Dokumentation beschrieben ist.
Impersonation im z/OS-Batch-Modus erfordert die Verwendung des Natural RPC Server-Frontends unter z/OS und verwendet die von z/OS bereitgestellte SAF-Schnittstelle.
Wenn Impersonation für den Natural RPC Server aktiv ist, wird eine Anforderung des
Clients, die die Logon-Option
verwendet, aus Sicht des Betriebssystems unter der Benutzerkennung ausgeführt, die der
Client in den LOGON-Daten übergibt (Natural RPC-Benutzerkennung
genannt).
Impersonation setzt voraus, dass der Zugriff auf das Betriebssystem, auf dem ein Natural RPC Server läuft, durch ein SAF-konformes externes Security-System kontrolliert wird. Die Benutzerauthentifizierung (Überprüfung der Natural RPC-Benutzerkennung und des Passworts oder der Passwortphrase) wird von diesem externen Security-System durchgeführt. Nach erfolgreicher Authentifizierung wird die Identität des Benutzers für das Betriebssystem festgestellt (d.h. es wird ein ACEE erstellt und mit der TCB verknüpft, unter der die aktuelle Client-Anforderung ausgeführt wird). Alle nachfolgenden Berechtigungsprüfungen werden auf der Grundlage dieser Identität durchgeführt. Dies bedeutet, dass alle Zugriffe auf Ressourcen, die durch das SAF-konforme externe Security-System kontrolliert werden, für diese Identität autorisiert sind. Dies gilt insbesondere für den Zugriff auf Arbeitsdateien und auf Datenbanken.
Impersonation bewirkt nicht, dass Natural Security ausgeschaltet wird. Nach
erfolgreicher Authentifizierung der Identität des Benutzers durch das externe
Security-System erfolgt eine Natural Security-Anmeldung mit denselben
LOGON-Daten, aber ohne Prüfung des Passworts oder der Passwortphrase.
Wie Sie einen Natural RPC Server mit Impersonation starten, erfahren Sie unter Starten eines Natural RPC Servers über das RPC-Server-Frontend in Starten eines Natural RPC Servers.
Anmerkung
Ohne Impersonation wird eine Client-Anforderung, die die Logon-Option verwendet, aus
Sicht des Betriebssystems mit der Benutzerkennung ausgeführt, unter der der Natural RPC
Server gestartet wurde.
RPC-Server-Frontend installieren
Gehen Sie vor wie in den entsprechenden Schritten der Installationsdokumentation
von Natural for Mainframes beschrieben; siehe Installing Natural on
z/OS.
Natural z/OS-Batch-Nukleus mit der Db2-Schnittstelle DSNRLI verlinken
Dieser Schritt gilt nur für Natural for Db2-Benutzer.
Reentrant Adabas-Batch-Link-Routine ADALNKR anstelle von ADALNK
verwenden
Siehe Besondere Aspekte bei Großrechner-Natural RPC Servers mit
Replikaten in Starten
eines Natural RPC Servers.
EntireX Broker Stub BROKER anstelle von NATETB23 verwenden
Siehe Zugang zum EntireX Broker Stub auf dem Großrechner bereitstellen in Einrichten einer Natural RPC-Umgebung.
Alle erforderlichen RPC-Server-spezifischen Natural-Profilparameter
definieren
Siehe RPC-Server-spezifischen Natural-Parameter setzen
in Einrichten einer Natural
RPC-Umgebung.
Die Parameter werden entweder im Natural-Parameter-Modul oder im
CMPRMIN-Dataset definiert. Der Parameter PARM= der JCL
EXEC-Anweisung wird nicht verwendet, um Natural-Profilparameter
bereitzustellen.
RPC-Server-Profil in Natural Security definieren
Definieren Sie in Natural Security (NSC) ein RPC-Server-Profil für den Servernamen,
der vom RPC-Server verwendet wird (SRVNAME), und aktivieren Sie die
Impersonation.
Siehe Security Profiles for Natural RPC Servers in Protecting Natural RPC Servers and Services in der Natural Security-Dokumentation.
SAF-Definitionen prüfen
(Dieser Schritt gilt nur für Natural for Db2-Benutzer.)
Wenn die SAF-Ressourcenklasse DSNR aktiv ist, müssen Sie prüfen, ob
Sie die folgenden SAF-Definitionen benötigen:
RDEFINE DSNR (subsys.RRSAF)
OWNER(Db2owner)
PERMIT subsys.RRSAF CLASS(DSNR)
ID(Db2group) ACCESS(READ)
dabei ist subsys Ihre
Db2-Subsystem-ID.
Jeder Benutzer, der auf Db2 zugreifen möchte, muss Mitglied der Gruppe
Db2group sein.
Weitere Informationen finden Sie in der entsprechenden Db2-Dokumentation von IBM.
User Exit NATRPC02 anlegen
(Dieser Schritt gilt nur für Natural for Db2-Benutzer.)
Legen Sie den Natural RPC User Exit NATRPC02 mit einem Aufruf von
NATPLAN an, um den erforderlichen Db2-Plan zu setzen.
Stellen Sie sicher, dass Sie einen NATPLAN Ihrer aktuellen Natural for
Db2-Version verwenden.
Beispiel NATRPC02:
DEFINE DATA PARAMETER 1 SUBPROGRAM (A8) BY VALUE END-DEFINE FETCH RETURN 'NATPLAN' 'planname'
Natural RPC Server-Frontend starten
Starten Sie das Natural RPC Server-Frontend.
Siehe Starten eines Natural RPC Servers über das RPC-Server-Frontend in Starten eines Natural RPC Servers.
Vergewissern Sie sich, dass Sie alle erforderlichen Load Libraries zu Ihrer Steplib-Verkettung hinzugefügt haben. Sie benötigen insbesondere die folgenden Libraries:
Natural Load Library
EntireX Load Library
Adabas Load Library (wenn Sie die Adabas-Linkroutine ADAUSER
verwenden)
Db2 Load Library (wenn Sie auf Db2 zugreifen wollen)
Impersonation ist erfolgreich aktiviert, wenn Sie die folgenden Meldungen sehen:
Im Job-Protokoll:
RPC0010 Environment for impersonation established
In der RPC-Trace-Datei:
M *** Server is running under NSC with impersonation
Der Client muss die Anmeldedaten zusammen mit der RPC-Anforderung senden, wie es bereits bei einem durch Natural Security (NSC) geschützten Standard Natural RPC Server der Fall ist. Im Gegensatz zu einem Standard Natural RPC Server muss die Benutzerkennung auch eine gültige SAF-Benutzerkennung sein und das Passwort oder die Passwortphrase muss das entsprechende SAF-Passwort sein. Benutzerkennung und Passwort oder Passwortphrase werden vom Natural RPC Server gegen das externe Security-System auf dem z/OS-System validiert, unter dem der Server ausgeführt wird. Nach erfolgreicher Authentifizierung der Client-Identität durch das externe Security-System wird die Benutzerkennung von NSC gemäß den definierten Regeln validiert. Das Passwort wird ignoriert. Es ist daher nicht erforderlich, das NSC-Passwort auf Ihr SAF-Passwort zu setzen.
Wenn das im Abschnitt Components of an RPC Server Profile in der Natural
Security-Dokumentation beschriebene Feld Impersonation auf A
gesetzt ist, wird kein Passwort oder keine Passwortphrase zur Authentifizierung des
Clients gegenüber dem externen Security-System verwendet. Diese Einstellung kann
sinnvoll sein, wenn der Client bereits durch den EntireX Broker authentifiziert
wurde.
Abhängig von der Art des Clients werden die Anmeldedaten unterschiedlich gesetzt:
Logon-Option aktivieren
Aktivieren Sie die Logon-Option in der Funktion Service Directory
Maintenance oder im Schlüsselwort-Subparameter DFS des
Profilparameters RPC oder des Parameter-Makros NTRPC.
Alternativ können Sie USR2007N verwenden, um die Option zu aktivieren.
Siehe Logon-Option benutzen in Betrieb einer Natural RPC-Umgebung .
Benutzerkennung und Passwort festlegen
Legen Sie die SAF-Benutzerkennung und das SAF-Passwort mit der
Anwendungsprogrammierschnittstelle USR1071P oder oder die Passwortphrase mit der
Anwendungsprogrammierschnittstelle USR9171N fest.
Wenn Ihr Client unter Natural Security (NSC) läuft und die Benutzerkennung und
das Passwort von NSC mit der SAF-Benutzerkennung und dem SAF-Passwort identisch
sind, ist USR1071P nicht erforderlich.
Aktivieren Sie die Natural Logon-Option entsprechend Ihrer Anwendungsumgebung.
Setzen Sie die RPC-Benutzerkennung und das RPC-Passwort auf die SAF-Benutzerkennung und das SAF-Passwort entsprechend Ihrer Anwendungsumgebung.
Die Impersonation findet zu Beginn jedes nicht-konversationellen
CALLNAT und zu Beginn jeder Konversation statt.
Die Authentifizierung von Natural RPC-Benutzerkennung und -Passwort oder
Passwortphrase wird durch das externe Security-System durchgeführt. Das Passwort
oder die Passwortphrase in der FSEC-Systemdatei wird nicht
verwendet.
Nach erfolgreicher Authentifizierung wird die Natural RPC-Benutzerkennung für das Betriebssystem eingerichtet (der Benutzer wird impersoniert).
Nach erfolgreicher Impersonierung:
Für die Natural RPC-Benutzerkennung wird eine Natural Security-Anmeldung ohne Prüfung des Passworts oder der Passwortphrase durchgeführt.
Alle Arbeitsdateien mit einem DDNAME, der nicht mit
CM beginnt, werden mit der Natural RPC-Benutzerkennung
geöffnet.
Alle Adabas-Datenbanken werden mit der Natural RPC-Benutzerkennung geöffnet (gilt nur bei externer Adabas Security).
Wenn im NSC-Benutzerprofil eine ETID angegeben ist, wird diese
ETID in der Adabas-Open-Anforderung verwendet.
Die Db2-Verbindung wird mit der Natural RPC-Benutzerkennung geöffnet (gilt nur für Natural for Db2-Benutzer).
Am Ende jedes nicht-konversationellen CALLNAT und am Ende jeder
Konversation wird die Natural RPC-Benutzerkennung beim Betriebssystem
abgemeldet.
Nach der Abmeldung:
Alle Arbeitsdateien mit einem DDNAME, der nicht mit
CM beginnt, werden geschlossen.
Alle Adabas-Datenbanken werden geschlossen.
Die folgenden Themen werden behandelt:
Schritte zur Aktivierung der Impersonation unter CICS (Server-Seite)
Schritte zur Verwendung von Impersonation unter CICS (Client-Seite)
Impersonation ist
eine optionale Funktion auf der Natural RPC Server-Seite und ist nur verfügbar, wenn der
Natural RPC Server unter Natural Security läuft. Die Impersonierungsfunktion wird durch
die Sicherheitsprofile für Natural RPC Server gesteuert. Siehe Security Profiles for Natural RPC
Servers) und das Feld Impersonation, das unter der
Überschrift Components of
an RPC Server Profile im Abschnitt Protecting Natural RPC Servers and
Services in der Natural Security-Dokumentation beschrieben
ist.
Impersonation unter CICS erfordert die Verwendung des Natural RPC Server-Frontends unter CICS und verwendet die von CICS bereitgestellte Schnittstelle.
Wenn Impersonation für den Natural RPC Server aktiv ist, wird eine Client-Anforderung, die die Logon-OptionLogon-Option verwendet, aus Sicht von CICS unter der Benutzerkennung ausgeführt, die der Client in den LOGON-Daten übergibt (Natural RPC-Benutzerkennung genannt). Impersonation unter CICS verwendet die CICS-Option, um eine CICS-Task unter einer gegebenen Benutzerkennung zu starten.
Nach Eingang einer Client-Anforderung startet das Natural RPC Server-Frontend eine neue
CICS-Task mit der Option USERID() des Kommandos EXEC CICS
START TRANSID(), wobei USERID die Natural
RPC-Benutzerkennung ist. Die Benutzerauthentifizierung (Überprüfung von Natural
RPC-Benutzerkennung und -Passwort oder Passwortphrase) wird von CICS durchgeführt,
typischerweise unter Verwendung des zugrunde liegenden externen Security-Systems. Nach
erfolgreicher Authentifizierung wird die Identität des Benutzers für die CICS-Task
festgelegt. Alle nachfolgenden Berechtigungsprüfungen werden auf der Grundlage dieser
Identität durchgeführt. Das bedeutet, dass alle Zugriffe auf Ressourcen, die von CICS
kontrolliert werden, für diese Identität autorisiert sind. Dies gilt insbesondere für
Zugriffe auf CICS-Ressourcen und auf Datenbanken. Standardmäßig läuft die neu
eingerichtete CICS-Task mit der gleichen CICS-Transaktionskennung, mit der Sie das
RPC-Server-Frontend gestartet haben. Mit dem User-Exit RPCSFEX1 können Sie
eine auftragsspezifische Transaktionskennung festlegen.
Impersonation bewirkt nicht, dass Natural Security ausgeschaltet wird. Nach
erfolgreicher Authentifizierung der Identität des Benutzers durch CICS erfolgt eine
Natural Security-Anmeldung mit denselben LOGON-Daten ohne Prüfung des
Passworts oder der Passwortphrase.
Wie Sie einen Natural RPC Server mit Impersonation starten, erfahren Sie unter Starten eines Natural RPC Servers über das RPC-Server-Frontend in Starten eines Natural RPC Servers.
Anmerkung
Ohne Impersonation wird eine Client-Anforderung, die die Logon-Option verwendet, aus
Sicht des Betriebssystems mit der Benutzerkennung ausgeführt, mit der der Natural RPC
Server gestartet wurde.
RPC-Server-Frontend installieren
Gehen Sie vor wie in den entsprechenden Schritten der Installationsdokumentation
von Natural for Mainframes beschrieben; siehe Installing the Natural CICS Interface
on z/OS.
Adabas-Link-Routine für Adabas External Security installieren
Weitere Informationen finden Sie in der entsprechenden Adabas-Dokumentation (gilt
nur für Benutzer der externen Security von Adabas).
EntireX Broker Stub CICSETB anstelle von NATETB23
verwenden
Siehe
Zugang zum EntireX Broker Stub auf dem Großrechner bereitstellen
in Einrichten einer
Natural RPC-Umgebung.
Alle erforderlichen RPC-Server-spezifischen Natural-Profilparameter
definieren
Siehe
RPC-Server-spezifischen Natural-Parameter setzen in
Einrichten einer Natural
RPC-Umgebung.
Die Parameter werden entweder im Natural-Parameter-Modul oder zusammen mit der Transaktions-ID definiert.
RPC-Server-Profil in Natural Security definieren
Definieren Sie in Natural Security (NSC) ein RPC-Server-Profil für den
Server-Namen, der vom RPC-Server verwendet wird (SRVNAME), und
aktivieren Sie die Impersonation.
Siehe Security Profiles for Natural RPC Servers in Protecting Natural RPC Servers and Services of the Natural Security documentation.
Bei CICS-Startparameter XUSER=YES
Wenn der CICS-Startparameter XUSER=YES angegeben ist, müssen Sie für
jeden Client-Benutzer Ersatzbenutzer (Surrogate) definieren:
RDEFINE SURROGATE userid1.DFHSTART UACC(NONE)
OWNER(userid1) PERMIT
userid1.DFHSTART CLASS(SURROGATE)
ID(userid2) ACCESS(READ)
Dabei ist:
userid1 die Benutzerkennung des Clients,
userid2 die Benutzerkennung, unter der das
Natural RPC Server-Frontend gestartet wird.
Weitere Informationen finden Sie in der entsprechenden CICS-Dokumentation von IBM.
Einen CICS PROGRAM-Eintrag für das RPC-Server-Frontend definieren
Siehe entsprechenden Schritt in Installing the Natural CICS Interface on
z/OS.
Definieren Sie einen CICS TRANSACTION-Eintrag für die Transaktions-ID, die das RPC-Server-Frontend aufruft.
Siehe entsprechenden Schritt in Installing the Natural CICS Interface on z/OS.
Einen DB2TRAN- und DB2ENTRY-Eintrag
definieren
(Dieser Schritt gilt nur für Natural for Db2-Benutzer.)
Define a DB2TRAN and DB2ENTRY entry for the transaction
ID that invokes the RPC server front-end.
Definieren Sie einen DB2TRAN- und DB2ENTRY-Eintrag für
die Transaktions-ID, die das RPC-Server-Frontend aufruft. Starten Sie den
Roll-Server
Den Roll Server starten
Starten Sie den Roll Server für das vom Natural RPC Server
verwendete Subsystem.
(Dieser Schritt gilt nur, wenn der NCMDIR-Makro-Parameter ROLLSRV auf
YES gesetzt ist).
Das Natural RPC Server-Frontend unter CICS starten
Siehe Starten
eines Natural RPC Servers über das RPC-Server-Frontend (nur bei CICS)
in Starten eines Natural
RPC Servers.
Die Impersonation ist erfolgreich aktiviert, wenn Sie die folgende Meldung in der RPC-Trace-Datei sehen:
M *** Server is running under NSC with impersonation
Der Client muss die Anmeldedaten zusammen mit der RPC-Anforderung senden, wie dies bereits bei einem Standard-Natural-RPC-Server mit NSC-Schutz der Fall ist. Im Gegensatz zu einem Standard-Natural-RPC-Server muss die Benutzerkennung auch eine gültige CICS-Benutzerkennung sein und das Passwort oder die Passwortphrase muss das entsprechende Passwort oder die Passwortphrase des externen Security-Systems sein. Benutzerkennung und Passwort oder die Passwortphrase werden von CICS gegen das externe Security-System auf dem z/OS-System, unter dem CICS ausgeführt wird, validiert. Nach erfolgreicher Authentifizierung der Client-Identität durch das externe Security-System wird die Benutzerkennung durch Natural Security gemäß den definierten Regeln validiert. Das Passwort oder die Passwortphrase wird ignoriert. Es ist daher nicht erforderlich, das NSC-Passwort auf Ihr SAF-Passwort zu setzen.
Wenn das Feld Impersonation, das im Abschnitt Components of an RPC Server
Profile in der Natural
Security-Dokumentation beschrieben ist, auf A gesetzt ist, wird
kein Passwort oder keine Passwortphrase verwendet, um den Client gegenüber dem externen
Security-System zu validieren. Diese Einstellung kann sinnvoll sein, wenn der Client
bereits durch den EntireX Broker authentifiziert worden ist.
Je nach Art des Clients werden die Anmeldedaten unterschiedlich eingestellt:
Logon-Option aktivieren
Aktivieren Sie die Logon-Option in der Funktion Service Directory
Maintenance oder im Schlüsselwort-Subparameter DFS des
Profilparameters RPC oder des Parameter-Makros NTRPC.
Alternativ können Sie die Option auch über die Anwendungsprogrammierschnittstelle
USR2007N einschalten.
Siehe Logon-Option benutzen in Betrieb einer Natural RPC-Umgebung .
Benutzerkennung und Passwort festlegen
Legen Sie die Benutzerkennung und das Passwort über die
Anwendungsprogrammierschnittstelle USR1071N fest. Um die Passwortphrase festzulegen müssen
Sie die Anwendungsprogrammierschnittstelle USR9171N verwenden.
Wenn Ihr Client unter Natural Security (NSC) läuft und die Benutzerkennung und das
Passwort von NSC mit der Benutzerkennung und dem Passwort auf der Server-Seite
identisch sind, dann ist USR1071N nicht erforderlich.
Natural-Logon-Option aktivieren
Aktivieren Sie die Natural-Logon-Option entsprechend Ihrer Anwendungsumgebung.
RPC-Benutzerkennung und -Passwort festlegen
Legen Sie die RPC-Benutzerkennung und das RPC-Passwort entsprechend Ihrer
Anwendungsumgebung fest.
Die Impersonation erfolgt zu Beginn jedes nicht-konversationellen
CALLNAT und zu Beginn jeder Konversation.
Der optionale User-Exit RPCSFEX1 wird aufgerufen, um eine anforderungsspezifische
CICS-Transaktionskennung festzulegen.
Die Authentifizierung der Natural RPC-Benutzerkennung und des Passworts oder der
Passwortphrase wird von CICS durchgeführt. Das in der Systemdatei FSEC
gespeicherte Passwort wird nicht verwendet.
Nach erfolgreicher Authentifizierung wird die Natural RPC-Benutzerkennung für CICS eingerichtet (Benutzer wird impersoniert).
Nach erfolgreicher Impersonierung:
Für die Natural RPC-Benutzerkennung wird eine Natural Security-Anmeldung ohne Prüfung des Passworts oder der Passwortphrase durchgeführt.
Der Zugriff auf alle CICS-Ressourcen erfolgt mit der Natural RPC-Benutzerkennung.
Alle Adabas-Datenbanken werden mit der Natural RPC-Benutzerkennung geöffnet (gilt nur bei externer Adabas Security).
Wenn im NSC-Benutzerprofil eine ETID angegeben ist, wird diese
ETID in der Open-Anforderung von Adabas verwendet.
Die Db2-Verbindung wird mit der Natural RPC-Benutzerkennung geöffnet (gilt nur für Natural for Db2-Benutzer).
Am Ende jedes nicht-konversationellen CALLNAT und am Ende jeder Konversation wird die Natural RPC-Benutzerkennung vom CICS abgemeldet.
Nach der Abmeldung:
Alle CICS-Ressourcen werden geschlossen.
Alle Adabas-Datenbanken werden geschlossen.
Die Verbindung zu Db2 wird geschlossen (gilt nur für Natural for Db2-Benutzer).
Standardmäßig ist die CICS-Transaktionskennung, mit der die impersonierte
RPC-Anforderung ausgeführt wird, dieselbe wie die CICS-Transaktionskennung, die zum
Starten des RPC-Server-Frontends verwendet wird. Mit dem User-Exit RPCSFEX1
können Sie eine anforderungsspezifische Transaktionskennung einstellen.
Der User-Exit RPCSFEX1 wird aufgerufen, wenn nach dem Empfang einer
RPC-Anforderung die Anmeldedaten eines Clients ausgewertet werden. Die Anmeldedaten
werden dann verwendet, um die CICS-Transaktionskennung zu setzen, unter der die
impersonierte RPC-Anforderung ausgeführt wird.
You must link RPCSFEX1 to the RPC server front-end for CICS and call the
user exit by using the following standard conventions:
Sie müssen RPCSFEX1 mit dem RPC-Server-Frontend für CICS verlinken und den
User-Exit unter Beachtung der Standardkonventionen aufrufen.
RPCSFEX1 wird unter Beachtung folgender Standardkonventionen
aufgerufen:
| Register | Inhalt |
|---|---|
| 15 | Eintragsadresse von NATSFEX1.
|
| 14 | Rücksprungadresse des Natural RPC Server-Frontend. |
| 13 | Adresse eines Speicherbereichs von 18 Wörtern. |
| 1 | Adresse einer Parameterliste. |
Die Parameterliste enthält die folgenden Adressen:
| Adresse | Parameter | I/O | Natural-Daten Format/Länge |
|---|---|---|---|
| 1 | CICS-Transaktionskennung | I/O | A04 |
| 2 | EntireX-Benutzerkennung des Client | I | A32 |
| 3 | RPC-Benutzerkennung des Client | I | A8 |
| 4 | RPC-Passwort des Client | I | A8 |
| 5 | Name der Natural Library, in der die RPC-Anforderung auf dem Natural RPC Server ausgeführt werden soll. | I | A8 |
| 6 | Name des Subprogramms, das auf dem Natural RPC Server ausgeführt werden soll. | I | A8 |
Sie können die von CICS vergebene Transaktionskennung nur mit dem User-Exit ändern.
Der Natural RPC unterstützt EntireX Security sowohl auf der Client- als auch auf der Server-Seite vollständig.
Für
die An- und Abmeldung beim EntireX Broker steht die Natural
Anwendungsprogrammierschnittstelle USR2071N zur Verfügung.
Anmerkung
Unterstützung langer Passwortphrasen für Broker (ACI): Natural Security prüft, ob
die für den Zugang zum RPC-Server (z.B. über User Exit USR1071N) benutzte
Natural-Benutzerkennung identisch ist mit der EntireX-Benutzerkennung (z.B. über User
Exit USR2071N geliefert).
Um sich beim EntireX Broker anzumelden:
Verwenden Sie die Anmeldefunktion von USR2071N und übermitteln Sie
Ihre Benutzerkennung und Ihr Passwort an den ausgewählten EntireX Broker.
Nach einer erfolgreichen Anmeldung wird das zurückgegebene Security Token von Natural gespeichert und bei jedem weiteren Aufruf an den EntireX Broker weitergegeben. Die Logon-Option ist für die Natural-Anwendung völlig transparent.
Wenn EntireX Security installiert ist oder wenn AUTOLOGON=NO in der
EntireX Broker-Attributdatei angegeben ist, müssen Sie USR2071N mit der
Anmeldefunktion vor der allerersten Remote-CALLNAT-Ausführung aufrufen.
Es wird empfohlen, USR2071N mit der Abmeldefunktion aufzurufen, sobald Sie
nicht mehr beabsichtigen, einen Remote-CALLNAT zu verwenden.
Um USR2071N zu verwenden:
Kopieren Sie das Subprogramm USR2071N aus der Library
SYSEXT in die Library SYSTEM oder in die Steplib
Library oder in eine beliebige Anwendung in der Serverumgebung.
Geben Sie mit einem DEFINE
DATA-Statement die folgenden Parameter an:
| Parameter | I/O | Format | Beschreibung | |
|---|---|---|---|---|
function |
I | A08 | Funktionscode. Mögliche Werte: | |
LOGON |
Anmeldung beim EntireX Broker | |||
LOGOFF
|
Abmeldung vom EntireX Broker | |||
broker-id |
I | A192 | Broker-Kennung:.
Anmerkung |
|
user-id |
I | A32 | Benutzerkennung. | |
password |
I | A128 | Passwort der Benutzerkennung.
Anmerkung |
|
newpassw
|
I | A128 | Neues Passwort der Benutzerkennung.
Anmerkung |
|
rc
|
O | N04 | Rückgabewert: | |
0 |
OK | |||
1 |
Ungültiger Funktionscode. | |||
9999 |
EntireX Broker-Fehler (siehe Parameter
message).
|
|||
message |
O | A80 | Vom EntireX Broker zurückgegebener Nachrichtentext. | |
Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:
CALLNAT 'USR2071N' function broker-id user-id password newpassword rc message
Siehe auch Syntax-Beschreibung beim
CALLNAT-Statement.
Alternativ können Sie das Programm USR2071P über die Kommandozeile
aufrufen und Benutzerkennung und Passwort in das angezeigte Fenster eingeben. In diesem
Fall werden alle Eingaben außer den Passwörtern in Großbuchstaben umgewandelt. Bei den
Passwörtern haben Sie die Möglichkeit, diese in gemischter Schreibweise einzugeben oder
nicht. Unter Linux und Windows haben Sie außerdem die Möglichkeit, die Eingabeparameter
user-id und
broker-id in gemischter
Schreibweise einzugeben oder nicht.
LOGON |
Eine EntireX Broker LOGON-Funktion wird für die genannte
Broker-Kennung (broker-id) mit der
übergebenen Benutzerkennung (user-id)
und dem Passwort (password) ausgeführt.
Nach erfolgreichem LOGON-Aufruf kann der Client wie gewohnt mit der
EntireX Broker-Broker-Kennung
(broker-id) kommunizieren.
Mit
Anmerkungen:
|
LOGOFF |
Eine EntireX-Broker-LOGOFF-Funktion wird für die genannte
Broker-Kennung (broker-id)
ausgeführt.
|
Wenn eine RPC-Client-Anfrage auf der Natural RPC Server-Seite ausgeführt wird, muss vor
der Ausführung der RPC-Client-Anforderung auch eine Anmeldung beim EntireX Broker über
die Anwendungsprogrammierschnittstelle USR2071N erfolgen. Die Anmeldedaten des Natural RPC Servers
selbst werden nicht für RPC-Client-Anforderung verwendet.
Wenn die RPC-Client-Anforderung an denselben EntireX Broker gesendet wird, bei dem der
Natural RPC Server registriert ist, muss die Benutzerkennung verschieden vom Wert des
Schlüsselwort-Subparameters SRVUSER sein.
Wenn der Wert des Schlüsselwort-Subparameters ACIVERS
des Profilparameters RPC oder des Parameter-Makros NTRPC
2 oder höher ist, meldet sich der Server beim Start der Sitzung mit der
LOGON-Funktion beim EntireX Broker an. Die Benutzerkennung ist die
gleiche wie die durch SRVUSER definierte Benutzerkennung.
Wenn EntireX Security installiert wurde und wenn die Funktion EntireX Trusted User ID nicht verfügbar ist, gibt es zwei alternative Möglichkeiten, das erforderliche Passwort anzugeben:
Diese Alternativen werden im Folgenden beschrieben.
Wenn Natural Security auf dem Server installiert ist, können Sie den
Schlüsselwort-Subparameter SRVUSER des Profilparameters RPC oder des
Parameter-Makros NTRPC auf '*NSC' setzen, um
festzulegen, dass die aktuelle Natural Security-Benutzerkennung, die beim Start des
Servers verwendet wurde, für das LOGON in Verbindung mit dem zugehörigen
Natural Security-Passwort verwendet wird. In diesem Fall muss der bei
ACIVERS eingestellte Wert mindestens 4
betragen.
Anmerkungen:
SRVUSER='*NSC' nicht setzen, weil das in Natural Security definierte
Passwort in der Regel kein gültiges Passwort für die Anmeldung bei einem mit
Security betriebenen EntireX Broker-Knoten ist. In diesem Fall müssen Sie
SRVUSER='*USER' setzen und das Passwort mit USR2072N
definieren.
Mit der Anwendungsprogrammierschnittstelle USR2072N können Sie ein
Passwort angeben, das zur Anmeldung (LOGON) in Verbindung mit dem
Schlüsselwort-Subparameter SRVUSER des Profilparameters RPC oder des
Parameter-Makros NTRPC verwendet wird.
Um USR2072N zu verwenden:
Kopieren Sie das Subprogramm USR2072N und optional das Programm
USR2072P aus der Library SYSEXT in die Library
SYSTEM oder in die Steplib Library oder in eine beliebige
Anwendung in der Serverumgebung.
Geben Sie mit einem DEFINE
DATA-Statement den folgenden Parameter an:
| Parameter | I/O | Format | Beschreibung |
|---|---|---|---|
password |
I | A128 | Das Passwort der Benutzerkennung.
Anmerkung |
Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:
CALLNAT 'USR2072N' password
Siehe auch Syntax-Beschreibung des
CALLNAT-Statement.
Das aufrufende Programm muss ausgeführt werden, bevor der Natural RPC Server
seine Initialisierung gestartet hat. Dazu legen Sie den Namen des aufrufenden
Programms beim Start des Servers auf den Natural-Stack. Zu diesem Zweck können
Sie auch das Programm USR2072P aus der Library SYSEXT
verwenden. In diesem Fall wird das Passwort standardmäßig in Großbuchstaben
umgewandelt. Sie haben die Möglichkeit, das Passwort in gemischter Groß- und
Kleinschreibung einzugeben, indem Sie als zweiten Parameter die Mixed Case
Option mit Y übergeben.
STACK=(LOGON server-library;USR2072P password [Y])
Die Funktion EntireX Trusted User ID von EntireX Security ist nur für die Transportmethode NET verfügbar. Wenn Sie die Transportmethode TCP mit Trusted User IDs verwenden möchten, können Sie die RACF PassTicket-Funktionalität nutzen.
Bei Verwendung der RACF-PassTicket-Funktionalität generiert der Natural RPC Server ein
PassTicket für seine eigene Benutzerkennung und übergibt diese Kennung und das
generierte PassTicket zur Authentifizierung an den Secured EntireX Broker, anstatt eine
Benutzerkennung und ein Passwort bei der Anmeldung beim Secured EntireX Broker
anzugeben. Die eigene Benutzerkennung des Servers wird aus der ACEE der Natural RPC
Server-Task übernommen. Das PassTicket wird für diese Benutzerkennung und den
Standard-Batch-Anwendungsnamen MVSsmf-id mit
Hilfe der Service-Routine R_GenSec IRRSGS00 erzeugt (siehe auch die
z/OS Security Server RACF-Dokumentation von
IBM).
Die folgenden Schritte sind erforderlich, um vertrauenswürdige Benutzerkennungen für die Transportmethode TCP zu verwenden:
Geben Sie SRVUSER='*TRUSTED' beim Starten des Natural RPC Servers
an.
Definieren Sie Folgendes in RACF:
SETROPTS CLASSACT(PTKTDATA) RACLIST(PTKTDATA)
RDEF PTKTDATA MVSsmf-id OWNER(#SECADM) UACC(NONE)
SSIGNON(KEYENCRYPTED(XXXXXXXXXXXXXXXX))
RDEF PTKTDATA IRRPTAUTH.MVSsmf-id.* OWNER(#SECADM) UACC(NONE)
PERMIT IRRPTAUTH.MVSsmf-id.* CL(PTKTDATA) ID(user-id) ACCESS(UPDATE)
Dabei ist:
smf-id |
SMF-Systemkennung des MVS-Systems, auf dem die Anwendung
läuft.
Die SMF-Kennung befindet sich im
|
user-id |
Die Benutzerkennung der RPC-Server-Task oder die Benutzerkennung der CICS-Task, wenn diese unter CICS läuft. |