View a markdown version of this page

Connessioni all'app Bitbucket - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connessioni all'app Bitbucket

Puoi usare Bitbucket per connetterti con. CodeBuild Le connessioni all'app Bitbucket sono supportate tramite. AWS CodeConnections

Nota

CodeConnections è disponibile in un numero inferiore di regioni rispetto a. CodeBuild È possibile utilizzare connessioni interregionali in CodeBuild. Le connessioni create nelle regioni opt-in non possono essere utilizzate in altre regioni. Per ulteriori informazioni, consulta Endpoint e quote per AWS CodeConnections.

Passaggio 1: crea una connessione a Bitbucket (console)

Usa questi passaggi per usare la CodeBuild console per aggiungere una connessione per il tuo progetto in Bitbucket.

Per creare una connessione a Bitbucket
Nota

Invece di creare o utilizzare una connessione esistente nel tuo account, puoi utilizzare una connessione condivisa da un altro AWS account. Per ulteriori informazioni, consulta Condividere le connessioni con AWS gli account.

Passaggio 2: concedere l'accesso al ruolo IAM del CodeBuild progetto per utilizzare la connessione

Puoi concedere l'accesso al ruolo IAM del CodeBuild progetto per utilizzare i token Bitbucket forniti dalla tua connessione.

Per concedere CodeBuild l'accesso al ruolo IAM del progetto
  1. Crea un ruolo IAM per il tuo CodeBuild progetto seguendo le istruzioni Permetti CodeBuild di interagire con altri AWS services per il tuo CodeBuild progetto.

  2. Seguendo le istruzioni, aggiungi la seguente policy IAM al ruolo CodeBuild del tuo progetto per concedere l'accesso alla connessione.

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

Fase 3: CodeBuild Configurare per utilizzare la nuova connessione

È possibile configurare una connessione come credenziale a livello di account e utilizzarla in un progetto.

Console di gestione AWS
Per configurare una connessione come credenziale a livello di account nel Console di gestione AWS
  1. In Source provider (Provider origine) selezionare Bitbucket.

  2. Per Credential, esegui una delle seguenti operazioni:

    • Scegli Credenziale di origine predefinita per utilizzare la credenziale di origine predefinita del tuo account da applicare a tutti i progetti.

      1. Se non sei connesso a Bitbucket, scegli Gestisci le credenziali di origine predefinite.

      2. Per il tipo di credenziale, scegli. CodeConnections

      3. In Connessione, scegli di utilizzare una connessione esistente o di crearne una nuova.

    • Scegli Credenziale di origine personalizzata per utilizzare una credenziale di origine personalizzata per sovrascrivere le impostazioni predefinite del tuo account.

      1. Per Tipo di credenziale, scegli. CodeConnections

      2. In Connessione, scegli di utilizzare una connessione esistente o di crearne una nuova.

AWS CLI
Per configurare una connessione come credenziale a livello di account nel AWS CLI
  • Apri un terminale (Linux, macOS o Unix) o prompt dei comandi (Windows). Usa il AWS CLI per eseguire il import-source-credentials comando, specificando il--auth-type,--server-type, e --token per la tua connessione.

    Utilizza il seguente comando:

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

Per ulteriori informazioni sulla configurazione di più token nel CodeBuild progetto, consulta. Configura più token come credenziali a livello di origine

Token di aggiornamento rotanti OAuth di Bitbucket

Atlassian ora applica token di aggiornamento rotanti monouso per Bitbucket OAuth. Ogni volta che usi un token di aggiornamento, Bitbucket lo invalida e ne restituisce uno nuovo. Per ulteriori informazioni, consulta Bitbucket OAuth refresh tokens () monouso sul sito Web per sviluppatori di Atlassian. CHANGE-3052

Azione Manager-stored richiesta per le credenziali di Secrets

Se memorizzi le credenziali OAuth di Bitbucket in Secrets Manager, aggiungi l'secretsmanager:PutSecretValueautorizzazione al tuo ruolo di servizio. CodeBuild Con questa autorizzazione, CodeBuild puoi riscrivere il token di aggiornamento aggiornato nel tuo segreto dopo ogni aggiornamento del token. Senza questa autorizzazione, la build successiva dopo l'aggiornamento del token fallisce.

Il seguente esempio di dichiarazione sulla politica IAM concede l'autorizzazione richiesta:

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

Se si utilizza l' CodeBuild-managed opzione, non sono necessarie modifiche. CodeBuild gestisce automaticamente la rotazione dei token.

Esegui la migrazione a AWS CodeConnections (consigliato)

Ti consigliamo di migrare a AWS CodeConnections per l'integrazione con Bitbucket. AWS CodeConnections utilizza un meccanismo di autorizzazione separato che non influisce sulla rotazione dei token di aggiornamento. Non è necessario gestire i token o aggiungere autorizzazioni.

Per migrare a AWS CodeConnections, completa i seguenti passaggi:

  1. Aprire la console Strumenti di sviluppo. Scegli Impostazioni, Connessioni, quindi Crea connessione. Seleziona Bitbucket come provider.

  2. Autorizza l' AWS CodeConnections app nel tuo spazio di lavoro Bitbucket. Ciò richiede l'autorizzazione di amministrazione dello spazio di lavoro in Bitbucket.

  3. Aggiungi le seguenti autorizzazioni al tuo CodeBuild ruolo di servizio: e. codeconnections:GetConnectionToken codeconnections:GetConnection

  4. Imposta la connessione come credenziale predefinita:

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>
  5. Tutti i progetti che utilizzano le credenziali predefinite cambiano automaticamente. Aggiorna i progetti che utilizzano credenziali personalizzate per progetto singolarmente. Usa la console o l'API. UpdateProject