![[z/OS]](ngzos.gif)
Sicurezza della coda di messaggi non recapitabili
Considerazioni speciali si applicano alla coda di messaggi non recapitabili, poiché molti utenti devono essere in grado di inserirvi messaggi, ma l'accesso per richiamare i messaggi deve essere strettamente limitato. È possibile ottenere ciò applicando diverse autorizzazioni RACF® alla coda di messaggi non recapitabili e a una coda alias.
I messaggi non recapitati possono essere inseriti in una coda speciale denominata coda di messaggi non recapitabili. Se si dispone di dati sensibili che potrebbero finire su questa coda, è necessario considerare le implicazioni di sicurezza di questo perché non si desidera che utenti non autorizzati richiamino questi dati.
- Programmi applicativi.
- Lo spazio di indirizzo dell'iniziatore di canali e qualsiasi ID utente MCA. (Se il profilo RESLEVEL non è presente o è definito in modo che gli ID utente del canale vengano controllati, l'ID utente del canale ha anche bisogno dell'autorizzazione per inserire i messaggi nella coda di messaggi non recapitabili).
- CKTI, l'iniziatore di task CICS® fornito da CICS.
- CSQQTRMN, il controllo trigger IBM® MQfornito IMS .
Una soluzione a questo problema consiste nell'impostare un accesso a due livelli alla coda di messaggi non recapitabili. CKTI, le transazioni dell'agente del canale dei messaggi o lo spazio di indirizzo dell'iniziatore del canale e le applicazioni 'speciali' hanno accesso diretto; altre applicazioni possono accedere alla coda dei messaggi non recapitabili solo tramite una coda alias. Questo alias è definito per consentire alle applicazioni di inserire messaggi nella coda di messaggi non recapitabili, ma di non ricevere messaggi da essa.
- Definire la coda di messaggi non instradabili reale con gli attributi PUT (ENABLED) e GET (ENABLED), come mostrato nell'esempio thlqual.SCSQPROC(CSQ4INYG).
- Concedere l'autorità RACF UPDATE per la coda di messaggi non recapitabili ai seguenti ID utente:
- Gli ID utente con cui vengono eseguiti CKTI e gli MCA o lo spazio di indirizzo dell'iniziatore di canali.
- Gli ID utente associati all'applicazione di elaborazione della coda di messaggi non instradabili 'speciale'.
- Definire una coda alias che si risolva nella coda di messaggi non recapitabili reale, ma fornire alla coda alias questi attributi: PUT (ENABLED) e GET (DISABLED). Assegnare alla coda alias un nome con la stessa radice del nome della coda di messaggi non recapitabili ma accodare i caratteri ". PUT" a questa radice. Ad esempio, se il nome della coda di messaggi non recapitabili è hlq.DEAD.QUEUE, il nome della coda alias è hlq.DEAD.QUEUE.PUT.
- Per inserire un messaggio nella coda di messaggi non instradabili, un'applicazione utilizza la coda alias. Ecco cosa deve fare la tua applicazione:
- Richiamare il nome della coda di messaggi non recapitabili reale. A tale scopo, apre l'oggetto gestore code utilizzando MQOPEN ed emette un MQINQ per ottenere il nome della coda di messaggi non recapitabili.
- Creare il nome della coda alias accodando i caratteri '.PUT' a questo nome, in tal caso, hlq.DEAD.QUEUE.PUT.
- Aprire la coda alias, hlq.DEAD.QUEUE.PUT.
- Inserire il messaggio nella coda di messaggi non instradabili reale emettendo un comando MQPUT rispetto alla coda alias.
- Fornire l'ID utente associato all'autorizzazione RACF UPDATE dell'applicazione all'alias, ma nessun accesso (autorizzazione NONE) alla coda di messaggi non recapitabili reale. Questo vuol dire che:
- L'applicazione può inserire i messaggi nella coda di messaggi non recapitabili utilizzando la coda alias.
- L'applicazione non può richiamare i messaggi dalla coda di messaggi non recapitabili utilizzando la coda alias perché la coda alias è disabilitata per operazioni di acquisizione.
L'applicazione non può richiamare alcun messaggio dalla coda di messaggi non instradabili reale perché dispone dell'autorità RACF corretta.
| ID utente associato | Coda di messaggi non instradabili reale (hlq.DEAD.QUEUE) | Coda di messaggi non recapitabili alias (hlq.DEAD.QUEUE.PUT) |
|---|---|---|
| Spazio di indirizzo dell'iniziatore di canali o MCA e CKTI | AGGIORNA | Nessuna |
| Applicazione 'Speciale' (per l'elaborazione della coda di messaggi non recapitabili) | AGGIORNA | Nessuna |
| ID utente applicazione scritti dall'utente | Nessuna | AGGIORNA |
Se si utilizza questo metodo, l'applicazione non può determinare la lunghezza massima del messaggio (MAXMSGL) della coda di messaggi non recapitabili. Ciò si verifica perché l'attributo MAXMSGL non può essere richiamato da una coda alias. Pertanto, l'applicazione deve presumere che la lunghezza massima del messaggio sia 100 MB, la dimensione massima supportata da IBM MQ for z/OS® . La coda di messaggi non recapitabili reale deve essere definita anche con un attributo MAXMSGL di 100 MB.