Otorgar acceso a otro usuario para suscribirse sólo al tema más profundamente en el árbol

Este tema es el tercero de una lista de tareas que indica cómo otorgar acceso para suscribirse a los temas por parte de más de un usuario.

Antes de empezar

Este tema utiliza la configuración descrita en Conceder acceso a un usuario para suscribirse a un tema más profundo dentro del árbol.

Acerca de esta tarea

En Otorgar acceso a un usuario para suscribirse a un tema más profundo dentro del árbol, USER2 se ha rechazado el acceso al tema Price/Fruit/Apples. Este tema indica cómo otorgar acceso a dicho tema, pero no a otros temas.
Figura 1. Otorgar acceso a temas específicos dentro de un árbol de temas
Representación en diagrama de un objeto de tema de fruta, en un tema de precio/fruta. El objeto de fruta se divide además en manzanas y naranjas y hay un objeto de tema adicional manzana.
Tabla 1. Requisitos de acceso para los temas de ejemplo y los objetos de tema
Tema Acceso de suscripción necesario Objeto de tema
Price Ningún usuario Ninguna
Price/Fruit USER1 FRUIT
Price/Fruit/Apples USER1 y USER2 APPLE
Price/Fruit/Oranges USER1  

Defina un nuevo objeto de tema de la manera siguiente:

Procedimiento

  1. Emita el mandato MQSC DEF TOPIC(APPLE) TOPICSTR('Price/Fruit/Apples').
  2. Otorgue el acceso de la manera siguiente:
    • [z/OS] z/OS® :

      En Conceder acceso a un usuario para suscribirse a un tema más profundo dentro del árbol USER1 se le concedió acceso para suscribirse al tema Price/Fruit/Apples concediendo al usuario acceso al hlq.SUBSCRIBE.FRUIT perfil.

      Este perfil único también ha otorgado acceso a USER1 para suscribirse a Price/Fruit/Oranges Price/Fruit/# y este acceso permanece incluso con la adición del nuevo objeto de tema y los perfiles asociados al mismo.

      Otorgue acceso a USER2 para suscribirse al tema Price/Fruit/Apples otorgando acceso de usuario al perfil hlq.SUBSCRIBE.APPLE. Para ello, utilice los siguientes comandos " RACF® ":

      RDEFINE MXTOPIC hlq.SUBSCRIBE.APPLE UACC(NONE)
      PERMIT hlq.SUBSCRIBE.FRUIT APPLE(MXTOPIC) ID(USER2) ACCESS(ALTER)
      
    • [UNIX, Linux, Windows, IBM i]Multiplataformas:

      En Conceder acceso a un usuario para suscribirse a un tema más profundo dentro del árbol USER1 se concedió acceso para suscribirse a tema Price/Fruit/Apples concediendo al usuario suscribirse acceso al FRUIT perfil.

      Este único perfil también otorgaba acceso a USER1 para suscribirse a Price/Fruit/Oranges y Price/Fruit/# y este acceso permanece incluso al agregar el nuevo objeto de tema y los perfiles asociados al mismo.

      Otorgue acceso a USER2 para suscribirse al tema Price/Fruit/Apples otorgando al usuario acceso de suscripción al perfil APPLE. Hágalo mediante el mandato de autorización para la plataforma:

      [AIX, Linux, Windows]AIX®, Linux®, and Windows sistemas
      setmqaut -t topic -n APPLE -p USER2 +sub
      
      [IBM i]IBM® i
      GRTMQAUT OBJ(APPLE) OBJTYPE(*TOPIC) USER(USER2) AUT(*SUB)
      

Resultados

[z/OS]En z/OS, cuando USER1 intenta suscribirse al tema Price/Fruit/Apples la primera comprobación de seguridad en el perfil hlq.SUBSCRIBE.APPLE falla, pero al moverse hacia arriba en el árbol el perfil hlq.SUBSCRIBE.FRUIT permite a USER1 suscribirse, por lo que la suscripción tiene éxito y no se envía ningún código de retorno a la llamada MQSUB. Sin embargo, se genera un mensaje RACF ICH para la primera comprobación:
ICH408I USER(USER1   ) ...
  hlq.SUBSCRIBE.APPLE ...

Cuando USER2 intenta suscribirse al tema Price/Fruit/Apples el resultado es satisfactorio porque la comprobación de seguridad pasa en el primer perfil.

Cuando USER2 intenta suscribirse al tema Price/Fruit/Oranges el resultado es anómalo con un mensaje MQRC_NOT_AUTHORIZED, junto con:
  • [z/OS]En z/OS, se ven los siguientes mensajes en la consola que muestran la ruta de seguridad completa a través del árbol de temas que se ha intentado:
    ICH408I USER(USER2   ) ...
      hlq.SUBSCRIBE.FRUIT ...
    
    ICH408I USER(USER2   ) ...
      hlq.SUBSCRIBE.SYSTEM.BASE.TOPIC ...
    
  • [AIX, Linux, Windows]En las plataformas AIX, Linux, and Windows , el siguiente evento de autorización:
    MQRC_NOT_AUTHORIZED
    ReasonQualifier	  MQRQ_SUB_NOT_AUTHORIZED
    UserIdentifier	    USER2
    AdminTopicNames	  FRUIT, SYSTEM.BASE.TOPIC
    TopicString		   "Price/Fruit/Oranges"
    
  • [IBM i]En IBMi, el siguiente evento de autorización:
    MQRC_NOT_AUTHORIZED
    ReasonQualifier	  MQRQ_SUB_NOT_AUTHORIZED
    UserIdentifier	    USER2
    AdminTopicNames	  FRUIT, SYSTEM.BASE.TOPIC
    TopicString		   "Price/Fruit/Oranges"
    

[z/OS]La desventaja de esta configuración es que, en z/OS, recibe mensajes adicionales ICH en la consola. Puede evitarlo si protege el árbol de temas de forma diferente.