Verwendung von Security

Dieses Kapitel behandelt folgende Themen:


Natural RPC mit Natural Security verwenden

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.

Client-Seite

Der Client muss die Anmeldedaten zusammen mit der RPC-Anforderung senden. Die Anmeldedaten bestehen aus Benutzerkennung, Passwort und Library.

  • Benutzerkennung und Passwort 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:

  1. Die Benutzerkennung und das Passwort:

    Wenn der Client unter Natural Security läuft

    Die Benutzerkennung und das Passwort aus der Natural Security-Anmeldung auf dem Client werden verwendet und an den Natural RPC Server weitergegeben.

    Wenn Sie eine andere Benutzerkennung und/oder ein anderes Passwort für die Natural Security-Anmeldung auf der Server-Seite verwenden wollen, können Sie die Anwendungsprogrammierschnittstelle USR1071N verwenden (siehe unten).

    Anmerkung:
    Sie können die Verwendung von USR1071N im Teil Natural RPC Restriktionen der Session Parameters-Restriktionen des Natural Security Library-Profils untersagen.

    Wenn der Client nicht unter Natural Security läuft

    Um die Benutzerkennung und das Passwort festzulegen, die an den Natural RPC Server übergeben werden, muss der Client die Anwendungsprogrammierschnittstelle USR1071N (siehe unten) aufrufen, bevor die erste RPC-Anforderung gesendet wird.

  2. 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.

USR1071N

Die Anwendungsprogrammierschnittstelle USR1071N ist in der Library SYSEXT enthalten. Sie wird verwendet, um die Benutzerkennung und das Passwort anzugeben, die an den Natural RPC Server übergeben werden.

Beginn der AnweisungslisteUm USR1071N zu verwenden:

  1. 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).

  2. 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.
  3. 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.

USR4371N

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.

Beginn der AnweisungslisteUm USR4371N zu verwenden:

  1. 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).

  2. 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.
  3. 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.

Server-Seite

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-Unterparameter 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.

Passwort ändern

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.

Beginn der AnweisungslisteUm USR2074N zu nutzen:

  1. 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.

  2. 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.
  3. 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 (z/OS Batch-Modus)

Zweck der Impersonation

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) 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 Passwortprüfung.

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.

Schritte zur Aktivierung der Impersonation (Server-Seite)

  1. 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.

    Wenn Sie die empfohlene APF-autorisierte LINKLIST Library verwenden, müssen Sie sicherstellen, dass das resultierende Lademodul nicht in der STEPLIB- oder JOBLIB-Verkettung vorhanden ist.

  2. Natural z/OS-Batch-Nukleus mit der DB2-Schnittstelle DSNRLI verlinken
    Dieser Schritt gilt nur für Natural for DB2-Benutzer.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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'
  9. 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 Authorized environment for impersonation established

    • In der RPC-Trace-Datei:

      M *** Server is running under NSC with impersonation

Schritte zur Verwendung von Impersonation (Client-Seite)

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 muss das entsprechende SAF-Passwort sein. Benutzerkennung und Passwort 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 Kennwort 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:

Natural-Clients

  1. 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 .

  2. Benutzerkennung und Passwort festlegen

    Legen Sie die SAF-Benutzerkennung und das SAF-Passwort mit der Anwendungsprogrammierschnittstelle USR1071P 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.

EntireX RPC-Clients

  1. Aktivieren Sie die Natural Logon-Option entsprechend Ihrer Anwendungsumgebung.

  2. Setzen Sie die RPC-Benutzerkennung und das RPC-Passwort auf die SAF-Benutzerkennung und das SAF-Passwort entsprechend Ihrer Anwendungsumgebung.

