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 三邊形 (3LO) 應用程式進行身分驗證。您可以在 Atlassian 開發人員主控台中註冊應用程式、完成一次性授權流程以取得重新整理權杖,以及將登入資料存放在其中 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 — 如果您的工作區包含自訂內容,則為必要

    新增 offline_access 授權使用者身分 API 許可。 offline_access 是 Atlassian 發出重新整理權杖的原因。

  5. 授權頁面上,將回呼 URL 設定為您可以在步驟 3 中擷取授權碼的控制 URL (例如 https://localhost:8080/callback)。

  6. 設定頁面上,複製用戶端 ID秘密。這些是 confluenceAppKeyconfluenceAppSecret

步驟 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_tokenrefresh_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:授予服務角色更新秘密的許可

Atlassian 存取字符會在 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 資料來源