

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurare l'autenticazione delle credenziali client OAuth 2.0 per ServiceNow
<a name="kb-managed-servicenow-oauth2-setup"></a>

Utilizza l'API ServiceNow Table con credenziali client OAuth 2.0 (2LO) per l'autenticazione. Completa tutti i passaggi seguenti nella tua ServiceNow istanza prima di configurare l'origine dati in Amazon Bedrock.

## Passaggio 1: abilita il tipo di concessione delle credenziali del cliente
<a name="kb-managed-servicenow-oauth2-step1"></a>

1. In ServiceNow, vai a `sys_properties.list` utilizzare il navigatore dei filtri.

1. Crea una nuova proprietà di sistema con i seguenti valori:
   + **Nome**: `glide.oauth.inbound.client.credential.grant_type.enabled`
   + **Tipo**: `true | false`
   + **Valore**: `true`

## Fase 2: Creare un account di servizio dedicato
<a name="kb-managed-servicenow-oauth2-step2"></a>

1. Vai a Amministrazione ** utenti ** > ** Utenti**.

1. Scegli ** Nuovo ** e completa il modulo:
   + **ID utente**: un nome descrittivo (ad esempio,`svc.amazon.quick.kb`).
   + **Solo accesso al servizio Web**: selezionato. Ciò impedisce l'accesso interattivo.
   + **Password**: imposta una password complessa. Il connettore utilizza OAuth, ma è richiesta una password per la creazione dell'account.

1. Seleziona **Invia**.

## Fase 3: Assegnazione dei ruoli degli account di servizio
<a name="kb-managed-servicenow-oauth2-step3"></a>

1. Apri l'account di servizio (Amministrazione ** utente ** > ** Utenti ** > il tuo account di servizio).

1. **Nella scheda ** Ruoli, scegli ** Modifica ** e aggiungi i seguenti ruoli:
   + `knowledge_admin`— Accesso completo in lettura a tutti gli articoli della knowledge base. Bypassa le restrizioni relative ai criteri utente per KB.
   + `catalog_admin`— Accesso completo in lettura a tutti gli elementi del catalogo dei servizi. Bypassa le restrizioni per catalogo.

1. Selezionare **Salva**.

**Nota**  
Dopo il salvataggio, vengono visualizzati circa 14 ruoli in totale. ServiceNoweredita automaticamente i ruoli contenuti dai ruoli `_admin` principali. È possibile assegnare solo manualmente i due ruoli elencati nei passaggi 2 (`knowledge_admin`e`catalog_admin`). Non assegnare i `snc_read_only` ruoli `admin``itil`,, o.

## Fase 4: Registrare l'applicazione OAuth
<a name="kb-managed-servicenow-oauth2-step4"></a>

1. Accedere a ** System OAuth > Application Registry. ** ** **

1. Scegliete ** Nuovo ** > ** Crea un endpoint API OAuth per client esterni. **

1. Compila il modulo:
   + **Nome**: un nome descrittivo (ad esempio,`Amazon-Quick-KB-Client`).
   + **URL di reindirizzamento**: lascia vuoto. Non richiesto per il flusso delle credenziali del cliente.

1. Seleziona **Invia**.

1. Copia immediatamente l'ID ** cliente ** e il segreto ** ** del cliente. Il Client Secret viene mostrato una sola volta.

**Importante**  
È necessario utilizzare la pagina di intercettazione per creare l'applicazione. Non create il record inserendolo direttamente nella tabella. `oauth_entity`

## Fase 5: Configurare l'applicazione OAuth
<a name="kb-managed-servicenow-oauth2-step5"></a>

1. Re-open il record dell'applicazione dall'elenco del registro delle applicazioni.

1. Se il ** campo Utente dell'applicazione ** OAuth non è visibile, aggiungilo utilizzando ** Configure ** > ** Form Builder. **

1. Imposta i seguenti campi:
   + **Utente dell'applicazione OAuth**: il tuo account di servizio (ad esempio,`svc.amazon.quick.kb`).
   + **Restrizione ** dell'ambito —. `Broadly scoped`
   + **Tipo di cliente ** —`integration_as_a_service`.

1. Scegliere **Aggiorna**.

## Fase 6: Configurazione delle politiche di accesso alle API
<a name="kb-managed-servicenow-oauth2-step6"></a>

Senza politiche di accesso alle API, i token si autenticano ma l'API Table restituisce HTTP 401. Completa entrambi i passaggi secondari riportati di seguito.

