Mustercode 'Security Identity Propagation' ausführen

Zum Ausführen des Mustercodes für die Weitergabe der Sicherheitsidentität (Security Identity Propagation) wird jede einzelne Musternachricht über den entsprechenden Transportempfangsknoten in die Hauptnachrichtenflüsse zur Weitergabe der Sicherheitsidentität eingereiht. Sie können das Beispielprogramm ausführen, um zu sehen, was in den folgenden Situationen geschieht:

Weitere Informationen hierzu finden Sie im Abschnitt Informationen zum Mustercode 'Security Identity Propagation'.

Sollten bei der Ausführung des Mustercodes Probleme auftreten, lesen Sie den Abschnitt Probleme bei der Ausführung von Mustercodes beheben in der WebSphere Message Broker-Dokumentation.

Mustercode mit einer WebSphere MQ-Nachricht ausführen, die ein Benutzeridentitätstoken im MQMD-Nachrichtenheader enthält

Der MQMD-Nachrichtenheader in WebSphere MQ-Nachrichten enthält folgende Einzelinformationen für das Broker-Sicherheitssystem:

So führen Sie den Mustercode mit der WebSphere MQ-Nachricht aus, die im MQMD-Header ein Benutzeridentitätstoken enthält:

  1. Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'SecurityIdentitySampleFlowProject'. Erweitern Sie das Verzeichnis Flow Tests und klicken Sie doppelt auf Security_Identity_MQ_ID.mbtest, um die Datei im Testclient zu öffnen.
  2. Klicken Sie in der Symbolleiste der Nachrichtenfluss-Testereignisse auf In Warteschlange einreihen. Beachten Sie, dass die XML-Nachricht keine Elemente im Nachrichtentext enthält.
  3. Erweitern Sie den Header im Abschnitt mit den ausführlichen Eigenschaften. Beachten Sie, dass als Nachrichtenheader 'Send Identity' (Identität senden) ausgewählt ist. Wenn Sie im Testclient zur Registerkarte Konfiguration wechseln und MQ-Nachrichtenheader "Send Identity" auswählen, können Sie sich die Details des Headers anzeigen lassen. Zu diesen Details gehören mqmdUID als Benutzer-ID und Testclient als Name der PUT-Anwendung.
  4. Klicken Sie auf der Registerkarte Ereignisse auf Nachricht senden. Die Nachricht wird in die Warteschlange SECURITYIDFROMMQIN eingereiht.
  5. Sehen Sie sich die Ergebnisse an:

Mustercode mit einer WebSphere MQ-Nachricht ausführen, die Identitätsberechtigungsnachweise im Nachrichtentext enthält

Da der WebSphere MQ-MQMD nur das Token für den Ausgeber und die Benutzeridentität angeben kann, wurde zur Umgehung dieser Einschränkung ein zusätzlicher MQInput-Knoten bereitgestellt. Dieser Knoten ist so konfiguriert, dass er eine ganze Reihe von Sicherheitsberechtigungsnachweisen aus Feldern im Nachrichtentext extrahiert.

So führen Sie den Mustercode mit der WebSphere MQ-Nachricht aus, die ein Benutzeridentitätstoken im Nachrichtentext enthält:

  1. Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'SecurityIdentitySampleFlowProject'. Erweitern Sie das Verzeichnis Flow Tests und klicken Sie doppelt auf Security_Identity_MSG_ID.mbtest, um die Datei im Testclient zu öffnen.
  2. Klicken Sie auf In Warteschlange stellen. Beachten Sie, dass die Nachricht Elemente im Ordner 'Body.MessageIdentity' enthält, in dem folgende Identitätsberechtigungsnachweise definiert werden:
  3. Erweitern Sie den Header im Abschnitt mit den ausführlichen Eigenschaften. Beachten Sie, dass als Nachrichtenheader 'Standardheader' ausgewählt ist. Wenn Sie im Testclient zur Registerkarte Konfiguration wechseln und MQ-Nachrichtenheader "Standardheader" auswählen, können Sie sich die Details des Headers anzeigen lassen. Für Benutzer-ID und Name der PUT-Anwendung sind keine Werte angegeben.
  4. Klicken Sie auf der Registerkarte Ereignisse auf Nachricht senden. Die Nachricht wird in die Warteschlange SECURITYIDFROMMSGIN eingereiht.
  5. Sehen Sie sich die Ergebnisse an:

Mustercode mit einer WebSphere MQ-Nachricht ausführen, die die Festlegung einer zugeordneten Identität anfordert

Wenn Sie mit WebSphere MQ-Nachrichten arbeiten, die nur den Benutzernamen und den Aussteller enthalten, muss für die Berechtigungsnachweise oftmals eine Zuordnung der föderierten Identität aufgerufen werden. Anschließend können die Berechtigungsnachweise einem Formular zugeordnet werden, mit dem ein Dienst aufgerufen werden kann, der beispielsweise einen Benutzernamen und ein Kennwort erfordert. In der Regel wird für diesen Vorgang ein externer föderierter Identitätsmanager aufgerufen. Dieser Mustercode bietet eine einfache Lösung, bei der die eingehende Identität mithilfe eines Berechnungsknotens zugeordnet wird, sodass folgende Sicherheitsberechtigungsnachweise erstellt werden:

