2012-02-02 14 views
6

ho bisogno di scrivere un connettore Net per le code WebSphere MQ così ho installato una versione di prova di IBM WebSphere MQ sulla mia macchina Windows 7. Inizialmente ho impostato alcune code fittizie in MQ Explorer per giocare con il processo di installazione e sono stato in grado di connettermi a quei gestori code e creare code. Ho cancellato quelle code fittizi e seguito la prima serie di istruzioni from Lesson 1.1 from IBM here dove ho creato alcune code dalla riga di comandoPuò creare Websphere Queue Manager, ma non collegare

ho fallito to run Lesson 1.2 a causa di problemi di sicurezza, e ora non è possibile collegarsi a qualsiasi gestori code in MQ Explorer. quando provo a connettermi ricevo il messaggio di errore

An unexpected error (2063) has occurred. (AMQ4999) 
  • Io sono amministratore locale sulla mia macchina.
  • mi sono aggiunto al gruppo MQM che è stato creato
  • Ho eseguito il MQ Explorer sia con che senza il 'Esegui come amministratore' opzione
  • Ho disinstallato MQ e re-installato
  • ho ripartito più volte

ho anche notato che quando creo un gestore code in MQ Explorer, l'ultima parte viene a mancare con AMQ8135: Non autorizzato. (vedi uscita sotto)

C'è qualcosa di ovvio che mi manca?

c'è qualche modo che io riesco a capire quale sia il problema io stesso - i file di log non sembrano darmi alcuna idea di dove cercare