**Crea il profilo di autenticazione in entrata**

1. Accedere a Servizi Web ** di sistema ** > Criteri di accesso alle ** API ** > Profilo di autenticazione ** in entrata. **

1. Scegli ** Nuovo ** e imposta:
   + **Nome**: ad esempio,`Amazon-Quick-KB-Client-Profile`.
   + **Tipo** – `OAuth`.
   + **Entità OAuth**: seleziona la tua applicazione OAuth.

1. Seleziona **Invia**.

1. Re-open il profilo. Nell'elenco ** relativo alle politiche di ** autenticazione, scegli ** Modifica ** e aggiungi la politica ** di autorizzazione all'accesso**. Selezionare **Salva**.

**Crea la politica di accesso all'API REST**

1. Accedere a Servizi Web di ** sistema ** > Criteri di accesso alle ** API ** > Politiche di accesso alle API ** REST**.

1. Scegli ** Nuovo ** e imposta:
   + **Nome**: ad esempio,`Table API Oauth access policy`.
   + **API REST ** —`Table API`.
   + **Percorso API REST ** —`now/table`.
   + **Applica a tutti i metodi**: selezionato.
   + **Applica a tutte le risorse**: selezionata.
   + **Applica a tutte le tabelle**: selezionata.
   + **Applica a tutte le versioni**: selezionata.

1. Seleziona **Invia**.

1. Re-open la politica. Nell'elenco ** relativo ai profili di autenticazione in ** entrata, scegli ** Modifica ** e aggiungi il tuo profilo di autenticazione in entrata. Selezionare **Salva**.

## Passaggio 7: verifica il flusso OAuth
<a name="kb-managed-servicenow-oauth2-step7"></a>

Prima di configurare l'origine dati, verifica che il flusso OAuth funzioni end-to-end.

**Richiedi un token: **

```
curl -s -X POST "https://{{INSTANCE}}.service-now.com/oauth_token.do" \
  -d "grant_type=client_credentials" \
  -d "client_id={{CLIENT_ID}}" \
  -d "client_secret={{CLIENT_SECRET}}"
```

**Verifica l'accesso all'API della tabella: **

```
curl -s "https://{{INSTANCE}}.service-now.com/api/now/table/kb_knowledge?sysparm_limit=1" \
  -H "Authorization: Bearer {{ACCESS_TOKEN}}"
```

La tabella seguente descrive ogni risultato della verifica e le azioni da intraprendere.


**Risultati della verifica**  

| Risultato | Significato | Azione | 
| --- | --- | --- | 
| HTTP 200 con dati | Funziona correttamente | Procedi con la creazione del segreto di Secrets Manager. | 
| HTTP 200 con array vuoto | knowledge\_adminRuolo mancante | Assegna il knowledge\_admin ruolo all'account del servizio. | 
| HTTP 401 | Politica di accesso alle API non configurata | Verifica sia il profilo di autenticazione in entrata che la configurazione della politica di accesso all'API REST. | 

## Fase 8: Creare il segreto di Secrets Manager
<a name="kb-managed-servicenow-oauth2-step8"></a>

Archivia le credenziali in un AWS Secrets Manager segreto nella Regione AWS stessa della tua knowledge base con le seguenti coppie chiave-valore:

```
{
    "clientId": "{{your-client-id}}",
    "clientSecret": "{{your-client-secret}}",
    "instanceUrl": "https://{{YOUR_INSTANCE}}.service-now.com"
}
```


**Campi segreti**  

| Campo | Description | 
| --- | --- | 
| clientId | L'ID dell'App Client del passaggio 4. | 
| clientSecret | Il segreto dell'App Client rivelato al momento della creazione nel passaggio 4. | 
| instanceUrl | URL completo dell' ServiceNow istanza (includehttps://, senza barra finale). | 

**Importante**  
Non `instanceUrl` deve avere una barra finale.

Crea il segreto con: AWS Command Line Interface

```
aws secretsmanager create-secret \
  --name {{bedrock-servicenow-creds}} \
  --secret-string file://secret.json
```

Registra l'ARN segreto della risposta. Lo usi come fonte `secretArn` di dati.

## Fasi successive
<a name="kb-managed-servicenow-oauth2-next"></a>

Dopo aver archiviato il segreto, crea l'origine dati. Consulta [Connetti una fonte di ServiceNow dati](kb-managed-ds-servicenow-connect.md).