MQRC_NOT_AUTHORIZED erreur lors de la connexion à Websphere MQ 7.1
Je suis "très" nouvelle IBM Websphere Mq, je vais essayer de donner autant de détails que possible.
J'ai Websphere MQ 7.1 installé sur Windows server 2003 en cours d'exécution sur Vmware Workstation. L'Hôte est en cours d'exécution Windows 7 avec Websphere MQ Client et mon ASP.NET application. (Ma demande est censé se connecter à Windows server 2003 Websphere du gestionnaire de File d'attente via SVRCONN canal, Websphere client installé sur l'ordinateur hôte est utilisé seulement pour des fins de test, la connexion WMQ Client pour WMQ résultats de Serveur dans un AMQ4036 l'accès non autorisé d'erreur, ce qui conduit à la conclusion de configuration de serveur nécessaire!)
Système peut ping les uns des autres et sont sur le même réseau local. (j'ai aussi mentionné que le port 1415 est ouvert et à l'écoute TCP est en cours d'exécution sur le serveur de la machine virtuelle?)
ASP.NET le segment de code :
queueManager = new MQQueueManager(queueManagerName, queueProperties);
avec queueManagerName correspondant au serveur du gestionnaire de file d'attente et queueProperties comme suit:
queueProperties[MQC.HOST_NAME_PROPERTY] = "192.168.203.128";
queueProperties[MQC.PORT_PROPERTY] = 1415;
queueProperties[MQC.CHANNEL_PROPERTY] = "QM_TEST.SVRCONN";
queueProperties[MQC.USER_ID_PROPERTY] = "";
queueProperties[MQC.PASSWORD_PROPERTY] = "";
lors de la compilation j'obtiens le MQRC_NOT_AUTHORIZED exception et ceci à la suite de journaux dans AMQERR01.ouvrez une session sur le côté serveur (REMARQUE: L'IBM WMQ est installé dans la langue française, les journaux sont générés en français, mais je pense que vous allez réussir à comprendre l'erreur.)
3/04/2013 21:32:25 - Process(1120.3) User(MUSR_MQADMIN) Program(amqzmur0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ6287: WebSphere MQ VC:\Program Files\IBM\WebSphere MQ (Installation1).
EXPLICATION :
Informations système WebSphere MQ :
Produit :- Windows Server 2003, Build 3790: SP1 (MQ Windows 32-bit)
Version :- C:\Program Files\IBM\WebSphere MQ (Installation1)
Informations hôte :- 7.1.0.2 (p710-002-121029)
ACTION :
Aucun(e).
-------------------------------------------------------------------------------
13/04/2013 21:32:25 - Process(2128.11) User(MUSR_MQADMIN) Program(amqzlaa0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ8075: L'autorisation a échoué car il est impossible d'obtenir le SID de
l'entité 'hatrix'.
EXPLICATION :
Le gestionnaire des droits d'accès aux objets n'a pas pu obtenir le SID de
l'entité spécifiée. Cet incident peut être dû à l'absence de la machine locale
du domaine (l'entité ne peut donc pas être localisée) ou à l'inexistence de
l'entité.
ACTION :
Vérifiez que l'entité est valide et que tous les contrôleurs de domaine requis
sont disponibles. Il peut être nécessaire de créer l'entité sur la machine
locale.
----- amqzfubn.c : 2227 -------------------------------------------------------
13/04/2013 21:32:25 - Process(2524.7) User(MUSR_MQADMIN) Program(amqrmppa.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ9245: Impossible d'extraire des détails de compte pour l'ID utilisateur de
canal MCA.
EXPLICATION :
WebSphere MQ n'a pas pu extraire des détails de compte pour l'ID utilisateur de
canal MCA Hatrix. Il s'agit de l'ID utilisateur MCA pour le canal
QM_TEST.SVRCONN sur le gestionnaire de files d'attente QM_TEST. Il peut avoir
été défini dans la définition de canal ou fourni par un exit de canal ou un
client.
ACTION :
Vérifiez que l'ID utilisateur est correct et qu'il est défini dans le système
local Windows, le domaine local ou un domaine de confiance. Dans le cas d'un ID
utilisateur de domaine, assurez-vous que que tous les contrôleurs de domaines
nécessaires sont disponibles.
----- cmqxrsrv.c : 1778 -------------------------------------------------------
13/04/2013 21:32:25 - Process(2128.11) User(MUSR_MQADMIN) Program(amqzlaa0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ8073: Echec de l'autorisation. Le SID ((None)) n'a pas pu être corrélé.
EXPLICATION :
Le gestionnaire de droits d'accès aux objets n'a pas pu faire correspondre le
SID spécifié à des informations connues d'entité et de domaine.
ACTION :
Assurez-vous que l'application fournit un SID reconnu sur ce système, que tous
les contrôleurs de domaines nécessaires sont disponibles et que les règles de
sécurité sont correctement définies.
----- amqzfubn.c : 4351 -------------------------------------------------------
AFFICHAGE CHLAUTH(QM_TEST.SVRCONN) commande retourne:
CHLAUTH(QM_TEST.SVRCONN) TYPE(USERMAP)
DESCR( ) CUSTOM( )
ADDRESS(*) CLNTUSER(HATRIX)
MCAUSER( ) USERSRC(CHANNEL)
WARN(NO) ALTDATE(2013-04-13)
ALTTIME(13.53.03)
AMQ8878: Affichage des détails relatifs à l'enregistrement d'authentification de
canal.
CHLAUTH(QM_TEST.SVRCONN) TYPE(USERMAP)
DESCR( ) CUSTOM( )
ADDRESS(*) CLNTUSER(MQM)
MCAUSER( ) USERSRC(CHANNEL)
WARN(NO) ALTDATE(2013-04-13)
ALTTIME(13.57.59)
AMQ8878: Affichage des détails relatifs à l'enregistrement d'authentification de
canal.
CHLAUTH(QM_TEST.SVRCONN) TYPE(ADDRESSMAP)
DESCR( ) CUSTOM( )
ADDRESS(*) MCAUSER(ADMINISTRATEUR)
USERSRC(MAP) WARN(NO)
ALTDATE(2013-04-13) ALTTIME(01.53.52)
(notez que j'ai ajouté quelques règles, et USERID Hatrix n'existe pas, je l'ai incluse dans un ENSEMBLE CHLAUTH de commande pour objectif de test)
J'ai pensé qu'il a à faire avec MCAuser j'ai donc fait un essai avec le MCAuser réglé sur "Administrateur" (qui est l'admin nom de WMQ) et la connexion avec:
queueProperties[MQC.USER_ID_PROPERTY] = "Administrateur";
Me donne toujours la même erreur, mais avec différentes côté serveur du journal de sortie:
13/04/2013 21:41:18 - Process(1120.3) User(MUSR_MQADMIN) Program(amqzmur0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ6287: WebSphere MQ VC:\Program Files\IBM\WebSphere MQ (Installation1).
EXPLICATION :
Informations système WebSphere MQ :
Produit :- Windows Server 2003, Build 3790: SP1 (MQ Windows 32-bit)
Version :- C:\Program Files\IBM\WebSphere MQ (Installation1)
Informations hôte :- 7.1.0.2 (p710-002-121029)
ACTION :
Aucun(e).
-------------------------------------------------------------------------------
13/04/2013 21:41:18 - Process(2524.8) User(MUSR_MQADMIN) Program(amqrmppa.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ9776: La canal a été bloqué par l'ID utilisateur.
EXPLICATION :
Le canal entrant 'QM_TEST.SVRCONN' a été bloqué à partir de l'adresse
'192.168.203.1' parce que les valeurs actives du canal étaient mappées sur un
ID utilisateur qui devrai t être bloqué. Les valeurs actives du canal étaient
**'MCAUSER(Administrateur) CLNTUSER(Hatrix)'.**
ACTION :
Prenez contact avec l'administrateur système qui examinera les enregistrements
d'authentification de canal pour s'assurer que les paramètres corrects ont été
configurés. Le commutateur ALTER QMGR CHLAUTH permet de contrôler si les
enregistrements d'authentification de canal sont utilisés. La commande DISPLAY
CHLAUTH peut être utilisée pour interroger les enregistrements
d'authentification de canal.
----- cmqxrmsa.c : 1004 -------------------------------------------------------
13/04/2013 21:41:18 - Process(2524.8) User(MUSR_MQADMIN) Program(amqrmppa.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ9999: Le canal 'QM_TEST.SVRCONN' vers l'hôte 'FAIROUZ (192.168.203.1)' s'est
terminé anormalement.
EXPLICATION :
Le programme du canl s'exécutant sous l'ID processus 2524(488) pour le canal
'QM_TEST.SVRCONN' a pris fin anormalement. Le canal est 'FAIROUZ
(192.168.203.1)'. Dans certains cas, son nom ne peut pas être déterminé et il
est représenté par '????'.
ACTION :
Examinez les messages d'erreur précédents du programme de canal dans les
journaux des erreurs afin de déterminer la cause de l'incident. Notez que ce
message peut être totalement exclus ou supprimé en réglant les attributs
"ExcludeMessage" ou "SuppressMessage" sous la strophe "QMErrorLog" dans le
fichier qm.ini. D'autres informations figurent dans le guide d'administration
du système.
----- amqrmrsa.c : 925 --------------------------------------------------------
Ce que je ne pouvais pas comprendre, ce qui est l'utilisation du nom d'utilisateur et MOT de passe dans la queuemanager propriétés dans ASP.NET d'où le nom d'utilisateur identifié dans WMQ est "Hatrix" (ce qui est windows 7 nom du compte).
Dois-je créer un nouveau nom d'utilisateur "Hatrix" dans WMQ afin de faire mon code fonctionne? (je n'ai pas compris comment )
Merci d'avance,
MqDebug.
OriginalL'auteur MqDebug | 2013-04-14
Vous devez vous connecter pour publier un commentaire.
Premier problème est que le QMgr doit être en mesure de résoudre l'ID est passé. Cela signifie que l'IDENTIFIANT est défini localement ou dans un domaine pour lequel la QMgr a accès. Normalement, les autorisations sont accordées sur le groupe et si oui, alors il doit être résolu par la réception de la QMgr.
Maintenant vient la question de ce qu'est, exactement, le QMgr résoudre? Lorsque vous avez une connexion à partir d'un ordinateur Windows vers un QMgr sur une machine Windows, puis l'ID qui est transmise par le canal de Windows est le SID qui est un Identificateur Unique universel (UUID)et non pas la chaîne de texte. De même, le groupe décide d'un SID Windows.
Ainsi, par exemple, vous pouvez avoir un IDENTIFIANT appelé ADMINISTRATEUR définis localement sur deux Fenêtres, boîtes et il ne fonctionne toujours pas. Les erreurs de dire que la pièce d'identité a été
ADMINISTRATEUR
et que l'ID n'est pas autorisé et vous pouvez clairement voir dans lesdspmqaut
commandesADMINISTRATEUR
est autorisé. À l'exception de ce qui se passe est queADMINISTRATEUR
sur un hôte est unique UUID et le compte du même nom sur l'autre hôte a un autre UUID et Windows est en regardant l'UUID et non pas la chaîne de texte.Lorsque vous avez le même IDENTIFIANT défini dans plusieurs endroits, la QMgr doit être capable de différencier entre eux. Lorsqu'il ne peut pas, étrange et inhabituelle choses se produisent.
Par exemple, disons que vous définissez un canal avec
MCAUSER('hatrix')
puis exécutezsetmqaut -p hatrix
. Nous allons indiquer que leshatrix
ID n'est pas définie localement, mais plutôt est définie dans les deuxDOMAINA
etDOMAINB
et que, lorsque la commande est exécutée, leDOMAINA
serveur de domaine est le premier dans le chemin de recherche.La
setmqaut
commande résout le nomhatrix
à un UUID défini dansDOMAINA
.Plus tard en raison de l'activité normale du réseau,
DOMAINB
monte à la première place dans le domaine chemin de recherche. Maintenant, quand leMCAUSER('hatrix')
tente de se connecter, la chaînehatrix
résout enDOMAINB
qui est un différents UUID que celui de lasetmqaut
commande résolu. Le canal qui a été la connexion normalement lance du coup un horizon 2035 erreur.La réponse à ce problème est de se qualifier à la fois la
setmqaut
de commande et leMCAUSER
de la valeur avec le domaine de votre choix. Par exemple,setmqaut -p hatrix@DOMAINA
et puisMCAUSER('hatrix@DOMAINA')
fonctionnera indépendamment de savoir siDOMAINA
ouDOMAINB
sont d'abord dans le chemin de recherche, ou même sihatrix
est définie localement sur la WMQ serveur hôte. (En supposant quehatrix
est en effet défini dansDOMAINA
de cours.Comme une règle, en général, vous ne voulez pas utiliser l'option-p sur
setmqaut
commandes. La seule exception est hosts de Windows, et ensuite seulement lorsque l'ID est qualifié avec un nom de domaine ou serveur, comme indiqué ci-dessus.Enfin, laissant le canal du
MCAUSER
vide est ce qui permet à votre Windows ID de flux pour le MCA et être utilisé pour les contrôles d'autorisation. Ce que vous devez comprendre, c'est qu'il n'y a pas d'authentification en cours. Oui, c'est vrai que le client Windows envoyer ses SID Windows. Toutefois, si vous exécutez une machine virtuelle Linux sur votre machine Windows, et se connecter avec ça, il n'y a pas de SID passer et si les Fenêtres QMgr revient à la résolution de la chaîne de valeur de l'ID. Cela signifie que n'importe qui peut se connecter à cette voie que tout ID juste en affirmant l'ID que vous voulez à partir d'un non-client Windows.Donc fortement authentifier les connexions administratives avec des certificats. Pour la basse-liens privilégiés, l'utilisation CHLAUTH règles ou une sortie pour définir la
MCAUSER
plutôt que de laisser le flux de à travers, et ensuite utilisersetmqaut
pour s'assurer queMCAUSER
n'est pas administrative. Que signifie ne jamais accorder+set
sur le QMgr et+crt
sur les files d'attente pour les non-administrateurs et éviter+setid, +setall
dans la mesure du possible.Pour beaucoup plus d'WMQ de contenu de Sécurité, s'il vous plaît aller à t-rob.net.
OriginalL'auteur T.Rob
Utilisation setmqaut d'affecter l'autorisation de "Hatrix" UserID mais il est préférable de le faire à l'encontre d'un groupe plutôt que d'un nom d'utilisateur.
OriginalL'auteur Roger
de fixation...la commande est
setmquat -m qmgrname -t qmgr -p nom d'utilisateur +allqmi
whrere:
qmgrname est le nom de qmgr
le nom d'utilisateur est le nom du compte sous eclipse est en cours d'exécution et que ce compte n'est pas dans la liste d'interdiction.
OriginalL'auteur flavio