[AIX, Linux, Windows]

Configurando o JAAS para canais AMQP

Java Os módulos customizados do Authentication and Authorization Service (JAAS) podem ser usados para autenticar credenciais de nome do usuário e senha transmitidas para um canal AMQP por um cliente AMQP quando ele se conecta.

Sobre esta tarefa

Você pode desejar usar um módulo JAAS customizado se já usar módulos JAAS para autenticação em outros sistemas baseados em Javae desejar reutilizar esses módulos para autenticar conexões AMQP para o MQ Como alternativa, você poderá desejar gravar um módulo JAAS customizado se os recursos de autenticação construídos no MQ não suportarem o mecanismo de autenticação que você deseja usar.

A configuração de módulos JAAS para canais AMQP é feita em um nível do gerenciador de filas. Isso significa que, se você configurar um módulo JAAS para autenticar conexões AMQP para o gerenciador de filas, esse módulo se aplicará a todos os canais AMQP. O nome do canal que chamou o módulo JAAS é passado para o módulo, permitindo codificar um log JAAS diferente em comportamento para diferentes canais.

Outras informações também são passadas para o módulo JAAS:
  • O identificador de cliente do cliente AMQP que está tentando autenticar.
  • O endereço de rede do cliente AMQP.
  • O nome do canal que chamou o módulo JAAS.

Procedimento

Defina um módulo de configuração JAAS para canais AMQP concluindo as etapas a seguir:

  1. Defina um arquivo jaas.config que contenha uma ou mais sub-rotinas de configuração do módulo JAAS A sub-rotina deve especificar o nome completo da classe Java que implementa a interface JAAS javax.security.auth.spi.LoginModule .
    • Um arquivo padrão jaas.config é enviado com o produto e está localizado em QM_data_directory/amqp/jaas.config.
    • Uma sub-rotina pré-configurada denominada MQXRConfig já está definida no arquivo padrão jaas.config.
  2. Especifique o nome da sub-rotina a usar para canais AMQP.
    • [AIX][Linux]Inclua uma propriedade no arquivo amqp_unix.properties ..
    • [Windows]Inclua uma propriedade no arquivo amqp_win.properties ..
    A propriedade tem a forma a seguir:
    com.ibm.mq.MQXR.JAASConfig=JAAS_stanza_name
    Por exemplo:
    com.ibm.mq.MQXR.JAASConfig=MQXRConfig
  3. Configure o ambiente do gerenciador de filas para incluir a classe do módulo customizado. O serviço AMQP deve ter acesso à classe Java configurada na sub-rotina de configuração JAAS .

    Você faz isso incluindo o caminho para a classe JAAS para o arquivo MQ service.env. Edite o arquivo service.env no diretório de configuração MQ (MQ_config_directory) ou o diretório de configuração do Gerenciador de Filas (QM_config_directory) para configurar a variável CLASSPATH para a localização da classe de módulo JAAS.

O Que Fazer A Seguir

Um módulo de login de amostra JAAS é enviado com o produto no diretório mq_installation_directory/amqp/samples. O módulo de login do JAAS de amostra autentica todas as conexões do cliente, independentemente do nome do usuário ou senha com o qual o cliente se conecta.
É possível modificar o código-fonte da amostra e recompilá-lo para tentar a autenticação de somente usuários específicos com uma senha particular. Para configurar o canal AMQP em um sistema UNIX para usar o módulo de login do JAAS de amostra enviado com o produto:
  1. Edite o arquivo /var/mqm/qmgrs/QMNAME/amqp/amqp_unix.properties e configure a propriedade com.ibm.mq.MQXR.JAASConfig=MQXRConfig.
  2. Edite o arquivo /var/mqm/service.env e configure a propriedade CLASSPATH=mq_installation_location/amqp/samples
O arquivo jaas.config já contém uma sub-rotina nomeada MQXRConfig que especifica a classe de amostra samples.JAASLoginModule como a classe do módulo de login. Nenhuma mudança é necessária para jaas.config antes de você tentar o módulo de amostra.