O WebSphere MQ em execução na conta / grupo local não pode ler membros do grupo para o usuário do Active Directory. Solução alternativa ou resolução alternativa?

1

Estou desenvolvendo um aplicativo que está usando o WebSphere MQ v6.0. O WebSphere MQ não está funcionando atualmente devido ao seguinte problema:

  • O serviço do WebSphere MQ é executado no usuário local "MUSR_MQADMIN" no grupo local "mqm"
  • Eu tento usar o serviço usando minha própria conta, BIZ \ noahz
  • MUSR_MQADMIN precisa verificar se BIZ \ noahz está no grupo local "mqm"
  • MUSR_MQADMIN não tem permissão para ler os membros do grupo do Active Directory de BIZ \ noahz
  • O seguinte erro aparece no arquivo de log do MQ:

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

1/31/2011 18:51:32 - Process(704.1105) User(MUSR_MQADMIN) Program(amqzlaa0.exe) AMQ8079: Access was denied when attempting to retrieve group membership information for user 'noahz@biz'.

EXPLANATION: WebSphere MQ, running with the authority of user 'musr_mqadmin@noahz-biz', was unable to retrieve group membership information for the specified user. ACTION: Ensure Active Directory access permissions allow user 'musr_mqadmin@noahz-biz' to read group memberships for user 'noahz@biz'. To retrieve group membership information for a domain user, MQ must run with the authority of a domain user.

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

Encontrei mais informações aqui no site da IBM: link

Eu não tenho direitos de administrador do Active Directory para minha máquina Windows, então minha pergunta é:

Há mais alguma coisa que eu possa fazer para resolver (ou contornar) esse problema e fazer com que o WebSphere MQ funcione novamente? Por exemplo, posso desativar essa verificação de segurança no WebSphere MQ?

UPDATE Esta é a resposta que recebi do suporte da IBM:

Usually, these errors indicate a issue with the userid the MQ service is configured to run under in dcom. If you are unsure of what userid this is, you can check with the following:

Open a command prompt and type: dcomcnfg. Once the Component Services MMC opens, double-click "Component Services" double-click "Computers" double-click "My Computer" double-click "DCOM Config". In the window, look for "IBM MQSeries Services", and on it right click, then choose properties. Click on the "Identity" tab. It should show "this user" followed by a id.

Please make sure the MQ services id (from the Identity tab above) has the needed rights locally. Grant it any rights that are missing for the following:

Open Start->Programs->Administrative Tools->Local Security Settings.

Open up Local Policies then User Rights Assignments, double click to check that the following rights are set:
- Logon as batch job
- Logon as service
- Shut down the system
- Debug programs
- Increase quotas
- Act as part of the operating system
- Bypass traverse checking
- Replace a process level token

O resultado final foi que meu departamento de TI e o InfoSec decidiram que o WebSphere MQ é "software de servidor" e, portanto, não é permitido em estações de trabalho individuais, portanto, nunca cheguei a testar a solução acima!

    
por noahz 01.02.2011 / 19:23

5 respostas

3

Embora eu não tenha encontrado as entradas DCOM mencionadas acima (relacionadas à V7.1?), eu pude, com o auxílio da dica runas mencionada anteriormente, criar, iniciar e conectar a um Qmgr local do Windows V7.1 sem ter Acesso ao Active Directory. Foi o que eu fiz:

  • Alterar a senha do usuário MUSR_MQADMIN no lusrmgr do Windows
  • Verifique se o MQService parou
  • Na lista de serviços, altere também a senha do usuário MUSR_MQADMIN
  • Abra um DOSbox e execute: C: > runas / user: MUSR_MQADMIN "crtmqm QMGR1" C: > runas / user: MUSR_MQADMIN "strmqm QMGR1" (note que para cada comando você terá que fornecer a senha)
  • Clique com o botão direito do mouse no ícone do MQ na barra de tarefas e selecione "WebSphere MQ Explorer"
  • O MQ Explorer é aberto e deve indicar o Qmgr "QMGR1" com um vermelho seta apontando para baixo. Clique com o botão direito nesse ícone e selecione "Iniciar ..."
  • No pop-up, selecione "Iniciar interativo" e clique em "OK"
  • O ícone QMGR1 agora deve ter uma seta verde apontando para cima (iniciado) e seu quadrado deve ser amarelo (conectado).
  • No MQ Explorer, crie uma Fila chamada TEST1 e torne sua persistência padrão persistente
  • Na caixa de DOS, execute:
    C: > amqsput TEST1 QMGR1 Digite uma mensagem ... e, em seguida, uma linha vazia para finalizar o programa de amostra
  • Agora, verifique no MQ Explorer se sua mensagem está lá!

