View a markdown version of this page

Connexions à l'application Bitbucket - AWS CodeBuild

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.

Connexions à l'application Bitbucket

Vous pouvez utiliser Bitbucket pour vous connecter à CodeBuild. Les connexions à l'application Bitbucket sont prises en charge via AWS CodeConnections.

Note

CodeConnections est disponible dans moins de régions que CodeBuild. Vous pouvez utiliser des connexions interrégionales dans. CodeBuild Les connexions créées dans les régions optionnelles ne peuvent pas être utilisées dans d'autres régions. Pour plus d’informations, consultez Points de terminaison et quotas AWS CodeConnections.

Étape 1 : Création d'une connexion à Bitbucket (console)

Suivez ces étapes pour utiliser la CodeBuild console afin d'ajouter une connexion pour votre projet dans Bitbucket.

Pour créer une connexion à Bitbucket
Note

Au lieu de créer ou d'utiliser une connexion existante dans votre compte, vous pouvez utiliser une connexion partagée depuis un autre AWS compte. Pour plus d'informations, consultez la section Partager des connexions avec AWS des comptes.

Étape 2 : accorder l'accès au rôle IAM du CodeBuild projet pour utiliser la connexion

Vous pouvez accorder l'accès au rôle IAM du CodeBuild projet pour utiliser les jetons Bitbucket distribués par votre connexion.

Pour accorder l'accès CodeBuild au rôle IAM du projet
  1. Créez un rôle IAM pour votre CodeBuild projet en suivant les instructions correspondant CodeBuild Permettre d'interagir avec d'autres AWS services à votre CodeBuild projet.

  2. Tout en suivant les instructions, ajoutez la politique IAM suivante à votre rôle de CodeBuild projet pour autoriser l'accès à la connexion.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ "arn:aws:iam::*:role/Service*" ] } ] }

Étape 3 : Configuration CodeBuild pour utiliser la nouvelle connexion

Vous pouvez configurer une connexion en tant qu'identifiant au niveau du compte et l'utiliser dans un projet.

Console de gestion AWS
Pour configurer une connexion en tant qu'identifiant au niveau du compte dans Console de gestion AWS
  1. Pour Source provider (Fournisseur de source), choisissez Bitbucket.

  2. Pour les informations d'identification, effectuez l'une des opérations suivantes :

    • Choisissez Identifiant source par défaut pour utiliser le code source par défaut de votre compte et l'appliquer à tous les projets.

      1. Si vous n'êtes pas connecté à Bitbucket, choisissez Gérer les informations d'identification source par défaut.

      2. Pour Type d'informations d'identification, choisissez CodeConnections.

      3. Dans Connexion, choisissez d'utiliser une connexion existante ou de créer une nouvelle connexion.

    • Choisissez Identifiant source personnalisé pour utiliser un identifiant source personnalisé afin de modifier les paramètres par défaut de votre compte.

      1. Pour Type d'informations d'identification, choisissez CodeConnections.

      2. Dans Connexion, choisissez d'utiliser une connexion existante ou de créer une nouvelle connexion.

AWS CLI
Pour configurer une connexion en tant qu'identifiant au niveau du compte dans AWS CLI
  • Ouvrez une invite de terminal (Linux, macOS ou Unix) ou de commande (Windows). Utilisez le AWS CLI pour exécuter la import-source-credentials commande, en spécifiant le --auth-type--server-type, et --token pour votre connexion.

    Utilisez la commande suivante :

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>

Pour plus d'informations sur la configuration de plusieurs jetons dans votre CodeBuild projet, consultezConfigurer plusieurs jetons comme informations d'identification au niveau de la source.

Jetons d'actualisation rotatifs Bitbucket OAuth

Atlassian applique désormais des jetons d'actualisation rotatifs à usage unique pour Bitbucket OAuth. Chaque fois que vous utilisez un jeton d'actualisation, Bitbucket l'invalide et en renvoie un nouveau. Pour plus d'informations, consultez la section Jetons d'actualisation à usage unique Bitbucket OAuth (CHANGE-3052) sur le site Web des développeurs d'Atlassian.

Action requise pour les informations d' Manager-stored identification Secrets

Si vous stockez les informations d'identification Bitbucket OAuth dans Secrets Manager, ajoutez l'secretsmanager:PutSecretValueautorisation à votre CodeBuild rôle de service. Avec cette autorisation, CodeBuild vous pouvez réécrire le jeton d'actualisation mis à jour dans votre code secret après chaque actualisation du jeton. Sans cette autorisation, la prochaine génération après l'actualisation d'un jeton échoue.

L'exemple de déclaration de politique IAM suivant accorde l'autorisation requise :

{ "Effect": "Allow", "Action": "secretsmanager:PutSecretValue", "Resource": "arn:aws:secretsmanager:*:*:secret:codebuild/*" }

Si vous utilisez CodeBuild-managed cette option, aucune modification n'est nécessaire. CodeBuild gère automatiquement la rotation des jetons.

Migrer vers AWS CodeConnections (recommandé)

Nous vous recommandons de migrer vers Bitbucket AWS CodeConnections pour l'intégration. AWS CodeConnections utilise un mécanisme d'autorisation distinct que la rotation des jetons d'actualisation n'affecte pas. Vous n'avez pas besoin de gérer les jetons ou d'ajouter des autorisations.

Pour effectuer la migration vers AWS CodeConnections, procédez comme suit :

  1. Ouvrez la console Outils de développement. Choisissez Paramètres, Connexions, puis Créer une connexion. Sélectionnez Bitbucket comme fournisseur.

  2. Autorisez l' AWS CodeConnections application dans votre espace de travail Bitbucket. Cela nécessite l'autorisation d'administrer l'espace de travail dans Bitbucket.

  3. Ajoutez les autorisations suivantes à votre rôle CodeBuild de service : codeconnections:GetConnectionToken etcodeconnections:GetConnection.

  4. Définissez la connexion comme identifiant par défaut :

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>
  5. Tous les projets utilisant les informations d'identification par défaut changent automatiquement. Mettez à jour individuellement les projets qui utilisent des informations d'identification personnalisées pour chaque projet. Utilisez la console ou l'UpdateProjectAPI.