Verwendung von Security

#### Search Results

Search

# Verwendung von Security

Dieses Kapitel behandelt folgende Themen:

- Natural RPC mit Natural Security verwenden

- Impersonation (z/OS Batch-Modus)

- Impersonation (CICS)

- Natural RPC mit EntireX Security verwenden

## 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 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:

1. Die Benutzerkennung und das Passwort oder die Passwortphrase:

   #### Wenn der Client unter Natural Security läuft

   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.

   #### Wenn der Client nicht unter Natural Security läuft

   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.

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 (mit bis zu 8 Zeichen) anzugeben, die an den Natural RPC Server übergeben werden.

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

Um `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`, indem Sie die Utility `SYSEXT` benutzen..

#### USR9171N

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:

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

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

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

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

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.

Um `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

- Schritte zur Aktivierung der Impersonation (Server-Seite)

- Schritte zur Verwendung von Impersonation (Client-Seite)

- Regeln für Impersonation

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

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

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

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

#### 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 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:

  1. Für die Natural RPC-Benutzerkennung wird eine Natural Security-Anmeldung ohne Prüfung des Passworts oder der Passwortphrase 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

- Schritte zur Aktivierung der Impersonation (Server-Seite)

- Schritte zur Verwendung von Impersonation (Client-Seite)

- Regeln für Impersonation

- RPCSFEX1 - User-Exit für Impersonation unter CICS

### 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-Option Logon-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.

### 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 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:

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

#### 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` 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:

  1. Für die Natural RPC-Benutzerkennung wird eine Natural Security-Anmeldung ohne Prüfung des Passworts oder der Passwortphrase 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

- EntireX Security auf der Server-Seite

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

### EntireX Security auf der Client-Seite

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:

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 | A128 | Passwort der Benutzerkennung. Anmerkung Aus Kompatibilitätsgründen wird `password` mit `BY VALUE RESULT` definiert, um existierende Aufrufer zu unterstützen, die ein A32-Feld für das Passwort übergeben. Das in der Library `SYSEXT` enthaltene Beispiel `USR2071P` unterstützt bis zu 32 Zeichen.
   `newpassw` | I | A128 | Neues Passwort der Benutzerkennung. Anmerkung Aus Kompatibilitätsgründen wird `newpassw` mit `BY VALUE RESULT` definiert, um existierende Aufrufer zu unterstützen, die ein A32-Feld für das neue Passwort übergeben. Das in der Library `SYSEXT` enthaltene Beispiel `USR2071P` unterstützt bis zu 32 Zeichen.
   `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 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.

#### 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 `CALLNAT`s, 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:

- Schlüsselwort-Subparameter SRVUSER='*NSC' setzen
- Anwendungsprogrammierschnittstelle USR2072N zur Angabe eines Passworts verwenden

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.

Anmerkungen:

1. Das mit der Anwendungsprogrammierschnittstelle USR2072N definierte Passwort wird ignoriert.
2. Falls Natural unter Natural SAF Security läuft, dürfen Sie `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.

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

Um 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 | A128 | Das Passwort der Benutzerkennung. Anmerkung Aus Kompatibilitätsgründen wird `password` mit der Option `BY VALUE RESULT` definiert, um bestehende Aufrufer zu unterstützen, die ein A32-Feld für `password` übergeben. Das in der Library `SYSEXT` enthaltene Beispiel `USR2072P` unterstützt bis zu 32 Zeichen.

3. Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:

       CALLNAT 'USR2072N' password

   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.

### On this page

- Natural RPC mit Natural Security verwenden
- Impersonation (z/OS Batch-Modus)
- Impersonation (CICS)
- Natural RPC mit EntireX Security verwenden