Angepasste Module des Java Authentication and Authorization Service (JAAS) können für die Authentifizierung von Benutzernamen-und Kennwortberechtigungsnachweisen verwendet werden, die von einem AMQP-Client an einen AMQP-Kanal übergeben werden, wenn eine Verbindung hergestellt wird.
Informationen zu dieser Task
Sie können ein angepasstes JAAS -Modul verwenden, wenn Sie bereits JAAS -Module für die Authentifizierung in anderen Java-basierten Systemen verwenden und diese Module für die Authentifizierung von AMQP-Verbindungen zu MQwiederverwenden möchten. Alternativ können Sie ein angepasstes JAAS-Modul schreiben, wenn die in MQ integrierten Authentifizierungsfunktionen das Authentifizierungsverfahren, das Sie verwenden möchten, nicht unterstützen.
Die Konfiguration von JAAS-Modulen für AMQP-Kanäle wird auf Warteschlangenmanagerebene ausgeführt. Dadurch wird das Modul bei der Konfiguration eines JAAS-Moduls für die Authentifizierung von AMQP-Verbindungen mit dem Warteschlangenmanager für alle AMQP-Kanäle angewendet. Der Name des Kanals, der das JAAS-Modul aufgerufen hat, wird an das Modul übergeben, damit Sie ein unterschiedliches Anmeldeverhalten für verschiedene Kanäle codieren können.
Es werden auch weitere Informationen an das JAAS-Modul übergeben:
- Die Client-ID des AMQP-Clients, der versucht, eine Authentifizierung durchzuführen.
- Die Netzadresse des AMQP-Clients.
- Der Name des Kanals, der das JAAS-Modul aufgerufen hat.
Verfahren
Mit den folgenden Schritten können Sie ein JAAS-Konfigurationsmodul für AMQP-Kanäle konfigurieren:
- Definieren Sie eine jaas.config -Datei mit mindestens einer JAAS -Modulkonfigurationszeilengruppen. Die Zeilengruppe muss den vollständig qualifizierten Namen der Java -Klasse angeben, die die JAAS javax.security.auth.spi.LoginModule -Schnittstelle implementiert.
- Eine jaas.config-Standarddatei wird mit dem Produkt geliefert und befindet sich in QM_data_directory/amqp/jaas.config.
- Eine vorkonfigurierte Zeilengruppe mit dem Namen
MQXRConfig ist bereits in der Standarddatei jaas.config definiert.
- Geben Sie den Namen der Zeilengruppe an, die für AMQP-Kanäle verwendet werden soll.
![[AIX]](ngaix.gif)
Fügen Sie eine Eigenschaft zur Datei amqp_unix.properties hinzu.
Fügen Sie eine Eigenschaft zur Datei amqp_win.properties hinzu.
Die Eigenschaft hat das folgende Format:
com.ibm.mq.MQXR.JAASConfig=JAAS_stanza_name
Beispiel:
com.ibm.mq.MQXR.JAASConfig=MQXRConfig
- Konfigurieren Sie die Umgebung des Warteschlangenmanagers, um die Klasse des angepassten Moduls einzuschließend. Der AMQP-Service muss Zugriff auf die Klasse Java haben, die in der Konfigurationszeilengruppe JAAS konfiguriert ist.
Dazu fügen Sie den Pfad der JAAS-Klasse zur MQ service.env-Datei hinzu. Bearbeiten Sie die service.env-Datei im MQ-Konfigurationsverzeichnis (MQ_config_directory) oder im Konfigurationsverzeichnis des Queue Managers (QM_config_directory), um die Variable CLASSPATH auf die Position der JAAS-Modulklasse zu setzen.
Nächste Schritte
Ein Beispiel für ein JAAS-Anmeldemodul wird mit dem Produkt im Verzeichnis mq_installation_directory/amqp/samples geliefert. Mit dem Beispiel für ein JAAS-Anmeldemodul werden alle Clientverbindungen authentifiziert, unabhängig vom Benutzernamen oder Kennwort, mit denen der Client eine Verbindung herstellt.Sie können den Quellcode des Beispiels ändern und ihn erneut kompilieren, damit die Authentifizierung nur für bestimmte Benutzer mit einem bestimmten Kennwort vorgenommen wird. Gehen Sie folgendermaßen vor, um den AMQP-Kanal auf einem UNIX-System für die Verwendung des Beispiels für ein JAAS-Anmeldemodul zu konfigurieren, das mit dem Produkt geliefert wird:
- Bearbeiten Sie die Datei /var/mqm/qmgrs/QMNAME/amqp/amqp_unix.properties und legen Sie die Eigenschaft
com.ibm.mq.MQXR.JAASConfig=MQXRConfig fest.
- Bearbeiten Sie die Datei /var/mqm/service.env und legen Sie die Eigenschaft
CLASSPATH=mq_installation_location/amqp/samples fest.
Die Datei jaas.config enthält bereits eine Zeilengruppe mit dem Namen MQXRConfig , die die Beispielklasse samples.JAASLoginModule als Anmeldemodulklasse angibt. Für das Testen des Beispielmoduls sind keine Änderungen an jaas.config erforderlich.