Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il connettore ServiceNow Knowledge Microsoft 365 Copilot consente alle organizzazioni di indicizzare gli articoli della knowledge base di ServiceNow in esperienze di ricerca e Microsoft 365 Copilot. Questo articolo fornisce informazioni sulla risoluzione dei problemi relativi agli errori comuni che potrebbero verificarsi durante la distribuzione del connettore ServiceNow Knowledge Connector.
Per verificare le informazioni di configurazione di ServiceNow per risolvere gli errori, vedere Configurare il servizio ServiceNow per l'inserimento del connettore.
Non è possibile trovare articoli della Knowledge Base di ServiceNow in Copilot o Microsoft Search
Per risolvere questo problema:
Determinare se l'utente che cerca l'articolo dispone delle autorizzazioni necessarie per accedere agli articoli della Knowledge Base di ServiceNow.
Determinare se l'utente è mappato correttamente a un'identità Microsoft Entra. I problemi di mapping vengono visualizzati come un errore del 2006 nella scheda Errore . Controllare la formula di mapping utente e aggiornarlo in base alle esigenze.
Determinare se uno script avanzato in uno dei criteri utente concede l'accesso all'articolo. Gli script avanzati non sono attualmente supportati. Se si usano script avanzati, assicurarsi di selezionare Flusso avanzato quando si configura la connessione e si configura l'API REST.
Usare lo strumento di diagnostica Criteri utente in ServiceNow per verificare se l'account del servizio ha accesso all'elemento in ServiceNow
Usare lo strumento Analizzatore di accesso in ServiceNow per eseguire ulteriormente il debug se l'utente dell'account del servizio ha perso l'accesso a una determinata tabella, campo o record (ad esempio, la
user_criteriatabella). Se si trova un elenco di controllo di accesso (ACL) o un ruolo che blocca l'accesso a una tabella, un campo o un record obbligatorio, specificare i ruoli e gli ACL necessari per l'account del servizio.Se non è possibile identificare la causa radice, contattare il team di supporto del connettore Copilot e specificare i dettagli seguenti:
- ID del Tenant
- ID connessione
- ID sys dell'articolo
- Knowledge base Sys ID
- Per il knowledge base, raccogliere:
- Elenco dei criteri
sys_idutente disponibili nella tabella (Chi può leggere lakb_uc_can_read_mtomKnowledge Base) - Elenco dei criteri
sys_idutente disponibili nellakb_uc_cannot_read_mtomtabella (Chi non è in grado di leggere la Knowledge Base) - Elenco dei criteri
sys_idutente disponibili nellakb_uc_cannot_contribute_mtomtabella (Chi non può contribuire alla Knowledge Base) - Elenco dei criteri
sys_idutente disponibili inkb_uc_can_contribute_mtom
- Elenco dei criteri
- Per l'elemento
sys_id, condividere:- Elenco dei criteri
sys_idutente nelcan_read_user_criteriacampo dell'articolo - Elenco dei criteri
sys_idutente nelcannot_read_user_criteriacampo dell'articolo
- Elenco dei criteri
Quando l'accesso richiesto viene fornito in ServiceNow, avviare una ricerca per indicizzazione completa per la connessione ServiceNow configurata.
Accesso mancante a determinate tabelle
Senza l'accesso corretto, il crawler potrebbe non indicizzare tutto il contenuto e non concedere le autorizzazioni in modo accurato. Per risolvere questo problema, è necessario essere un amministratore di ServiceNow.
Usare la procedura seguente per convalidare le autorizzazioni di tabella usando Esplora API REST:
Rappresentare l'account di ricerca per indicizzazione creato nell'istanza di ServiceNow.
Assicurarsi che l'account abbia i ruoli seguenti:
rest_api_explorereweb_service_admin.Passare aEsplora API REST REST>di Servizi> Web di sistema.
Selezionare una delle tabelle indicate nel messaggio di errore.
Impostare su
sysparm_limit10 (per limitare i risultati per i test).Scegliere Invia.
Esaminare la risposta:
Se si riceve un codice di stato 403 e un messaggio di errore che indica che non si è autorizzati ad accedere alla tabella, vedere Concedere l'accesso alla tabella per fornire l'accesso a livello di tabella.
Se si riceve un codice di stato 200 ma il corpo della risposta contiene risultati vuoti (ad esempio, nessun campo), l'accesso alle righe esiste ma l'accesso a livello di campo è mancante. Per concedere l'accesso a livello di campo, vedere Concedere l'accesso a livello di campo.
Se il nome della tabella non viene visualizzato nell'elenco a discesa, è possibile che non si abbia accesso alla tabella stessa.
In alternativa, è possibile usare un browser per verificare l'accesso:
- Aprire una finestra del browser privata.
- Immettere l'URL seguente (sostituire i segnaposto con i valori corretti):
https://<instance-url>/api/now/table/<table_name>?sysparm_limit=10. - Quando richiesto, accedere usando le credenziali dell'account di ricerca per indicizzazione.
- Esamina la risposta. Se non viene visualizzata alcuna risposta o un errore, l'account non dispone dell'accesso necessario.
Quando l'accesso richiesto viene fornito in ServiceNow, avviare una ricerca per indicizzazione completa per la connessione ServiceNow configurata.
Problema durante la lettura di tutti i criteri utente da ServiceNow
A volte l'accesso al contenuto può essere limitato perché l'account del servizio non legge tutti i criteri utente. Questo problema può verificarsi se si usa la gs.getUserId() funzione o gs.getUser() all'interno di qualsiasi criterio utente. Se si usano queste funzioni, aggiornare i criteri utente per rimuoverle. ServiceNow consiglia di usare .user_id
Se non è possibile aggiornare i criteri utente, come soluzione temporanea, aggiornare lo script dell'API REST che supporta l'uso della gs.getUserId() funzione.
Usare lo script seguente quando si configura l'API REST.
(function execute (/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
// Get query parameters from the request
var queryParams = request.queryParams;
// Extract the 'user' sys_id, ensure it's a string or null if not provided
var userSysId = queryParams.user ? String(queryParams.user) : null;
var result = []; // Initialize an empty array for the results
// Check if userSysId was provided
if (!userSysId) {
gs.warn("UserCriteriaLoader API: 'user' parameter was not provided in the request.");
response.setStatus(400);
return { "error": "User sys_id is required." };
}
try {
// Instantiate the UserCriteriaLoader
var userCriteriaLoader = new sn_uc.UserCriteriaLoader();
var userCriterias = [];
var userCriteriaGr = new GlideRecord('user_criteria');
userCriteriaGr.addQuery('active', true); // Select active records
userCriteriaGr.query();
while (userCriteriaGr.next()) {
userCriterias.push(userCriteriaGr.getUniqueValue());
}
// Call the recommended API to get only matching criteria sys_ids
var matchingCriteriaIds = sn_uc.UserCriteriaLoader.getMatchingCriteria(userSysId, userCriterias);
// Return the array of matching criteria objects
return matchingCriteriaIds;
} catch (e) {
// Log any errors that occur during the process
gs.error("UserCriteriaLoader API: Error processing user criteria for user " + userSysId + ". Error: " + e.message);
response.setStatus(500); // Internal Server Error
return {
error_message: "Error processing user criteria for user " + userSysId,
error_details: e.message
};
}
})(request, response);
Impossibile accedere a causa dell'istanza di ServiceNow abilitata per l'accesso Single Sign-On
Se l'organizzazione usa l'accesso Single Sign-On (SSO) a ServiceNow, potrebbero verificarsi problemi di accesso con l'account del servizio. È possibile visualizzare un nome utente e l'autenticazione basata su password aggiungendo login.do all'URL dell'istanza di ServiceNow. Ad esempio: https://<your-organization-domain>.service-now.com./login.do.
Non è possibile connettersi all'istanza di ServiceNow
Una risposta non consentita o non autorizzata nello stato di connessione può verificarsi per i motivi seguenti:
Password dell'account non corretta: Se si usa l'autenticazione di base, le credenziali specificate potrebbero non essere corrette. Controllare di nuovo le credenziali.
Se si usa OAuth2.0, verificare che la password dell'account sia corretta e che non sia stata reimpostata. ServiceNow Knowledge Connector usa un token di accesso recuperato per conto dell'account del servizio per la ricerca per indicizzazione. Il token di accesso viene aggiornato ogni 12 ore. Potrebbe essere necessario autenticare nuovamente la connessione se si modifica la password.
Autorizzazioni di accesso alle tabelle: Verificare che l'account del servizio disponga dell'accesso necessario alle tabelle, come descritto in Creare un account del servizio e configurare le autorizzazioni per l'indicizzazione degli elementi. Verificare che l'account del servizio abbia accesso in lettura a tutte le tabelle nella colonna.
L'istanza di ServiceNow si trova dietro un firewall: Il connettore ServiceNow Knowledge Connector potrebbe non essere in grado di raggiungere l'istanza di ServiceNow se è dietro un firewall di rete. È necessario consentire l'accesso al servizio connettore. La tabella seguente elenca l'intervallo di indirizzi IP pubblici per il servizio connettore per ogni area. Aggiungere l'indirizzo IP all'elenco di indirizzi consentiti di rete.
Ambiente Area geografica Intervallo PROD Nord America 52.250.92.252/30, 52.224.250.216/30 PROD Europa 20.54.41.208/30, 51.105.159.88/30 PROD Asia Pacifico 52.139.188.212/30, 20.43.146.44/30
Modificare l'URL dell'articolo della Knowledge Base
ServiceNow Knowledge Connector consente di personalizzare l'URL degli articoli della Knowledge Base in base alle esigenze dell'organizzazione. Per altre informazioni, vedere Personalizzare la proprietà AccessURL.
Nota
Attualmente, non è possibile modificare la proprietà URL per una connessione esistente. È possibile personalizzare l'URL solo quando si configura inizialmente la connessione. Se si dispone di una connessione esistente, creare una nuova connessione e seguire la procedura per personalizzare l'URL.
Problemi relativi solo alle persone con accesso a questa autorizzazione dell'origine dati
Non è possibile scegliere solo le persone con accesso a questa origine dati
L'opzione Only people with access to this data source (Solo persone con accesso a questa origine dati ) potrebbe non essere disponibile se l'account del servizio non dispone delle autorizzazioni di lettura per le tabelle necessarie. Assicurarsi che l'account possa leggere le tabelle correlate alle autorizzazioni dei criteri utente.
Errori di mapping degli utenti
Gli account utente di ServiceNow che non hanno un utente di Microsoft 365 corrispondente in Microsoft Entra ID non riescono a eseguire il mapping. Si prevede che gli account del servizio e gli account non utente non riescano a eseguire il mapping. È possibile visualizzare gli errori di mapping nell'area delle statistiche di identità della finestra dei dettagli della connessione e scaricare i log dalla scheda Errore .
La finestra Disconnessione completata viene visualizzata quando si completa il processo OAuth
Quando si completa il processo OAuth, potrebbe essere visualizzata una finestra Disconnessione riuscita senza richiedere le credenziali di ServiceNow.
Per impostazione predefinita, ServiceNow tenta di connettersi usando le credenziali di amministratore di Microsoft 365 tramite Single Sign-On (SSO) da un'autenticazione del browser. Questa impostazione predefinita può causare l'esito negativo della connessione. Di conseguenza, viene visualizzata la finestra Disconnessione riuscita .
Per risolvere questo problema:
Aprire una finestra del browser privata e accedere con le credenziali di ServiceNow.
In una nuova scheda accedere alla interfaccia di amministrazione di Microsoft 365. Questo passaggio consente all'accesso Single Sign-On di ServiceNow di disconnettersi e cambiare le credenziali, se necessario.
Provare di nuovo la configurazione OAuth. La finestra seguente dovrebbe essere visualizzata per autorizzare la connessione:
Problema con l'autorizzazione basata su OIDC
I clienti con controlli di sicurezza più rigorosi sull'ID entra potrebbero abilitare l'opzione Assegnazione richiesta nell'applicazione Enterprise registrata per OpenID Connect (OIDC). Ciò causa l'errore seguente durante la fase di autorizzazione della configurazione del connettore:
Failed to authenticate using client credentials. Please check the client ID, secret, and scope configuration. If the issue persists, contact your data source administrator or Microsoft Support. Error from the data source while getting the token: Error Description: AADSTS501051: Application '\<AppID\>'(\<App Name\>) is not assigned to a role for the application '\<AppID\>'(\<App Name\>). Trace ID: \<GUID\> Correlation ID: \<GUID\> Timestamp: \<Timestamp\>, Error: invalid_grant.
Per risolvere il problema, disabilitare l'opzione in Microsoft Entra ID:
- Nel Interfaccia di amministrazione di Microsoft Entra passare a App> aziendaliTutte le app.
- Scegliere l'app registrata per OIDC e scegliere Proprietà>Disattiva assegnazione obbligatoria. > Salvare.
- Scegliere Salva.