WebSphere MQ, das unter einem lokalen Konto / einer lokalen Gruppe ausgeführt wird, kann keine Gruppenmitgliedschaften für Active Directory-Benutzer lesen. Problemumgehung oder alternative Lösung?

26010
noahz

Ich entwickle eine Anwendung, die WebSphere MQ v6.0 verwendet. WebSphere MQ funktioniert derzeit aufgrund des folgenden Problems nicht:

  • Der WebSphere MQ-Service wird unter dem lokalen Benutzer "MUSR_MQADMIN" in der lokalen Gruppe "mqm" ausgeführt.
  • Ich versuche, den Dienst mit meinem eigenen Konto, BIZ \ noahz, zu nutzen
  • MUSR_MQADMIN muss prüfen, ob sich BIZ \ noahz in der lokalen Gruppe "mqm" befindet.
  • MUSR_MQADMIN hat keine Berechtigung zum Lesen der Active Directory-Gruppenmitgliedschaft von BIZ \ noahz
  • Der folgende Fehler wird in der MQ-Protokolldatei angezeigt:

----- amqzfubn.c: 3582 -------------------------------------- ---------------

1/31/2011 18:51:32 - Process (704.1105) User (MUSR_MQADMIN) -Programm (amqzlaa0.exe) AMQ8079: Zugriff wurde verweigert, wenn versucht wurde, Gruppenmitgliedschaftsinformationen für Benutzer 'noahz @ biz' abzurufen.

ERKLÄRUNG: WebSphere MQ, das mit der Berechtigung des Benutzers 'musr_mqadmin @ noahz-biz' ausgeführt wird, konnte keine Informationen zur Gruppenmitgliedschaft für den angegebenen Benutzer abrufen. AKTION: Stellen Sie sicher, dass die Active Directory-Zugriffsberechtigungen dem Benutzer 'musr_mqadmin @ noahz-biz' erlauben, Gruppenmitgliedschaften für den Benutzer 'noahz @ biz' zu lesen. Um Gruppenmitgliedschaftsinformationen für einen Domänenbenutzer abzurufen, muss MQ mit der Berechtigung eines Domänenbenutzers ausgeführt werden.

----- amqzfubn.c: 3582 -------------------------------------- ---------------

Weitere Informationen hierzu finden Sie auf der Website von IBM: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.amqtac.doc/wq10830_.htm

Ich habe keine Active Directory-Administratorrechte für meinen Windows-Computer, daher lautet meine Frage:

Gibt es noch etwas, was ich tun kann, um dieses Problem zu lösen (oder zu umgehen) und WebSphere MQ wieder für mich arbeiten zu lassen? Kann ich beispielsweise diese Sicherheitsüberprüfung in WebSphere MQ deaktivieren?

UPDATE Hier ist die Antwort, die ich vom IBM Support erhalten habe:

Normalerweise weisen diese Fehler auf ein Problem mit der Benutzer-ID hin, für die der MQ-Dienst in dcom ausgeführt wird. Wenn Sie sich nicht sicher sind, welche Benutzer-ID dies ist, können Sie Folgendes überprüfen:

Öffnen Sie eine Eingabeaufforderung, und geben Sie Folgendes ein: dcomcnfg. Sobald die Komponentendienste-MMC geöffnet wird, doppelklicken Sie auf "Komponentendienste". Doppelklicken Sie auf "Computer". Doppelklicken Sie auf "Arbeitsplatz". Doppelklicken Sie auf "DCOM-Konfiguration". Suchen Sie im Fenster nach "IBM MQSeries Services", klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften aus. Klicken Sie auf die Registerkarte "Identität". Es sollte "dieser Benutzer" gefolgt von einer ID angezeigt werden.

Stellen Sie sicher, dass die MQ-Services-ID (von der Registerkarte "Identität" oben) lokal über die erforderlichen Rechte verfügt. Gewähren Sie alle fehlenden Rechte für Folgendes:

Öffnen Sie Start-> Programme-> Verwaltung-> Lokale Sicherheitseinstellungen.

Öffnen Sie Lokale Richtlinien und dann Zuweisungen von Benutzerrechten, und doppelklicken Sie, um zu prüfen, ob die folgenden Rechte festgelegt sind:
- Als Batch-Job
anmelden - Als Dienst anmelden
- Das System herunterfahren
- Debug-Programme
- Quoten erhöhen
- Als Teil des Betriebssystems fungieren
- Bypass Traversierung
- Ersetzen Sie ein Token auf Prozessebene

Das Endergebnis war, dass meine IT-Abteilung und InfoSec entschieden haben, dass WebSphere MQ "Server-Software" ist und daher nicht auf einzelnen Workstations zulässig ist. Daher konnte ich die oben genannte Lösung nicht testen.

