

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Confluence에 대한 OAuth 2.0 인증 설정
<a name="kb-managed-confluence-oauth2-setup"></a>

OAuth 2.0 인증(`OAUTH2`)은 Atlassian OAuth 2.0 3레그(3LO) 앱으로 인증합니다. Atlassian 개발자 콘솔에 앱을 등록하고, 일회성 권한 부여 흐름을 완료하여 새로 고침 토큰을 얻고, 자격 증명을 저장합니다 AWS. 크롤링 시 Amazon Bedrock은 새로 고침 토큰을 사용하여 수명이 짧은 액세스 토큰을 자동으로 민트합니다.

**중요**  
OAuth 2.0은 문서 수준 액세스 제어(ACLs 지원하지 않습니다. 사용자 권한별로 쿼리 결과를 필터링하려면 기본 인증을 사용합니다. [Confluence에 대한 기본 인증 설정](kb-managed-confluence-basic-setup.md)을(를) 참조하세요.

## 1단계: OAuth 2.0(3LO) 앱 등록
<a name="kb-managed-confluence-oauth2-step1"></a>

1. [Atlassian 개발자 콘솔](https://developer.atlassian.com/console/myapps/)에 로그인합니다.

1. **생성을** 선택한 다음 **OAuth 2.0 통합**을 선택합니다.

1. 앱의 이름(예: `bedrock-confluence-connector`)을 입력하고 **생성을** 선택합니다.

1. 앱의 **권한** 페이지에서 **Confluence API**를 추가합니다. 다음과 같은 세분화된 범위(또는 앱이 사용하는 경우 이에 상응하는 클래식 범위)를 구성합니다.
   + `read:content:confluence`
   + `read:content-details:confluence`
   + `read:space:confluence`
   + `read:space-details:confluence`
   + `read:user:confluence`
   + `read:attachment:confluence`
   + `read:page:confluence` - 페이지 열거에 필요
   + `read:blogpost:confluence` - 블로그 게시물을 크롤링하는 경우 필수
   + `read:custom-content:confluence` - 워크스페이스에 사용자 지정 콘텐츠가 포함된 경우 필수

   **권한 부여** - **사용자 자격 증명 API** 권한`offline_access`에를 추가합니다. `offline_access`는 Atlassian이 새로 고침 토큰을 발행하도록 하는 원인입니다.

1. **권한** 부여 페이지에서 **콜백 URL**을 3단계에서 권한 부여 코드를 캡처할 수 있는 URL로 설정합니다(예: `https://localhost:8080/callback`).

1. **설정** 페이지에서 **클라이언트 ID**와 **보안** 암호를 복사합니다. 및 `confluenceAppKey` 입니다`confluenceAppSecret`.

## 2단계: 앱 권한 부여
<a name="kb-managed-confluence-oauth2-step2"></a>

브라우저에서 다음 URL을 열고 자리 표시자를 값으로 바꿉니다. 커넥터에 액세스해야 하는 Atlassian 사용자로 로그인합니다. 사용자는 크롤링하려는 Confluence 콘텐츠에 액세스할 수 있어야 합니다.

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

동의 프롬프트를 승인합니다. Atlassian은 `code` 쿼리 파라미터를 사용하여 콜백 URL로 리디렉션합니다. 해당 권한 부여 코드를 복사합니다.

## 3단계: 코드를 토큰으로 교환
<a name="kb-managed-confluence-oauth2-step3"></a>

권한 부여 코드를 액세스 토큰과 새로 고침 토큰으로 교환합니다. 터미널에서 다음을 실행합니다.

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

응답에는 `access_token` 및가 포함됩니다`refresh_token`. 두 값을 모두 기록합니다. 새로 고침 토큰은 정기적으로 사용되는 한 만료되지 않습니다.

## 4단계: Secrets Manager 보안 암호 생성
<a name="kb-managed-confluence-oauth2-step4"></a>

다음 키-값 페어를 사용하여 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장합니다.

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

 AWS Command Line Interface다음을 사용하여 보안 암호를 생성합니다.

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

응답의 보안 암호 ARN을 기록합니다. 이를 데이터 소스 로 사용합니다`secretArn`.

## 5단계: 보안 암호를 업데이트할 수 있는 서비스 역할 권한 부여
<a name="kb-managed-confluence-oauth2-step5"></a>

Atlassian 액세스 토큰은 60분 후에 만료됩니다. Amazon Bedrock은 새로 고침 토큰을 사용하여 새 액세스 토큰을 민트하고 새 값을 동일한 보안 암호에 다시 씁니다. 지식 기반 서비스 역할의 권한 정책에 보안 암호에 `secretsmanager:PutSecretValue`를 추가합니다.

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

이 권한이 없으면 커넥터가 교체된 액세스 토큰을 유지할 수 없으며 후속 동기화가 실패합니다.

## 다음 단계
<a name="kb-managed-confluence-oauth2-next"></a>

보안 암호를 저장한 후가 로 `authType` 설정된 데이터 소스를 생성합니다`OAUTH2`. [Confluence 데이터 소스 연결](kb-managed-ds-confluence-connect.md)을(를) 참조하세요.