Regeln für Impersonation

  • Die Impersonation findet zu Beginn jedes nicht-konversationellen CALLNAT und zu Beginn jeder Konversation statt.

  • Die Authentifizierung von Natural RPC-Benutzerkennung und -Passwort wird durch das externe Security-System durchgeführt. Das Passwort 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:

    1. Für die Natural RPC-Benutzerkennung wird eine Natural Security-Anmeldung ohne Passwortprüfung durchgeführt.

    2. Alle Arbeitsdateien mit einem DDNAME, der nicht mit CM beginnt, werden mit der Natural RPC-Benutzerkennung geöffnet.

    3. Alle Adabas-Datenbanken werden mit der Natural RPC-Benutzerkennung geöffnet (gilt nur bei externer Adabas Security).

    4. Wenn im NSC-Benutzerprofil eine ETID angegeben ist, wird diese ETID in der Adabas-Open-Anforderung verwendet.

    5. 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:

    1. Alle Arbeitsdateien mit einem DDNAME, der nicht mit CM beginnt, werden geschlossen.

    2. Alle Adabas-Datenbanken werden geschlossen.

Impersonation (CICS)

Die folgenden Themen werden behandelt:

Zweck der Impersonation

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) 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 einstellen.

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 Passwortprüfung.

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.

Schritte zur Aktivierung der Impersonation (Server-Seite)

  1. 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.

  2. 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).

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Einen CICS PROGRAM-Eintrag für das RPC-Server-Frontend definieren
    Siehe entsprechenden Schritt in Installing the Natural CICS Interface on z/OS.

  8. 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.

  9. 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

  10. 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).

  11. 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

Schritte zur Verwendung von Impersonation (Client-Seite)

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 muss das entsprechende Passwort des externen Security-Systems sein. Benutzerkennung und Passwort 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 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 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:

Natural-Clients

  1. 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 .

  2. Benutzerkennung und Passwort festlegen

    Legen Sie die Benutzerkennung und das Passwort über die Anwendungsprogrammierschnittstelle USR1071P fest.

    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 USR1071P nicht erforderlich.

EntireX RPC Clients

  1. Natural-Logon-Option aktivieren
    Aktivieren Sie die Natural-Logon-Option entsprechend Ihrer Anwendungsumgebung.

  2. RPC-Benutzerkennung und -Passwort festlegen
    Legen Sie die RPC-Benutzerkennung und das RPC-Passwort entsprechend Ihrer Anwendungsumgebung fest.

Regeln für Impersonation

  • Die Impersonation erfolgt zu Beginn jedes nicht-konversationellen CALLNAT und zu Beginn jeder Konversation.

  • Der optionale User-Exit RPCSFEX1 user exit wird aufgerufen, um eine anforderungsspezifische CICS-Transaktionskennung zu setzen.

  • Die Authentifizierung der Natural RPC-Benutzerkennung und des Passworts wird von CICS durchgeführt. Das in der Systemdatei FSEC gespeicherte Kennwort wird nicht verwendet.

  • Nach erfolgreicher Authentifizierung wird die Natural RPC-Benutzerkennung für CICS eingerichtet (Benutzer wird impersoniert).

  • Nach erfolgreicher Impersonierung:

    1. Für die Natural RPC-Benutzerkennung wird eine Natural Security-Anmeldung ohne Passwortprüfung durchgeführt.

    2. Der Zugriff auf alle CICS-Ressourcen erfolgt mit der Natural RPC-Benutzerkennung.

    3. Alle Adabas-Datenbanken werden mit der Natural RPC-Benutzerkennung geöffnet (gilt nur bei externer Adabas Security).

    4. Wenn im NSC-Benutzerprofil eine ETID angegeben ist, wird diese ETID in der Open-Anforderung von Adabas verwendet.

    5. 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:

    1. Alle CICS-Ressourcen werden geschlossen.

    2. Alle Adabas-Datenbanken werden geschlossen.

    3. Die Verbindung zu DB2 wird geschlossen (gilt nur für Natural for DB2-Benutzer).

RPCSFEX1 - User-Exit für Impersonation unter CICS

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.

Natural RPC mit EntireX Security verwenden

Der Natural RPC unterstützt EntireX Security sowohl auf der Client- als auch auf der Server-Seite vollständig.

EntireX Security auf der Client-Seite

