Este tópico descreve a utilização da fila de fluxo quando utilizada
com verificações de autoridade de publicação e assinatura em WebSphere MQ Publicação/Assinatura.
No
WebSphere MQ Publicação/Assinatura, todas as verificações de autoridade de publicação e assinatura são
executadas na fila de fluxo:
- Aplicativos de publicação devem ter a autoridade para colocar mensagens na
fila de fluxo.
- O intermediário WebSphere MQ Publicação/Assinatura também verifica a autoridade de aplicativos
de assinatura que desejam pesquisar a fila de fluxo.
- Aplicativos de assinatura devem ter a autoridade para colocar mensagens na
fila nomeada para receber suas publicações.
Uma verificação semelhante é feita pelos intermediários do WebSphere Message Broker,
mas as verificações não são feitas para autoridade de assinatura ou de procura. Em vez disso, o WebSphere Message Broker utiliza ACLs (Access Control Lists), as quais você cria utilizando o ambiente de trabalho, para fornecer as
autoridades requeridas para tópicos individuais.
Antes de migrar um intermediário
WebSphere MQ Publicação/Assinatura para o
WebSphere Message Broker ou
de migrar seus aplicativos do
WebSphere MQ Publicação/Assinatura para executarem em um
WebSphere Message Broker, é
preciso levar em consideração as seguintes implicações de segurança:
- Aplicativos de publicação são sujeitos às mesmas verificações, mesmo se o
seu intermediário não estiver sendo executado com segurança de tópico
ativada, porque a autoridade para colocar uma mensagem no fluxo ou fila de publicação continua sendo verificada pelo WebSphere MQ.
Entretanto, publicações de fluxo podem ser processadas pelo WebSphere Message Broker em qualquer fila de entrada, porque os publicadores não precisam mais
colocá-las em uma fila com o mesmo nome do fluxo. Portanto, configure as ACLs equivalentes para todos os fluxos utilizando seus
qualificadores de nível de tópico correspondentes.
- O intermediário WebSphere Message Broker não verifica se aplicativos de assinatura
têm autoridade de pesquisa na fila de fluxo. Em vez disso, o WebSphere Message Broker modela fluxos prefixando todos os tópicos
que não fazem parte do fluxo padrão com um prefixo exclusivo, $SYS/STREAM/<streamname>/.
Isso mantém as características de particionamento dos fluxos e também
possibilita que ACLs específicas de fluxos sejam configuradas. Como os
tópicos no fluxo padrão não são alterados pelo intermediário, o tópico raiz pode ser utilizado para especificar
autoridades para tópicos do fluxo padrão.
O diagrama a seguir mostra as autoridades de fluxo que são necessárias. O
exemplo assume que você tenha atualizado a ACL padrão na raiz de tópicos para o
PublicGroup principal com autoridade para publicação, assinatura e entrega
persistente, todos definidos como
deny.
Usando esse exemplo, suponha que os seguintes grupos estejam
definidos:
- PDefault: o grupo de usuários autorizados a publicar no
fluxo padrão
- SDefault: o grupo de usuários autorizados a assinar o
fluxo padrão
- PStreamX: o grupo de usuários autorizados a publicar no StreamX
- SStreamX: o grupo de usuários autorizados a assinar o StreamX
- PStreamY: o grupo de usuários autorizados a publicar no StreamY
- SStreamY: o grupo de usuários autorizados a assinar o StreamY
Você deve conceder e negar autoridades definindo ACLs da seguinte
maneira:
- PDefault deve conceder autoridade de publicação na raiz e SDefault
deve conceder autoridade de assinatura na raiz.
- PDefault deve ter autoridade de publicação negada em $SYS/STREAM/ SDefault deve ter autoridade
de assinatura negada em $SYS/STREAM/.
Essas definições asseguram que publicadores e assinantes no fluxo
padrão sejam incapazes de publicar em outros fluxos ou assiná-los sem
uma ACL explícita que substitua a definição relevante.
- PStreamX deve conceder autoridade de publicação em $SYS/STREAM/StreamX e SStreamX deve conceder autoridade de
assinatura em $SYS/STREAM/StreamX.
Estas definições sobrepõem qualquer definição em tópicos pais e
limitam as atividades de publicação e assinatura para usuários
dentro destes grupos específicos.
- PStreamY deve conceder autoridade de publicação em $SYS/STREAM/StreamY e SStreamY deve conceder autoridade de
assinatura em $SYS/STREAM/StreamY.
Estas definições sobrepõem qualquer definição em tópicos pais e
limitam as atividades de publicação e assinatura para usuários
dentro destes grupos específicos.
Se desejar definir exceções a esta situação, você poderá fazê-lo
introduzindo uma ACL no ponto adequado. Por exemplo, se desejar
conceder autoridade aos publicadores para o fluxo padrão, PDefault, para publicar
em StreamX é necessário criar uma ACL explícita no ponto (3) para conceder tal autoridade;
essa configuração substitui a negação de autoridade no ponto (2). Neste cenário, os usuários no PDefault ainda não podem
publicar no StreamY.