1
Siehe Update unten. Nicht sicher, ob das für Sie funktionieren würde, aber es ist für andere Benutzer mit einem ähnlichen Problem zu beachten. Wenn Sie diese Erfahrung an das WMQ-Entwicklerlabor weitergeben möchten, senden Sie eine WMQ-Anforderung unter http://bit.ly/WMQReq, in der beschrieben wird, wie Sie das Problem möglicherweise beheben möchten. Deaktivieren Sie die Sicherheit zum Zeitpunkt der Installation und das WMQ-Äquivalent von HTACCESS Datei, LDAP-Repository oder was auch immer für Sie funktionieren würde. T.Rob vor 12 Jahren 0
Es ist erwähnenswert, dass die von Rob, AJ und Eduardo gegebenen Lösungen andere Probleme angehen als die in der Frage angegebenen. Sie arbeiten, indem sie sicherstellen, dass die ID, die MQ präsentiert wird, von MQ lokal aufgelöst werden kann. Das ursprüngliche Problem bestand darin, dass die angegebene ID keine lokale ID war und MQ die Domäne abfragen muss, um Gruppeninformationen abzurufen. Um MQ auf Ihrer Workstation zum Laufen zu bringen, sind diese Lösungen in Ordnung. Wenn Sie sicherstellen müssen, dass der Produktions-QMgr nicht krater ist, weil eine Domänen-ID angegeben wurde, folgen Sie den Empfehlungen von IBM oder meiner Antwort, um die erforderlichen Rechte für den MQ svc acct zu erteilen. T.Rob vor 8 Jahren 0

5 Antworten auf die Frage

3
Rob van der Spek

Obwohl ich die oben genannten DCOM-Einträge nicht finden konnte (V7.1 bezogen?), Konnte ich mit Hilfe des zuvor genannten Runas-Tipp ein lokales Windows V7.1-Qmgr erstellen, starten und eine Verbindung herstellen, ohne Active Directory-Zugriff zu haben . Das habe ich gemacht:

  • Ändern Sie das Kennwort für den Benutzer MUSR_MQADMIN im lusrmgr von Windows
  • Überprüfen Sie, ob der MQService angehalten wurde
  • Ändern Sie in der Serviceliste auch das Kennwort für den Benutzer MUSR_MQADMIN
  • Öffnen Sie eine DOS-Box und führen Sie Folgendes aus: C:> runas / user: MUSR_MQADMIN "crtmqm QMGR1" C:> runas / user: MUSR_MQADMIN "strmqm QMGR1" (Beachten Sie, dass Sie für jeden Befehl das Kennwort angeben müssen).
  • Klicken Sie mit der rechten Maustaste auf das MQ-Symbol in der Taskleiste und wählen Sie "WebSphere MQ Explorer" aus.
  • Der MQ Explorer wird geöffnet und sollte den Qmgr "QMGR1" mit einem roten nach unten zeigenden Pfeil anzeigen. Klicken Sie mit der rechten Maustaste auf dieses Symbol und wählen Sie "Start ...".
  • Wählen Sie im Popup "Start interaktiv" und klicken Sie auf "OK".
  • Das QMGR1-Symbol sollte jetzt einen grünen Pfeil nach oben (gestartet) haben und sein Quadrat sollte gelb (verbunden) sein.
  • Erstellen Sie im MQ-Explorer eine Warteschlange mit dem Namen TEST1 und machen Sie die Standardpersistenz dauerhaft
  • Führen Sie in der DOS-
    Box Folgendes aus : C:> amqsput TEST1 QMGR1 Geben Sie eine Nachricht ... und dann eine leere Zeile ein, um das Beispielprogramm zu beenden
  • Prüfen Sie nun im MQ Explorer, ob Ihre Nachricht vorhanden ist!

Tipp: MQ-Returncodes können schnell mit dem Befehl "mqrc, zB C:> mqrc 2085" überprüft werden

Dies war ein Lebensretter. Ich möchte auch hinzufügen, dass es möglicherweise erforderlich ist, den MQ-Explorer explizit als MUSR_MQADMIN auszuführen, wenn Sie diese Lösung verwenden. G_H vor 10 Jahren 0
1
T.Rob

WebSphere MQ muss immer die Gruppenmitgliedschaft einer ID anfordern, die versucht, ihre Komponenten auszuführen oder den Zugriff auf seine Ressourcen zu autorisieren. Wenn diese IDs nicht lokal sind, benötigt MQ Rechte zum Durchführen von SAM-Mitgliedschaftssuchen in der Domäne, der die ID gehört. Es gibt einige Problemumgehungen:

  1. Verwenden Sie eine lokale ID. MQ kann immer in der lokalen SAM-Datenbank nachschlagen, da diese von einem Administrator installiert werden muss und sich während der Installation die entsprechenden lokalen Rechte erteilt hat. Es muss nicht MUSR_MQADMIN sein, aber es muss sich in der Gruppe mqm befinden, wenn QMgr ausgeführt wird.
  2. Verwenden Sie WMQ Explorer, um den QMgr zu starten. In einer neueren Version von WMQ Explorer werden verschiedene Optionen angezeigt. Eine davon ist, den QMgr unter der ID zu starten, der der Dienst gehört. Nach dem Start können Sie Ihre reguläre ID verwenden, um auf Warteschlangen und Themen zuzugreifen.