Für die An- und Abmeldung beim EntireX Broker steht die Natural Anwendungsprogrammierschnittstelle USR2071N zur Verfügung.

Beginn der AnweisungslisteUm 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.

Beginn der AnweisungslisteUm USR2071N zu verwenden:

  1. 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.

  2. 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:
    Aus Kompatibilitätsgründen ist broker-id mit BY VALUE RESULT definiert, um existierende Aufrufer zu unterstützen, die ein A8- oder A32-Feld für die broker-id übergeben. Das in der Library SYSEXT enthaltene Beispiel USR2071P unterstützt bis zu 32 Zeichen.

    user-id  I A32 Benutzerkennung.
    password  I A32 Passwort der Benutzerkennung.
    newpassw  I A32 Neues Passwort der Benutzerkennung.
    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.
  3. 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 USR2071P auch ü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.

Funktionen:

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 newpassw kann der Client-Benutzer sein Passwort mittels der EntireX Security-Funktionalität ändern.

Anmerkungen:
  • Wenn eine erfolgreiche Anmeldung durchgeführt wurde, wird die in diesem LOGON verwendete Benutzerkennung bei allen nachfolgenden Remote Procedure CALLNATs, die über diesen EntireX Broker geleitet werden, an den genannten EntireX Broker weitergegeben.

    Ohne ein explizites LOGON wird der aktuelle Inhalt der Systemvariablen *USER verwendet. Dasselbe gilt, wenn Sie ein LOGON an EntireX Broker 1 abgesetzt haben, Ihr Remote Procedure CALLNAT aber über EntireX Broker 2 geleitet wird.

  • Es ist möglich, sich gleichzeitig bei mehreren EntireX Brokern anzumelden. Für jedes LOGON kann eine andere Benutzerkennung verwendet werden.

  • Die für die Anmeldung beim EntireX Broker verwendete Benutzerkennung kann sich von der Natural-Benutzerkennung unterscheiden, unter der die Client-Anwendung läuft.

  • Eine interne Neuanmeldung erfolgt, nachdem eine EntireX Broker-Zeitüberschreitung (Timeout) auftrat, wenn die ursprüngliche Anmeldung ohne Passwort erfolgte (das bei der Anmeldung verwendete Passwort wird nicht gespeichert). Wenn nach einer Zeitüberschreitung keine interne Neuanmeldung möglich ist, muss der Client das LOGON explizit neu durchführen.

  • Am Ende der Natural-Sitzung wird ein implizites LOGOFF bei allen EntireX Brokern durchgeführt, bei denen eine Anmeldung erfolgt ist.

LOGOFF Eine EntireX-Broker-LOGOFF-Funktion wird für die genannte Broker-Kennung (broker-id) ausgeführt.

Besondere Aspekte, wenn die Client-Anfrage auf der Server-Seite ausgeführt wird:

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.

EntireX Security auf der Server-Seite

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.

Schlüsselwort-Subparameter SRVUSER='*NSC' setzen

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.

Anwendungsprogrammierschnittstelle USR2072N zur Angabe eines Passworts verwenden

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.

Beginn der AnweisungslisteUm USR2072N zu verwenden:

  1. 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.

  2. Geben Sie mit einem DEFINE DATA-Statement den folgenden Parameter an:

    Parameter I/O Format Beschreibung
    password I A32 Das Passwort der Benutzerkennung.
  3. Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:

    CALLNAT 'USR2072N' password

    See also the of the CALLNAT statement.

    Siehe auch Syntax-Beschreibung des CALLNAT-Statement.

  4. 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])

EntireX Security auf der Server-Seite mit Trusted User IDs (nur z/OS)

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:

  1. Geben Sie SRVUSER='*TRUSTED' beim Starten des Natural RPC Servers an.

  2. 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 SMFPRMxx-Member von SYS1.PARMLIB und wird durch den SID-Wert angegeben.

    user-id Die Benutzerkennung der RPC-Server-Task oder die Benutzerkennung der CICS-Task, wenn diese unter CICS läuft.