Dica: Os códigos de retorno do MQ podem ser verificados rapidamente com o comando "mqrc, f.i. C: > mqrc 2085

    
por 21.06.2012 / 10:59
1

O WebSphere MQ sempre precisará obter a associação ao grupo de qualquer ID que esteja tentando executar seus componentes ou autorizar o acesso a seus recursos. Se esses IDs forem não locais, o MQ precisará de direitos para realizar pesquisas de associação de SAM no domínio que possui o ID. Há algumas soluções disponíveis:

  1. Use um ID local. O MQ sempre poderá executar pesquisas no banco de dados SAM local porque ele deve ter sido instalado por um administrador e terá concedido os direitos locais apropriados durante a instalação. Não precisa ser MUSR_MQADMIN, mas deve estar no grupo mqm se for executar o QMgr.
  2. Use o WMQ Explorer para iniciar o QMgr. Qualquer versão recente do WMQ Explorer solicitará diferentes opções, uma das quais é iniciar o QMgr com o ID que possui o serviço. Uma vez iniciado, você pode usar seu ID regular para acessar filas e tópicos.

UPDATE:
Queria ter pensado nisso antes que o seu departamento de TI reduzisse, mas é possível desabilitar o Gerenciador de Autoridade de Objeto. Esse é o componente que realiza a pesquisa no domínio do AD. Eu sei que desativá-lo permite que qualquer coisa se conecte ao QMgr sem problemas de permissão de domínio. Estou bastante seguro fazendo isso também permite que o seu ID execute os processos que executam o QMgr.

    
por 04.12.2011 / 19:35
1

Também estou desenvolvendo aplicativos com o Websphere Message Broker. Atualmente tenho uma edição de "desenvolvedor". Eu encontrei uma maneira de contornar isso instalando o MQ com a procura de associação SAM desativada.

Para isso, executei o "Websphere MQ Launchpad" (execute o Setup.exe no Windows) no diretório de instalação (Websphere_MQ_V7.5). Na guia "Configuração de rede", há uma opção para desativar a configuração do ID do usuário. Escolha "Não" e realize a instalação.

Não que isso possa não ser a melhor opção para ambientes de produção e controle de qualidade.

    
por 24.07.2013 / 21:11
1

Eu sei que essa é uma pergunta antiga, mas isso é algo que eu enfrentei algumas vezes desde então; então pensei em compartilhar minha experiência.

O que eu fiz foi acessar o instalador selecionando no para as opções do usuário do domínio; então:

  1. Verifique se o serviço está sendo executado como conta do sistema local (Gerenciador de tarefas - > Serviços - > Serviços - > IBM Websphere MQ - > Propriedades - > Logon - > Conta do sistema local)
  2. Defina a variável de ambiente para desabilitar o OAM ( AVISO: ISTO DESABILITA A AUTENTICAÇÃO NO MQ ), definindo MQSNOAUT=NO
  3. Adicione todos ao grupo mqm, para estar no lado seguro.

Funcionou para mim, de qualquer maneira (Windows 7)

    
por 17.01.2017 / 16:33
0

Acho que a melhor solução é usar runas para executar como o usuário mq:

runas /user:MUSR_MQADMIN "strmqm <qmgr-name>"
    
por 10.08.2011 / 22:38