View a markdown version of this page

Confluence の OAuth 2.0 認証を設定する - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Confluence の OAuth 2.0 認証を設定する

OAuth 2.0 認証 (OAUTH2) は、Atlassian OAuth 2.0 3 レッグ (3LO) アプリで認証します。Atlassian デベロッパーコンソールにアプリを登録し、1 回限りの承認フローを完了して更新トークンを取得し、認証情報を に保存します AWS。クロール時に、Amazon Bedrock は更新トークンを使用して、有効期間の短いアクセストークンを自動的に作成します。

重要

OAuth 2.0 はドキュメントレベルのアクセスコントロール (ACLsをサポートしていません。クエリ結果をユーザーアクセス許可でフィルタリングするには、基本認証を使用します。「Confluence の基本認証を設定する」を参照してください。

ステップ 1: OAuth 2.0 (3LO) アプリを登録する

  1. Atlassian デベロッパーコンソールにサインインします。

  2. 作成を選択し、次に OAuth 2.0 統合を選択します。

  3. アプリの名前 ( などbedrock-confluence-connector) を入力し、作成を選択します。

  4. アプリのアクセス許可ページで、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 — ワークスペースにカスタムコンテンツが含まれている場合は必須です

    認可ユーザー ID API アクセス許可offline_accessに を追加します。 offline_accessは、Atlassian が更新トークンを発行する原因です。

  5. 認可ページで、コールバック URL を、ステップ 3 で認可コードをキャプチャできる制御する URL に設定します (例: https://localhost:8080/callback)。

  6. 設定ページで、クライアント IDシークレットをコピーします。これらは confluenceAppKeyと ですconfluenceAppSecret

ステップ 2: アプリを承認する

ブラウザで次の 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: コードをトークンと交換する

認可コードをアクセストークンと更新トークンと交換します。ターミナルから、以下を実行します。

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 シークレットを作成する

次のキーと値のペアを使用して、認証情報を 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: シークレットを更新するアクセス許可をサービスロールに付与する

アトラシアンアクセストークンは 60 分後に期限切れになります。Amazon Bedrock は更新トークンを使用して新しいアクセストークンをミントし、新しい値を同じシークレットに書き込みます。シークレットsecretsmanager:PutSecretValueの をナレッジベースサービスロールのアクセス許可ポリシーに追加します。

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

このアクセス許可がないと、コネクタはローテーションされたアクセストークンを保持できず、その後の同期は失敗します。

次の手順

シークレットを保存したら、 を authTypeに設定してデータソースを作成しますOAUTH2。「Confluence データソースを接続する」を参照してください。