

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configurar la autenticación OAuth 2.0 para Confluence
<a name="kb-managed-confluence-oauth2-setup"></a>

La autenticación OAuth 2.0 () se autentica con una aplicación OAuth 2.0 de tres vías (3LO`OAUTH2`) de Atlassian. Registras una aplicación en la consola de desarrolladores de Atlassian, completas un flujo de autorización único para obtener un token de actualización y guardas las credenciales en él. AWS En el momento del rastreo, Amazon Bedrock utiliza el token de actualización para acuñar automáticamente los tokens de acceso de corta duración.

**importante**  
OAuth 2.0 no admite el control de acceso a nivel de documento (ACL). Para filtrar los resultados de las consultas por permisos de usuario, usa la autenticación básica. Consulte [Configurar la autenticación básica para Confluence](kb-managed-confluence-basic-setup.md).

## Paso 1: Registra una aplicación OAuth 2.0 (3LO)
<a name="kb-managed-confluence-oauth2-step1"></a>

1. Inicia sesión en la consola de desarrolladores de [Atlassian](https://developer.atlassian.com/console/myapps/).

1. Selecciona **Crear** y, a continuación, integrar **OAuth 2.0**.

1. **Introduce un nombre para la aplicación (por ejemplo`bedrock-confluence-connector`) y selecciona Crear.**

1. En la página de **permisos** de la aplicación, añade la **API de Confluence**. Configura los siguientes ámbitos granulares (o los ámbitos clásicos equivalentes si tu aplicación los usa):
   + `read:content:confluence`
   + `read:content-details:confluence`
   + `read:space:confluence`
   + `read:space-details:confluence`
   + `read:user:confluence`
   + `read:attachment:confluence`
   + `read:page:confluence`— obligatorio para la enumeración de páginas
   + `read:blogpost:confluence`— obligatorio si rastreas las entradas del blog
   + `read:custom-content:confluence`— obligatorio si tu espacio de trabajo contiene contenido personalizado

   Añade `offline_access` el permiso de la **API de **autorización**: identidad de usuario**. `offline_access`es lo que hace que Atlassian emita un token de actualización.

1. En la página de **autorización**, establece la **URL de devolución de llamada** en una URL que tú controles y en la que puedas capturar el código de autorización del paso 3 (por ejemplo,). `https://localhost:8080/callback`

1. En la página **de configuración**, copia el **ID y el **secreto** del cliente**. Estos son los `confluenceAppKey` y`confluenceAppSecret`.

## Paso 2: Autorizar la aplicación
<a name="kb-managed-confluence-oauth2-step2"></a>

Abre la siguiente URL en un navegador y reemplaza los marcadores de posición por tus valores. Inicia sesión con el usuario de Atlassian cuyo acceso debe usar el conector; el usuario debe tener acceso al contenido de Confluence que deseas rastrear.

```
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
```

Aprueba la solicitud de consentimiento. Atlassian redirige a tu URL de devolución de llamada con un parámetro de consulta. `code` Copia ese código de autorización.

## Paso 3: Cambia el código por fichas
<a name="kb-managed-confluence-oauth2-step3"></a>

Cambie el código de autorización por un token de acceso y un token de actualización. Desde una terminal, ejecuta:

```
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 respuesta contiene `access_token` y`refresh_token`. Registre ambos valores. El token de actualización no caduca siempre que se utilice con regularidad.

## Paso 4: Crea el secreto de Secrets Manager
<a name="kb-managed-confluence-oauth2-step4"></a>

Guarde las credenciales en un AWS Secrets Manager secreto con los siguientes pares clave-valor:

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

Cree el secreto con: AWS Command Line Interface

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

Registre el ARN secreto de la respuesta. Se usa como fuente `secretArn` de datos.

## Paso 5: Otorgue permiso al rol de servicio para actualizar el secreto
<a name="kb-managed-confluence-oauth2-step5"></a>

Los tokens de acceso de Atlassian caducan a los 60 minutos. Amazon Bedrock usa el token de actualización para acuñar un nuevo token de acceso y vuelve a escribir el nuevo valor en el mismo secreto. Añada `secretsmanager:PutSecretValue` el secreto a la política de permisos de su función de servicio de base de conocimientos:

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

Sin este permiso, el conector no puede conservar el token de acceso rotado y las sincronizaciones posteriores fallarán.

## Siguientes pasos
<a name="kb-managed-confluence-oauth2-next"></a>

Después de almacenar el secreto, cree la fuente de datos con el valor `authType` establecido en. `OAUTH2` Consulte [Conectar una fuente de datos de Confluence](kb-managed-ds-confluence-connect.md).