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 meno aree geografiche di. CodeBuild È possibile utilizzare connessioni interregionali in CodeBuild. Le connessioni create nelle regioni opzionali 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)

Utilizza questi passaggi per utilizzare 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.

Fase 2: concedere al CodeBuild progetto l'accesso al ruolo IAM 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 Consenti CodeBuild di interagire con altri servizi AWS relative al tuo CodeBuild progetto.

  2. Seguendo le istruzioni, aggiungi la seguente politica 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: Configurazione CodeBuild per l'utilizzo della 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 in 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 credenziali di origine predefinite.

      2. Per Tipo di credenziale, scegli. CodeConnections

      3. In Connessione, scegli di utilizzare una connessione esistente o 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 crearne una nuova.

AWS CLI
Per configurare una connessione come credenziale a livello di account in AWS CLI
  • Apri un terminale (Linux, macOS o Unix) o prompt dei comandi (Windows). Utilizzate il AWS CLI per eseguire il import-source-credentials comando, specificando il --auth-type--server-type, e --token per la 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 single-use refresh tokens () sul sito web per sviluppatori di Atlassian. CHANGE-3052

Azione richiesta per Manager-stored le credenziali Secrets

Se memorizzi le credenziali OAuth di Bitbucket in Secrets Manager, aggiungi secretsmanager:PutSecretValue l'autorizzazione 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 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.

Migrare a AWS CodeConnections (consigliato)

Ti consigliamo di effettuare la migrazione all'integrazione con AWS CodeConnections Bitbucket. AWS CodeConnections utilizza un meccanismo di autorizzazione separato che i token di aggiornamento rotanti non influiscono. Non è necessario gestire i token o aggiungere autorizzazioni.

Per eseguire la migrazione 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 nella tua area di lavoro Bitbucket. Ciò richiede l'autorizzazione di amministrazione dell'area 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 la credenziale predefinita cambiano automaticamente. Aggiorna individualmente i progetti che utilizzano credenziali personalizzate per progetto. Usa la console o l'API. UpdateProject