

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Siapkan otentikasi OAuth 2.0 untuk Confluence
<a name="kb-managed-confluence-oauth2-setup"></a>

OAuth 2.0 otentikasi (`OAUTH2`) mengautentikasi dengan aplikasi Atlassian OAuth 2.0 berkaki tiga (3LO). Anda mendaftarkan aplikasi di konsol pengembang Atlassian, menyelesaikan alur otorisasi satu kali untuk mendapatkan token penyegaran, dan menyimpan kredensialnya. AWS Pada saat crawl, Amazon Bedrock menggunakan token penyegaran untuk mencetak token akses berumur pendek secara otomatis.

**penting**  
OAuth 2.0 tidak mendukung kontrol akses tingkat dokumen (ACL). Untuk memfilter hasil kueri berdasarkan izin pengguna, gunakan otentikasi Dasar. Lihat [Menyiapkan otentikasi dasar untuk Confluence](kb-managed-confluence-basic-setup.md).

## Langkah 1: Daftarkan aplikasi OAuth 2.0 (3LO)
<a name="kb-managed-confluence-oauth2-step1"></a>

1. Masuk ke konsol [pengembang Atlassian](https://developer.atlassian.com/console/myapps/).

1. Pilih **Buat**, lalu integrasi **OAuth 2.0**.

1. Masukkan nama untuk aplikasi (misalnya,`bedrock-confluence-connector`) dan pilih **Buat**.

1. Di halaman **Izin** aplikasi, tambahkan **Confluence** API. Konfigurasikan cakupan granular berikut (atau cakupan klasik yang setara jika aplikasi Anda menggunakannya):
   + `read:content:confluence`
   + `read:content-details:confluence`
   + `read:space:confluence`
   + `read:space-details:confluence`
   + `read:user:confluence`
   + `read:attachment:confluence`
   + `read:page:confluence`— diperlukan untuk pencacahan halaman
   + `read:blogpost:confluence`— diperlukan jika Anda merayapi posting blog
   + `read:custom-content:confluence`— diperlukan jika ruang kerja Anda berisi konten khusus

   Tambahkan `offline_access` **Otorisasi** — Izin **API identitas pengguna**. `offline_access`inilah yang menyebabkan Atlassian mengeluarkan token penyegaran.

1. Pada halaman **Otorisasi**, atur URL **Callback ke URL** yang Anda kontrol di mana Anda dapat menangkap kode otorisasi di Langkah 3 (misalnya,). `https://localhost:8080/callback`

1. Pada halaman **Pengaturan**, salin **ID Klien** dan **Rahasia**. Ini adalah `confluenceAppKey` dan`confluenceAppSecret`.

## Langkah 2: Otorisasi aplikasi
<a name="kb-managed-confluence-oauth2-step2"></a>

Buka URL berikut di browser, ganti placeholder dengan nilai Anda. Masuk dengan pengguna Atlassian yang aksesnya harus digunakan konektornya; pengguna harus memiliki akses ke konten Confluence yang ingin dirayapi.

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

Menyetujui prompt persetujuan. Atlassian mengalihkan ke URL callback Anda dengan parameter kueri. `code` Salin kode otorisasi itu.

## Langkah 3: Tukarkan kode untuk token
<a name="kb-managed-confluence-oauth2-step3"></a>

Tukarkan kode otorisasi dengan token akses dan token penyegaran. Dari terminal, jalankan:

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

Responsnya berisi `access_token` dan`refresh_token`. Catat kedua nilai. Token penyegaran tidak kedaluwarsa selama digunakan secara teratur.

## Langkah 4: Buat rahasia Secrets Manager
<a name="kb-managed-confluence-oauth2-step4"></a>

Simpan kredensyal secara AWS Secrets Manager rahasia dengan pasangan kunci-nilai berikut:

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

Buat rahasia dengan AWS Command Line Interface:

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

Rekam rahasia ARN dari tanggapannya. Anda menggunakannya sebagai sumber data`secretArn`.

## Langkah 5: Berikan izin peran layanan untuk memperbarui rahasia
<a name="kb-managed-confluence-oauth2-step5"></a>

Token akses Atlassian kedaluwarsa setelah 60 menit. Amazon Bedrock menggunakan token penyegaran untuk mencetak token akses baru dan menulis nilai baru kembali ke rahasia yang sama. Tambahkan `secretsmanager:PutSecretValue` rahasia ke kebijakan izin peran layanan basis pengetahuan Anda:

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

Tanpa izin ini, konektor tidak dapat mempertahankan token akses yang diputar, dan sinkronisasi berikutnya gagal.

## Langkah selanjutnya
<a name="kb-managed-confluence-oauth2-next"></a>

Setelah Anda menyimpan rahasia, buat sumber data dengan `authType` set to`OAUTH2`. Lihat [Hubungkan sumber data Confluence](kb-managed-ds-confluence-connect.md).