

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 OAuth 2.0 per Confluence
<a name="kb-managed-confluence-oauth2-setup"></a>

L'autenticazione OAuth 2.0 () si autentica con un'app Atlassian OAuth 2.0 a tre gambe (3LO`OAUTH2`). Registri un'app nella console per sviluppatori Atlassian, completi un flusso di autorizzazione una tantum per ottenere un token di aggiornamento e memorizzi le credenziali in. AWS Al momento della scansione, Amazon Bedrock utilizza il token di aggiornamento per coniare automaticamente token di accesso di breve durata.

**Importante**  
OAuth 2.0 non supporta il controllo degli accessi a livello di documento (ACL). Per filtrare i risultati delle query in base alle autorizzazioni degli utenti, utilizza l'autenticazione di base. Per informazioni, consulta [Configurare l'autenticazione di base per Confluence](kb-managed-confluence-basic-setup.md).

## Passaggio 1: registrare un'app OAuth 2.0 (3LO)
<a name="kb-managed-confluence-oauth2-step1"></a>

1. Accedi alla console per sviluppatori [Atlassian](https://developer.atlassian.com/console/myapps/).

1. Scegli **Crea, quindi Integrazione** con **OAuth 2.0**.

1. **Inserisci un nome per l'app (ad esempio`bedrock-confluence-connector`) e scegli Crea.**

1. Nella pagina **Autorizzazioni** dell'app, aggiungi l'API **Confluence**. Configura i seguenti ambiti granulari (o gli ambiti classici equivalenti se la tua app li utilizza):
   + `read:content:confluence`
   + `read:content-details:confluence`
   + `read:space:confluence`
   + `read:space-details:confluence`
   + `read:user:confluence`
   + `read:attachment:confluence`
   + `read:page:confluence`— richiesto per l'enumerazione delle pagine
   + `read:blogpost:confluence`— obbligatorio se si eseguono la scansione dei post del blog
   + `read:custom-content:confluence`— obbligatorio se l'area di lavoro contiene contenuti personalizzati

   Aggiungi l'**autorizzazione `offline_access` all'API Authorization** **— User Identity**. `offline_access`è ciò che induce Atlassian a emettere un token di aggiornamento.

1. Nella pagina di **autorizzazione**, imposta l'URL di **callback su un URL** che controlli in cui puoi acquisire il codice di autorizzazione nel passaggio 3 (ad esempio,). `https://localhost:8080/callback`

1. Nella pagina **Impostazioni**, copia l'**ID client** e il **segreto**. Queste sono le `confluenceAppKey` e`confluenceAppSecret`.

## Passaggio 2: autorizza l'app
<a name="kb-managed-confluence-oauth2-step2"></a>

Apri il seguente URL in un browser, sostituendo i segnaposto con i tuoi valori. Accedi con l'utente Atlassian il cui accesso deve essere utilizzato dal connettore; l'utente deve avere accesso ai contenuti di Confluence che desideri sottoporre a scansione.

```
https://auth.atlassian.com/authorize?
audience=api.atlassian.com&
client_id={{your-client-id}}&
scope=read:content:confluence%20read:content-details:confluence%20read:space:confluence%20read:space-details:confluence%20read:user:confluence%20read:attachment:confluence%20read:page:confluence%20read:blogpost:confluence%20read:custom-content:confluence%20offline_access&
redirect_uri={{https://localhost:8080/callback}}&
response_type=code&
prompt=consent
```

Approva la richiesta di consenso. Atlassian reindirizza all'URL di callback con un parametro di query. `code` Copia quel codice di autorizzazione.

## Fase 3: Scambia il codice con dei token
<a name="kb-managed-confluence-oauth2-step3"></a>

Scambia il codice di autorizzazione con un token di accesso e un token di aggiornamento. Da un terminale, esegui:

```
curl -X POST https://auth.atlassian.com/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "authorization_code",
    "client_id": "{{your-client-id}}",
    "client_secret": "{{your-client-secret}}",
    "code": "{{authorization-code-from-step-2}}",
    "redirect_uri": "{{https://localhost:8080/callback}}"
  }'
```

La risposta contiene `access_token` e`refresh_token`. Registra entrambi i valori. Il token di aggiornamento non scade se viene utilizzato regolarmente.

## Fase 4: Creare il segreto di Secrets Manager
<a name="kb-managed-confluence-oauth2-step4"></a>

Memorizza le credenziali in un luogo AWS Secrets Manager segreto con le seguenti coppie chiave-valore:

```
{
    "confluenceAppKey": "{{your-client-id}}",
    "confluenceAppSecret": "{{your-client-secret}}",
    "confluenceAccessToken": "{{your-access-token}}",
    "confluenceRefreshToken": "{{your-refresh-token}}",
    "hostUrl": "{{https://your-instance.atlassian.net}}"
}
```

Crea il segreto con: AWS Command Line Interface

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

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

## Passaggio 5: concedere al ruolo di servizio l'autorizzazione ad aggiornare il segreto
<a name="kb-managed-confluence-oauth2-step5"></a>

I token di accesso Atlassian scadono dopo 60 minuti. Amazon Bedrock utilizza il token di aggiornamento per coniare un nuovo token di accesso e riscrive il nuovo valore nello stesso segreto. Aggiungi il segreto `secretsmanager:PutSecretValue` alla politica di autorizzazione del tuo ruolo di servizio della Knowledge Base:

```
{
    "Effect": "Allow",
    "Action": "secretsmanager:PutSecretValue",
    "Resource": "{{arn:aws:secretsmanager:region:account-id:secret:bedrock-confluence-oauth2-creds-*}}"
}
```

Senza questa autorizzazione, il connettore non può rendere persistente il token di accesso ruotato e le sincronizzazioni successive falliscono.

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

Dopo aver memorizzato il segreto, crea l'origine dati con `authType` set to. `OAUTH2` Per informazioni, consulta [Connect una fonte di dati Confluence](kb-managed-ds-confluence-connect.md).