UPDATE:
Ich wünschte, ich hätte darüber nachgedacht, bevor Ihre IT-Abteilung eingedämmt wurde, aber der Object Authority Manager kann deaktiviert werden. Dies ist die Komponente, die die Suche in der AD-Domäne durchführt. Ich weiß, dass die Deaktivierung es ermöglicht, dass eine Verbindung zum QMgr ohne Probleme mit der Domänenberechtigung hergestellt werden kann. Ich bin mir ziemlich sicher, dass dadurch auch Ihre ID die Prozesse ausführen kann, die den QMgr ausführen.

Mein Problem ist, dass alle Benutzer-IDs und Gruppenmitgliedschaften zentral von Active Directory verwaltet werden. Ich habe eigentlich keine Berechtigung, alles zu tun, was Sie gesagt haben. Sehen Sie sich meine Antwort vom IBM Kundendienst an. Vielen Dank! noahz vor 12 Jahren 0
1
ajkret

Ich entwickle auch Anwendungen mit dem Websphere Message Broker. Derzeit habe ich eine "Entwickler" Edition. Ich habe einen Weg gefunden, dies zu umgehen, indem ich MQ mit deaktiviertem SAM-Mitgliedschaftsausblick installiere.

Dazu habe ich "Websphere MQ Launchpad" (Setup.exe unter Windows ausführen) aus dem Installationsverzeichnis (Websphere_MQ_V7.5) ausgeführt. Auf der Registerkarte "Netzwerkkonfiguration" können Sie die Konfiguration der Benutzer-ID deaktivieren. Wählen Sie "Nein" und führen Sie die Installation durch.

Nicht, dass dies möglicherweise nicht die beste Option für Produktions- und Qualitätssicherungsumgebungen ist.

In der Tat wäre die Verwendung eines anderen Benutzers viel besser, einer ohne Leerzeichen oder einer vorkonfigurierten WebSphere Message Broker-Instanz. Später hatte ich ein ähnliches Problem beim Ausführen der Anwendung. ajkret vor 8 Jahren 0
1
simonalexander2005

Ich weiß, dass dies eine alte Frage ist, aber das ist etwas, auf das ich seitdem ein paar Mal gestoßen bin. also dachte ich, ich würde meine erfahrung teilen.

Was ich getan habe, war, durch das Installationsprogramm zu gelangen, indem Sie bei den Domänenbenutzeroptionen Nein auswählen. dann:

  1. Überprüfen Sie, ob der Dienst als lokales Systemkonto ausgeführt wird (Task-Manager -> Dienste -> Dienste -> IBM Websphere MQ -> Eigenschaften -> Anmelden -> Lokales Systemkonto).
  2. Stellen Sie die Umgebungsvariable so ein, dass OAM deaktiviert wird ( WARNUNG: DIESE UNTERSTÜTZT DIE AUTHENTIFIZIERUNG IN MQ )MQSNOAUT=NO
  3. Fügen Sie alle zur Gruppe mqm hinzu, um auf der sicheren Seite zu sein.

Es hat trotzdem funktioniert (Windows 7)

Vielen Dank! Dies ist in der Tat eine alte Frage (und seitdem bin ich vom Arbeitgeber, wo ich darauf gestoßen bin, weitergegangen), aber ich denke, das Kernproblem, das ich hatte, war, dass ich keine Administratorrechte für meinen eigenen Computer hatte. Grundsätzlich ist das Ausführen von WebSphere MQ als Entwickler ohne Administratorrechte auf dem eigenen Computer eine lästige Aufgabe :( noahz vor 7 Jahren 0
Einverstanden!! Ich denke jedoch, dass das Festlegen dieser Umgebungsvariable die Notwendigkeit von Administratorrechten oder zumindest das Lesen der Gruppenmitgliedschaft beseitigt simonalexander2005 vor 7 Jahren 0
0
Eduardo Costa

Ich denke, der beste Schuss ist Runas, um als Mq-Benutzer zu laufen:

runas /user:MUSR_MQADMIN "strmqm <qmgr-name>" 
Hah, danke. Ich habe WebSphere MQ seit dem Senden dieser Frage deinstalliert, werde es jedoch erneut versuchen, falls dies erforderlich ist. noahz vor 12 Jahren 0
Sehen Sie mein aktuelles Update. noahz vor 12 Jahren 0