Ecco una rottura di ciò che significa e come risolverlo:
What mqrc_not_authorized (o motivo del codice 2035) significa:
Questo è l'errore di autorizzazione più comune in MQ. Indica che l'ID utente (o il contesto utente in base al quale è in esecuzione l'applicazione) * non * ha le autorizzazioni necessarie per eseguire l'azione che sta cercando di fare su una risorsa MQ specifica. Pensaci come provare ad accedere a un file sul tuo computer senza le autorizzazioni di lettura/scrittura richieste.
Scenari e cause comuni:
1. Contesto ID utente errato:
* in esecuzione come utente diverso: L'applicazione potrebbe essere eseguita con un account utente di Windows diverso rispetto a quello che pensi che sia. Ciò può accadere se hai modificato gli account di servizio, le attività programmate o si eseguono l'applicazione da un prompt dei comandi con privilegi elevati (ad esempio, "Esegui come amministratore").
* Utente errato per COM+ Applicazioni: Se l'applicazione utilizza COM+ Services, l'identità configurata per l'applicazione COM+ è cruciale. Assicurati che stia utilizzando un account che dispone di autorizzazioni MQ.
* Problemi di WebSphere Application Server (era): Se l'applicazione viene distribuita in WebSphere Application Server, assicurarsi che l'ID utente configurato per l'origine dati e che i mapping del ruolo di sicurezza dell'applicazione siano adeguatamente autorizzati in MQ.
2. Permessi di oggetto MQ mancante o errati:
* Accesso alla coda: L'utente non ha `+get`,`+put`, `+Browse` o altre autorizzazioni richieste sulla coda specifica che l'applicazione sta cercando di accedere. Le autorizzazioni `+connect` e`+indagano` sono spesso necessarie.
* Accesso al gestore coda: L'utente non ha l'autorità `+Connect` al gestore code stesso. Questo è un requisito fondamentale.
* Accesso al canale: Se l'applicazione si collega in remoto, l'utente non ha l'autorità `+Connect` al canale di connessione del server (SVRConn). Potrebbe anche aver bisogno di autorizzazioni per utilizzare il canale, come `+altuser` o`+setall` a seconda di come sono configurati i record di autenticazione del canale (chlauth).
* Process Definition (Process) Access: Se l'applicazione utilizza i monitor di trigger, l'utente ha bisogno di autorità `+OTTIENI 'sulla coda di iniziazione e l'accesso adeguato alla definizione del processo.
* Accesso agli argomenti: Per le applicazioni di pubblicazione/iscrizione, l'utente necessita dell'abbonamento appropriato e delle autorizzazioni di pubblicazione sull'argomento o sull'argomento.
3. Chlauth Records (record di autenticazione del canale):
* Canali bloccati: I record Chlauth possono bloccare esplicitamente alcuni ID utente o indirizzi IP dall'utilizzo di canali specifici. Se un record di Chlauth impedisce all'utente di connettersi, l'errore verrà visualizzato come `MQRC_NOT_AUTORITED`.
* Attributo McAuser: L'attributo `McAuser` sul canale di connessione del server (SVRConn) specifica l'ID utente che verrà utilizzato quando un client si collega. Se `McAuser` è impostato correttamente o non configurato correttamente, può portare a problemi di autorizzazione.
4. Problemi di configurazione di Object Authority Manager (OAM):
* Politiche OAM errate: L'OAM è responsabile dell'applicazione delle politiche di sicurezza. Politiche errate possono negare inavvertitamente l'accesso alle risorse MQ.
* Appartenenza al gruppo: L'utente potrebbe essere membro di un gruppo Windows, ma al gruppo non è stata concessa le autorizzazioni MQ necessarie.
5. Pratiche di codifica errate:
* Non passare correttamente le credenziali: Se l'applicazione è progettata per passare le credenziali dell'utente a MQ per l'autorizzazione, assicurarsi che queste credenziali vengano passate correttamente (ad esempio, utilizzando il campo `UserID` nel MQMD o la struttura` SecurityParameters 'durante la connessione).
* Utilizzo del contesto dell'utente predefinito in modo errato: Fare affidamento sul contesto dell'utente predefinito può essere problematico, specialmente nelle architetture a più livelli. Specificare esplicitamente l'ID utente è spesso più affidabile.
Passaggi di risoluzione dei problemi:
1. Identifica l'ID utente:
* dai registri dell'applicazione: Controllare i registri dell'applicazione per eventuali messaggi relativi alla connessione MQ o all'autorizzazione. Il messaggio di errore potrebbe contenere l'ID utente utilizzato.
* dai registri degli errori MQ: Esamina i registri degli errori MQ (AMQERR01.LOG) sul server Code Manager. Questi registri forniscono informazioni dettagliate sull'errore di autorizzazione, incluso l'ID utente, l'oggetto che si accede e le autorizzazioni mancanti.
* Dal codice dell'applicazione: Debug il codice dell'applicazione per determinare come l'ID utente viene determinato e passato a MQ.
* Explorer del processo Windows (Sysinternals): Usa Process Explorer per identificare il contesto dell'utente in base al quale è in esecuzione l'applicazione. Ciò è particolarmente utile per i servizi o le applicazioni in esecuzione con account diversi.
2. Verificare le autorizzazioni dell'oggetto MQ:
* usando `dspmqaut` (visualizza l'autorità MQ): Questo comando è il tuo strumento principale. Eseguilo per visualizzare le autorizzazioni concesse a un utente o un gruppo specifico su un oggetto MQ specifico (coda manager, coda, canale, ecc.).
* Esempio:`dspmqaut -m qmgrname -t qmgr -p userid` (mostra le autorizzazioni per` userid` sul gestore code `qmgrname`)
* Esempio:`dspmqaut -m qmgrname -t coda -n queueename -p userid` (mostra le autorizzazioni per` userid` sulla coda `Queuename`)
* Esempio:`dspmqaut -m qmgrname -t canale -n channelname -p userid` (mostra le autorizzazioni per` userid` sul canale `canale`)
* MQ Explorer (GUI): È inoltre possibile visualizzare e modificare le autorizzazioni degli oggetti tramite la GUI Explorer MQ (fare clic con il pulsante destro del mouse sull'oggetto, selezionare "Proprietà", quindi andare alla scheda "Autorità Records").
3. Esamina Chlauth Records:
* usando `dspmqchauth` (visualizza record di autenticazione del canale):
* Esempio:`dspmqchauth -m qmgrname -t chlauth -n channelname` (mostra tutti i record Chlauth per Channel` ChannelName`)
* MQ Explorer: È inoltre possibile visualizzare e gestire i record Chlauth nella GUI Explorer MQ (fare clic con il pulsante destro del mouse sul gestore coda, selezionare "Proprietà", quindi andare alla scheda "Canale di autenticazione").
* Controlla le regole di blocco: Cerca record Chlauth che potrebbero bloccare esplicitamente l'ID utente, l'indirizzo IP o il nome del client.
* Verifica l'attributo `McAuser`: Controlla l'attributo `McAuser` sul canale SVRConn. È impostato correttamente? Se utilizza un ID utente generico, assicurarsi che l'ID utente abbia le autorizzazioni necessarie.
4. autorizzazioni di concessione (usando `setmqaut`):
* Dopo aver identificato le autorizzazioni mancanti, utilizzare il comando `setmqaut` per concederle.
* Esempio:`setmqaut -m qmgrname -t qmgr -n +connect -g" domain \ groupname "` (concede l'autorizzazione connect a coda manager al gruppo di dominio specificato)
* Esempio:`setmqaut -m qmgrname -t queue -n queuename -g" dominio \ groupname " +get +put +rone` (sovvenzioni get, put e sfoglia il permesso alla coda al gruppo di dominio specificato)
* Esempio:`setmqaut -m qmgrname -t canale -n canalename -p userid +connect` (concede autorizzazione connect al canale a un utente specifico)
5. Aggiorna sicurezza:
* Dopo aver apportato modifiche alle autorizzazioni degli oggetti o ai record Chlauth, aggiorna la sicurezza emettendo il comando:`Aggiorna tipo di sicurezza (Connauth)` Per le modifiche all'autenticazione della connessione. Se questo non funziona, prova a riavviare il gestore code.
6. Semplifica e test:
* Test con `amqsputc` e` amqsgetc`: Utilizzare i programmi di esempio `amqsputc` (per inserire un messaggio) e` amqsgetc` (per ottenere un messaggio) per verificare la connettività e l'autorizzazione di base. Questi sono eccellenti per isolare il problema. Eseguili dallo stesso server del server MQ inizialmente. Se funziona, eseguili da una macchina client.
* Riduci la complessità: Inizia con la configurazione più semplice possibile e aggiungi gradualmente la complessità. Ad esempio, inizialmente connettiti al gestore code senza Chlauth abilitato, quindi aggiungi gradualmente e perfezionano le regole di Chlauth.
7. Consultare la documentazione e il supporto IBM:
* IBM MQ Documentazione: La documentazione IBM MQ è la tua migliore fonte per informazioni dettagliate su autorizzazione, Chlauth e altre funzionalità di sicurezza.
* Supporto IBM: Se sei ancora bloccato, considera di aprire un caso di supporto con IBM. Hanno esperti che possono aiutarti a diagnosticare e risolvere problemi di autorizzazione complessi.
Considerazioni chiave:
* Gruppi contro singoli utenti: È generalmente le migliori pratiche concedere le autorizzazioni ai gruppi di Windows piuttosto che ai singoli utenti. Ciò rende l'amministrazione molto più semplice, soprattutto in ambienti più grandi.
* Privilegio minimo: Concedere solo le autorizzazioni minime necessarie a ciascun utente o gruppo.
* Auditing: Abilita l'auditing degli eventi relativi alla sicurezza per aiutarti a tenere traccia dei guasti di autorizzazione e identificare potenziali problemi di sicurezza.
Seguendo sistematicamente questi passaggi di risoluzione dei problemi e rivedendo attentamente i registri degli errori e la configurazione MQ, è necessario essere in grado di diagnosticare e risolvere l'errore "non autorizzato" nel tuo ambiente IBM MQ. Ricorda che l'identificazione accurata dell'ID utente e una comprensione approfondita dei concetti di sicurezza MQ sono cruciali per il successo.
Domanda © www.354353.com