View a markdown version of this page

Configurer l'authentification OAuth 2.0 pour Confluence - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer l'authentification OAuth 2.0 pour Confluence

L'authentification OAuth 2.0 (OAUTH2) s'authentifie auprès d'une application Atlassian OAuth 2.0 à trois pattes (3LO). Vous enregistrez une application dans la console de développement Atlassian, vous effectuez un flux d'autorisation unique pour obtenir un jeton d'actualisation et vous y stockez les informations d'identification. AWS Au moment du crawl, Amazon Bedrock utilise le jeton d'actualisation pour créer automatiquement des jetons d'accès de courte durée.

Important

OAuth 2.0 ne prend pas en charge le contrôle d'accès au niveau du document (ACL). Pour filtrer les résultats des requêtes en fonction des autorisations utilisateur, utilisez l'authentification de base. Consultez Configurer l'authentification de base pour Confluence.

Étape 1 : enregistrer une application OAuth 2.0 (3LO)

  1. Connectez-vous à la console de développement Atlassian.

  2. Choisissez Create, puis intégration OAuth 2.0.

  3. Entrez un nom pour l'application (par exemple,bedrock-confluence-connector) et choisissez Create.

  4. Sur la page Autorisations de l'application, ajoutez l'API Confluence. Configurez les étendues granulaires suivantes (ou les étendues classiques équivalentes si votre application les utilise) :

    • read:content:confluence

    • read:content-details:confluence

    • read:space:confluence

    • read:space-details:confluence

    • read:user:confluence

    • read:attachment:confluence

    • read:page:confluence— obligatoire pour l'énumération des pages

    • read:blogpost:confluence— obligatoire si vous parcourez les articles de blog

    • read:custom-content:confluence— obligatoire si votre espace de travail contient du contenu personnalisé

    Ajoutez offline_access l'autorisation API Authorization — Identité utilisateur. offline_accessest ce qui pousse Atlassian à émettre un jeton d'actualisation.

  5. Sur la page d'autorisation, définissez l'URL de rappel sur une URL que vous contrôlez et sur laquelle vous pouvez capturer le code d'autorisation à l'étape 3 (par exemple,https://localhost:8080/callback).

  6. Sur la page Paramètres, copiez l'ID client et le secret. Ce sont les confluenceAppKey terresconfluenceAppSecret.

Étape 2 : Autoriser l'application

Ouvrez l'URL suivante dans un navigateur, en remplaçant les espaces réservés par vos valeurs. Connectez-vous avec l'utilisateur Atlassian dont le connecteur doit utiliser l'accès ; l'utilisateur doit avoir accès au contenu Confluence que vous souhaitez explorer.

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

Approuvez l'invite de consentement. Atlassian redirige vers votre URL de rappel avec un paramètre de requête. code Copiez ce code d'autorisation.

Étape 3 : échangez le code contre des jetons

Échangez le code d'autorisation contre un jeton d'accès et un jeton d'actualisation. Depuis un terminal, exécutez :

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

La réponse contient access_token etrefresh_token. Enregistrez les deux valeurs. Le jeton d'actualisation n'expire pas tant qu'il est utilisé régulièrement.

Étape 4 : Création du secret du Gestionnaire de Secrets

Stockez les informations d'identification dans un AWS Secrets Manager secret avec les paires clé-valeur suivantes :

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

Créez le secret avec AWS Command Line Interface :

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

Enregistrez l'ARN secret de la réponse. Vous l'utilisez comme source de donnéessecretArn.

Étape 5 : accorder au rôle de service l'autorisation de mettre à jour le secret

Les jetons d'accès Atlassian expirent au bout de 60 minutes. Amazon Bedrock utilise le jeton d'actualisation pour créer un nouveau jeton d'accès et réécrit la nouvelle valeur dans le même secret. Ajoutez le secret secretsmanager:PutSecretValue à la politique d'autorisation de votre rôle de service de base de connaissances :

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

Sans cette autorisation, le connecteur ne peut pas conserver le jeton d'accès pivoté et les synchronisations ultérieures échouent.

Étapes suivantes

Après avoir enregistré le secret, créez la source de données avec la authType valeur définie surOAUTH2. Consultez Connect une source de données Confluence.