View a markdown version of this page

Conexões da aplicação do Bitbucket - AWS CodeBuild

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conexões da aplicação do Bitbucket

Você pode usar o Bitbucket para se conectar com CodeBuild. As conexões da aplicação do Bitbucket têm suporte por meio do Conexões de código da AWS.

nota

CodeConnections está disponível em menos regiões do que CodeBuild. Você pode usar conexões entre regiões em CodeBuild. Conexões criadas em regiões de aceitação não podem ser usadas em outras regiões. Para saber mais, consulte Endpoints e cotas do Conexões de código da AWS.

Etapa 1: criar uma conexão com o Bitbucket (console)

Use essas etapas para usar o CodeBuild console para adicionar uma conexão ao seu projeto no Bitbucket.

Para criar uma conexão com o Bitbucket
nota

Em vez de criar ou usar uma conexão existente na sua conta, você pode usar uma conexão compartilhada de outra AWS conta. Para obter mais informações, consulte Compartilhar conexões com AWS contas.

Etapa 2: conceder acesso à função IAM do CodeBuild projeto para usar a conexão

Você pode conceder acesso à função IAM do CodeBuild projeto para usar os tokens do Bitbucket fornecidos pela sua conexão.

Para conceder acesso à função IAM do CodeBuild projeto
  1. Crie uma função do IAM para seu CodeBuild projeto seguindo as instruções CodeBuild Permitir interagir com outros AWS serviços para seu CodeBuild projeto.

  2. Ao seguir as instruções, adicione a seguinte política do IAM ao papel CodeBuild do seu projeto para conceder acesso à conexão.

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

Etapa 3: Configurar CodeBuild para usar a nova conexão

Você pode configurar uma conexão como uma credencial no nível da conta e usá-la em um projeto.

AWS Management Console
Para configurar uma conexão como uma credencial de nível de conta no AWS Management Console
  1. Em Provedor de origem, escolha Bitbucket.

  2. Em Credencial, siga um destes procedimentos:

    • Escolha Credencial de origem padrão para usar a credencial de origem padrão da conta e aplicá-la a todos os projetos.

      1. Se você não estiver conectado ao Bitbucket, escolha Gerenciar credencial de origem padrão.

      2. Para Tipo de credencial, escolha CodeConnections.

      3. Em Conexão, escolha usar uma conexão existente ou crie uma.

    • Escolha Credencial de origem personalizada para usar uma credencial de origem personalizada para substituir as configurações padrão da conta.

      1. Para Tipo de credencial, escolha CodeConnections.

      2. Em Conexão, escolha usar uma conexão existente ou crie uma.

AWS CLI
Para configurar uma conexão como uma credencial de nível de conta no AWS CLI
  • Abra um terminal (Linux, macOS ou Unix) ou um prompt de comando (Windows). Use o AWS CLI para executar o import-source-credentials comando, especificando o --auth-type--server-type, e --token para sua conexão.

    Use o seguinte comando:

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

Para obter mais informações sobre como configurar vários tokens em seu CodeBuild projeto, consulteConfigurar vários tokens como credenciais no nível de origem.

Tokens de atualização rotativos do Bitbucket OAuth

A Atlassian agora impõe tokens de atualização rotativos de uso único para o Bitbucket OAuth. Sempre que você usa um token de atualização, o Bitbucket o invalida e retorna um novo. Para obter mais informações, consulte Tokens de atualização de uso único do Bitbucket OAuth (CHANGE-3052) no site de desenvolvedores da Atlassian.

Ação necessária para Manager-stored credenciais Secrets

Se você armazenar as credenciais do Bitbucket OAuth no Secrets Manager, adicione a secretsmanager:PutSecretValue permissão à sua função de serviço. CodeBuild Com essa permissão, CodeBuild você pode gravar o token de atualização atualizado de volta em seu segredo após cada atualização do token. Sem essa permissão, a próxima compilação após a atualização do token falha.

O exemplo de declaração de política do IAM a seguir concede a permissão necessária:

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

Se você usar a CodeBuild-managed opção, nenhuma alteração será necessária. CodeBuild manipula a rotação de tokens automaticamente.

Migrar para Conexões de código da AWS (recomendado)

Recomendamos migrar Conexões de código da AWS para a integração com o Bitbucket. Conexões de código da AWS usa um mecanismo de autorização separado que os tokens de atualização rotativos não afetam. Você não precisa gerenciar tokens nem adicionar permissões.

Para migrar para Conexões de código da AWS, conclua as seguintes etapas:

  1. Abra o console do Developer Tools. Escolha Configurações, Conexões e, em seguida, Criar conexão. Selecione Bitbucket como provedor.

  2. Autorize o Conexões de código da AWS aplicativo no seu espaço de trabalho do Bitbucket. Isso requer a permissão Administrar espaço de trabalho no Bitbucket.

  3. Adicione as seguintes permissões à sua função CodeBuild de serviço: codeconnections:GetConnectionToken codeconnections:GetConnection e.

  4. Defina a conexão como sua credencial padrão:

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>
  5. Todos os projetos que usam a credencial padrão trocam automaticamente. Atualize projetos que usam credenciais personalizadas por projeto individualmente. Use o console ou a UpdateProject API.