翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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) アプリを登録する
-
Atlassian デベロッパーコンソール
にサインインします。 -
作成を選択し、次に OAuth 2.0 統合を選択します。
-
アプリの名前 ( など
bedrock-confluence-connector) を入力し、作成を選択します。 -
アプリのアクセス許可ページで、Confluence API を追加します。以下のきめ細かなスコープ (またはアプリで使用されている場合は同等のクラシックスコープ) を設定します。
read:content:confluenceread:content-details:confluenceread:space:confluenceread:space-details:confluenceread:user:confluenceread:attachment:confluenceread:page:confluence— ページの列挙に必要read:blogpost:confluence— ブログ投稿をクロールする場合に必要ですread:custom-content:confluence— ワークスペースにカスタムコンテンツが含まれている場合は必須です
認可 — ユーザー ID API アクセス許可
offline_accessに を追加します。offline_accessは、Atlassian が更新トークンを発行する原因です。 -
認可ページで、コールバック URL を、ステップ 3 で認可コードをキャプチャできる制御する URL に設定します (例:
https://localhost:8080/callback)。 -
設定ページで、クライアント 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 \ --namebedrock-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 データソースを接続する」を参照してください。