**************************************** 
* Command: "C:\Program Files (x86)\IBM\WebSphere MQ\bin\crtmqm" -sa QM1 
**************************************** 
There are 90 days left in the trial period for this copy of WebSphere MQ. 
WebSphere MQ queue manager created. 
Directory 'C:\Program Files (x86)\IBM\WebSphere MQ\qmgrs\QM1' created. 
The queue manager is associated with installation 'Installation2'. 
Creating or replacing default objects for queue manager 'QM1'. 
Default objects statistics : 74 created. 0 replaced. 0 failed. 
Completing setup. 
Setup completed. 
exitvalue = 0 
**************************************** 
* Command: "C:\Program Files (x86)\IBM\WebSphere MQ\bin\strmqm" QM1 
**************************************** 
There are 90 days left in the trial period for this copy of WebSphere MQ. 
WebSphere MQ queue manager 'QM1' starting. 
The queue manager is associated with installation 'Installation2'. 
5 log records accessed on queue manager 'QM1' during the log replay phase. 
Log replay for queue manager 'QM1' complete. 
Transaction manager state recovered for queue manager 'QM1'. 
WebSphere MQ queue manager 'QM1' started using V7.1.0.0. 
exitvalue = 0 
**************************************** 
* Command: "C:\Program Files (x86)\IBM\WebSphere MQ\bin\runmqsc" QM1 
* Input: DEFINE LISTENER('LISTENER.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR) 
**************************************** 
5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED. 
Starting MQSC for queue manager QM1. 
AMQ8135: Not authorized. 
No MQSC commands read. 
No commands have a syntax error. 
All valid MQSC commands were processed. 
exitvalue = 20 

risposta

14

Se si dispone di una versione di prova recente di WMQ, allora si sta lavorando con un v7.1 QMgr. A partire dalla versione 7.1 WMQ consentirà solo connessioni remote non privilegiate. Al fine di connettersi con un account di amministratore, sarà necessario o disabilitare meglio ancora le restrizioni o, per definire un nuovo canale per la connessione amministrativa e autenticare.

Con Windows il problema più grande è che WMQ autentica ID dominio e deve guardare in alto i loro gruppi. Un problema molto comune durante l'esecuzione di WMQ in un ambiente aziendale è il tentativo di cercare un ID o un gruppo e non ha i diritti di dominio per farlo. Gli account di dominio, anche quelli con diritti di amministratore locale, spesso falliscono perché non hanno accesso per chiedere al dominio SAM di effettuare ricerche di gruppo. C'è un'intera sezione nell'Infocenter here che descrive i requisiti per gli account di Windows.

Una soluzione per questo per gli ambienti di sviluppo solo consiste nel creare un account di amministratore locale, quindi accedere con quello e creare il messaggio di QM. Oppure fare in modo che l'account predefinito MUSR_MQADMIN ha diritti di amministratore locale e diritti login. Anche in questo caso, è necessario effettuare l'accesso con l'account per fare in modo che funzioni in questo modo, poiché non è mai necessario eseguire la ricerca di un account in Active Directory perché interessa tutti il ​​database SAM locale. Ancora una volta, questo è solo per lo sviluppo!Nella produzione si desidera utilizzare un account di dominio reale e concedere i diritti di accesso corretti per effettuare le ricerche SAM ma NON renderlo un amministratore locale, come descritto nella sezione Infocenter collegata in precedenza.

Supponendo che si è riusciti a creare il QMgr, prossima creare un nuovo canale e autorizzarla per accettare le locali connessioni utilizzando l'account admin:

runmqsc 
* Define the channel, anyone connecting runs as MUSR_MQADMIN 
DEFINE CHL('DOTNET.SVRCONN') CHLTYPE(SVRCONN) MCAUSER('[email protected]') 

* Override default block-list - channel now allows ANYBODY 
SET CHLAUTH('DOTNET.SVRCONN') TYPE(BLOCKUSER) USERLIST('nobody') 

* Block access from ALL IP addresses 
SET CHLAUTH('DOTNET.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(NOACCESS) WARN(NO) ACTION(ADD) 

* Allow access from local host only 
SET CHLAUTH('DOTNET.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('127.0.0.1') USERSRC(CHANNEL) ACTION(ADD) 

END 

Ora avete un canale che accetterà locale SOLO connessioni, associarle a un account amministrativo e quindi ignorare la sicurezza che impedisce agli account amministrativi di connettersi in remoto. L'utilizzo dell'account amministratore significa che non sono richieste autorizzazioni di coda o QMgr e che l'account come amministratore locale significa che non ci sono problemi di ricerca del dominio. Lo MCAUSER('MUSR_MQADMIN) converte tutti gli ID remoti nell'ID amministratore locale in modo che WMQ non debba cercare gli ID remoti. La regola di mappatura limita le connessioni solo all'host locale. Chiunque sia in grado di connettersi al canale avrà un amministratore locale sul box con la possibilità di eseguire in remoto il codice del sistema operativo, quindi se si desidera accettare le connessioni da altri utenti, si consiglia di autenticarle con i certificati.

+0

Grazie T.Rob - era il problema con in esecuzione il servizio come utente non di dominio . –

4

Si consiglia di leggere questo post di T.Rob here. Anche altri post relativi alla sicurezza da lui, sono molto utili.

0

Ho avuto un problema simile. Il mio ufficio Dektop esegue windows xp a 32 bit e il mio progetto mi ha richiesto di installare Websphere MQ 7 (WMQ) su local. Avendo diritti di amministratore locale sul mio PC, sono riuscito a installare WMQ senza la configurazione delle opzioni del controller di dominio e ad aggiungere quemanager ma non sono riuscito ad aggiungere alcuna coda locale. Dopo aver controllato i log degli errori, ho scoperto che il mio id utente non ha abbastanza autorizzazioni.

Quindi la correzione è: verificare che l'ID di accesso faccia parte del gruppo Administrators sul proprio dominio. Vai a controllo -> account utente per verificare il tuo id utente. Se si dispone di diritti di amministratore locale sul proprio PC, è possibile aggiungere l'ID utente come parte del gruppo Amministratore. Elimina il gestore code creato in precedenza. Riavvia WMQ & crea nuovamente queuemanager. Ora dovresti vedere tutte le opzioni per aggiungere code locali, argomenti ecc. Sotto il gestore code appena creato.

-1

Si è verificato un errore imprevisto (2063). (AMQ4999)

L'errore precedente può verificarsi anche a causa del problema di autorizzazione, verificare con il permesso di gruppi e aggiungere gli utenti

+0

2063 non si verifica a causa di problemi di autorizzazioni, 2035 si verificherà per questo motivo. –