So führen Sie den Mustercode mit der WebSphere MQ-Eingabenachricht aus, die die Festlegung der zugeordneten Identität auf Grundlage des Benutzernamens anfordert, der im MQMD der Nachricht übermittelt wird:

  1. Erweitern Sie in der Ansicht 'Brokerentwicklung' das Projekt 'SecurityIdentitySampleFlowProject'. Erweitern Sie das Verzeichnis Flow Tests und klicken Sie doppelt auf Security_Identity_Mapped.mbtest, um die Datei im Testclient zu öffnen.
  2. Klicken Sie auf In Warteschlange stellen. Beachten Sie, dass die Nachricht das Element 'Body.MapIdentity' enthält. Durch das Vorhandensein dieses Elements in der Nachricht legt die ESQL im Nachrichtenfluss 'SecurityIdentitySampleFlow' die zugeordneten Identitätsberechtigungsnachweise wie oben beschrieben fest.
  3. Erweitern Sie den Header im Abschnitt mit den ausführlichen Eigenschaften. Beachten Sie, dass als Nachrichtenheader 'Send Identity' (Identität senden) ausgewählt ist. Wenn Sie im Testclient zur Registerkarte Konfiguration wechseln und MQ-Nachrichtenheader "Send Identity" auswählen, können Sie sich die Details des Headers anzeigen lassen. Zu diesen Details gehören TESTUSER als Benutzer-ID und BRKTSTCLNT als Name der PUT-Anwendung.
  4. Klicken Sie auf der Registerkarte Ereignisse auf Nachricht senden. Die Nachricht wird in die Warteschlange SECURITYIDFROMMQIN eingereiht.
  5. Sehen Sie sich die Ergebnisse an:

Mustercode mit einer HTTP-Anforderungsnachricht ausführen

Beim HTTP-Transport können Sicherheitsberechtigungsnachweise wie Benutzername und Kennwort im HTTP-Header übermittelt werden. Zur Ausführung des Mustercodes mit einer HTTP-Anforderungsnachricht, die im Header der HTTP-Basisauthentifizierung ein Benutzeridentitäts- und ein Kennworttoken enthält, steht eine Java-Anwendung zur Verfügung. Mithilfe der Java-Anwendung können Sie den Inhalt einer Textdatei einschließlich Benutzername und Kennwort an die HTTP-Eingabe des Musternachrichtenflusses übermitteln.

Die Argumente im Mustercode lauten wie folgt:

java BasicAuthHttpPost
<URL-Host> <URL-Port> <URL-Pfadsuffix> <XML-Datei>
[<Benutzer-ID> <Kennwort> ] 

Dabei stehen die Argumente für Folgendes:

Gehen Sie wie folgt vor, um den Mustercode mit einer HTTP-Anforderungsnachricht auszuführen:

  1. Wechseln Sie im WebSphere Message Broker Toolkit zur Java-Perspektive.
  2. Erweitern Sie in der Ansicht 'Package Explorer' (Paketexplorer) das Paket com.ibm.wmb.sample.httpClient. Erweitern Sie hierfür das Projekt 'SecurityIdentitySampleApplicationProject'.
  3. Klicken Sie unter com.ibm.wmb.sample.httpClient mit der rechten Maustaste auf HttpPostFileWithBAuth.java und wählen Sie Run As > Run Configurations (Ausführen als - Konfigurationen ausführen) aus, um den Assistenten für Ausführungskonfigurationen zu öffnen.
  4. Klicken Sie in der linken Baumstruktursicht doppelt auf Java-Anwendung und wählen Sie die Konfiguration HttpPostFileWithBAuth aus.
  5. Stellen Sie sicher, dass auf der Hauptregisterkarte für Project (Projekt) der Wert SecurityIdentitySampleApplicationProject festgelegt ist.
  6. Vergewissern Sie sich, dass für Main class (Hauptklasse) der Wert com.ibm.wmb.sample.httpClient.HttpPostFileWithBAuth festgelegt ist.
  7. Wechseln Sie zur Registerkarte Arguments (Argumente) im Ausführungsassistenten und geben Sie die folgenden Programargumente ein:

    Unter Windows:

    localhost 7080 /Security/IdentityFromHttp
    		Messages\Simple.xml HttpUserName HttpPassword 
    Unter Linux oder Unix:
    localhost 7080 /Security/IdentityFromHttp
    Messages/Simple.xml HttpUserName HttpPassword 
  8. Damit ist die Ausführungskonfiguration erstellt.
    Starten Sie die Anwendung, um die HTTP-Anforderung an den Mustercode zu senden. Klicken Sie hierfür auf Ausführen. Sehen Sie sich die Ergebnisse an:

Zurück zum Beginn des Mustercodes