

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar a autenticação OAuth 2.0 para o Confluence
<a name="kb-managed-confluence-oauth2-setup"></a>

A autenticação OAuth 2.0 (`OAUTH2`) é autenticada com um aplicativo Atlassian OAuth 2.0 de três pernas (3LO). Você registra um aplicativo no console do desenvolvedor da Atlassian, conclui um fluxo de autorização único para obter um token de atualização e armazena as credenciais em. AWS No momento do rastreamento, o Amazon Bedrock usa o token de atualização para gerar automaticamente tokens de acesso de curta duração.

**Importante**  
O OAuth 2.0 não oferece suporte ao controle de acesso em nível de documento (ACLs). Para filtrar os resultados da consulta pelas permissões do usuário, use a autenticação básica. Consulte [Configurar a autenticação básica para o Confluence](kb-managed-confluence-basic-setup.md).

## Etapa 1: registrar um aplicativo OAuth 2.0 (3LO)
<a name="kb-managed-confluence-oauth2-step1"></a>

1. Faça login no console do [desenvolvedor da Atlassian](https://developer.atlassian.com/console/myapps/).

1. Escolha **Criar** e, em seguida, **integração com OAuth 2.0**.

1. Insira um nome para o aplicativo (por exemplo,`bedrock-confluence-connector`) e escolha **Criar**.

1. Na página de **permissões** do aplicativo, adicione a API **Confluence.** Configure os seguintes escopos granulares (ou os escopos clássicos equivalentes se seu aplicativo os usar):
   + `read:content:confluence`
   + `read:content-details:confluence`
   + `read:space:confluence`
   + `read:space-details:confluence`
   + `read:user:confluence`
   + `read:attachment:confluence`
   + `read:page:confluence`— necessário para enumeração de páginas
   + `read:blogpost:confluence`— obrigatório se você rastrear postagens de blog
   + `read:custom-content:confluence`— necessário se o seu espaço de trabalho contiver conteúdo personalizado

   Adicione `offline_access` a permissão da **API **Autorização** — Identidade do usuário**. `offline_access`é o que faz com que a Atlassian emita um token de atualização.

1. Na página **Autorização**, defina o **URL de retorno** de chamada como um URL que você controla, onde você pode capturar o código de autorização na Etapa 3 (por exemplo,`https://localhost:8080/callback`).

1. Na página **Configurações**, copie o **ID do cliente** e o **segredo**. Esses são os `confluenceAppKey` `confluenceAppSecret` e.

## Etapa 2: autorizar o aplicativo
<a name="kb-managed-confluence-oauth2-step2"></a>

Abra o URL a seguir em um navegador, substituindo os espaços reservados pelos seus valores. Faça login com o usuário Atlassian cujo acesso o conector deve usar; o usuário deve ter acesso ao conteúdo do Confluence que você deseja 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
```

Aprove a solicitação de consentimento. A Atlassian redireciona para sua URL de retorno de chamada com um parâmetro de consulta. `code` Copie esse código de autorização.

## Etapa 3: trocar o código por tokens
<a name="kb-managed-confluence-oauth2-step3"></a>

Troque o código de autorização por um token de acesso e um token de atualização. Em um terminal, execute:

```
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}}"
  }'
```

A resposta contém `access_token` `refresh_token` e. Registre os dois valores. O token de atualização não expira desde que seja usado regularmente.

## Etapa 4: Criar o segredo do Secrets Manager
<a name="kb-managed-confluence-oauth2-step4"></a>

Armazene as credenciais em um AWS Secrets Manager segredo com os seguintes pares de valores-chave:

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

Crie o segredo com o AWS Command Line Interface:

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

Registre o ARN secreto da resposta. Você o usa como fonte de dados`secretArn`.

## Etapa 5: conceder permissão à função de serviço para atualizar o segredo
<a name="kb-managed-confluence-oauth2-step5"></a>

Os tokens de acesso da Atlassian expiram após 60 minutos. O Amazon Bedrock usa o token de atualização para criar um novo token de acesso e gravar o novo valor no mesmo segredo. Adicione `secretsmanager:PutSecretValue` o segredo à política de permissões da função de serviço da sua base de conhecimento:

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

Sem essa permissão, o conector não pode manter o token de acesso rotacionado e as sincronizações subsequentes falham.

## Próximas etapas
<a name="kb-managed-confluence-oauth2-next"></a>

Depois de armazenar o segredo, crie a fonte de dados com `authType` definido como`OAUTH2`. Consulte [Conecte uma fonte de dados do Confluence](kb-managed-ds-confluence-connect.md).