

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conexiones de aplicación de Bitbucket
<a name="connections-bitbucket-app"></a>

Puedes usar Bitbucket para conectarte con. CodeBuild Se admiten las conexiones de aplicación de Bitbucket mediante [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html).

**nota**  
CodeConnections está disponible en menos regiones que. CodeBuild Puede utilizar conexiones entre regiones en CodeBuild. Las conexiones creadas en regiones de suscripción no se pueden usar en otras regiones. Para obtener más información, consulte [Puntos de conexión y cuotas de AWS CodeConnections](https://docs.aws.amazon.com/general/latest/gr/codestar_connections.html).

**Topics**
+ [Paso 1: creación de una conexión a Bitbucket (consola)](#connections-bitbucket-console)
+ [Paso 2: Otorgue acceso al rol de IAM del CodeBuild proyecto para usar la conexión](#connections-bitbucket-role-access)
+ [Paso 3: CodeBuild Configúralo para usar la nueva conexión](#connections-bitbucket-account-credential)
+ [Tokens de actualización rotativos de OAuth de Bitbucket](#connections-bitbucket-migrate-from-oauth)

## Paso 1: creación de una conexión a Bitbucket (consola)
<a name="connections-bitbucket-console"></a>

Sigue estos pasos para usar la CodeBuild consola y añadir una conexión a tu proyecto en Bitbucket.

**Para crear una conexión a Bitbucket**
+ Siga las instrucciones de la *Guía del usuario de Herramientas para desarrolladores* para la [Creación de una conexión a Bitbucket](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-bitbucket.html).

**nota**  
En lugar de crear o usar una conexión existente en tu cuenta, puedes usar una conexión compartida desde otra AWS cuenta. Para obtener más información, consulta [Compartir conexiones con AWS cuentas](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html).

## Paso 2: Otorgue acceso al rol de IAM del CodeBuild proyecto para usar la conexión
<a name="connections-bitbucket-role-access"></a>

Puedes conceder acceso a la función de IAM CodeBuild del proyecto para usar los tokens de Bitbucket que vende tu conexión.

**Para conceder acceso a la función de IAM CodeBuild del proyecto**

1. Cree un rol de IAM para su CodeBuild proyecto siguiendo las instrucciones [CodeBuild Permiten interactuar con otros servicios AWS](setting-up-service-role.md) para su CodeBuild proyecto.

1. Siguiendo las instrucciones, añade la siguiente política de IAM a tu rol en el CodeBuild proyecto para conceder el acceso a la conexión.

------
#### [ JSON ]

****  

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

------

## Paso 3: CodeBuild Configúralo para usar la nueva conexión
<a name="connections-bitbucket-account-credential"></a>

Puede configurar una conexión como credencial de cuenta y usarla en un proyecto.

------
#### [ Consola de administración de AWS ]

**Para configurar una conexión como una credencial a nivel de cuenta en el Consola de administración de AWS**

1. En **Source provider (Proveedor de código fuente)**, elija **Bitbucket**. 

1. En **Credencial**, realice una de las siguientes acciones:
   + Elija **Credencial de origen predeterminada** para aplicar la credencial de origen predeterminada de su cuenta a todos los proyectos.

     1. Si no está conectado a Bitbucket, elija **Administrar la credencial de origen predeterminada**.

     1. En el **tipo de credencial, elija**. **CodeConnections**

     1. En **Conexión**, elija usar una conexión existente o cree una nueva.
   + Elija **Credencial de origen personalizada** a fin de usar una credencial de este tipo para anular la configuración predeterminada de su cuenta.

     1. En **Tipo de credencial, elija**. **CodeConnections**

     1. En **Conexión**, elija usar una conexión existente o cree una nueva.

------
#### [ AWS CLI ]

**Para configurar una conexión como una credencial a nivel de cuenta en el AWS CLI**
+ Abra un terminal (Linux, macOS o Unix) o un símbolo del sistema (Windows). Utilice el AWS CLI para ejecutar el **import-source-credentials** comando, especificando el `--auth-type``--server-type`, y `--token` para la conexión.

  Utilice el siguiente comando :

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

------

Para obtener más información sobre la configuración de varios tokens en su CodeBuild proyecto, consulte[Configuración de varios tokens como credenciales de origen](multiple-access-tokens.md#asm-source-credential).

## Tokens de actualización rotativos de OAuth de Bitbucket
<a name="connections-bitbucket-migrate-from-oauth"></a>

Atlassian ahora aplica los tokens de actualización rotativos de un solo uso para Bitbucket OAuth. Cada vez que utilizas un token de actualización, Bitbucket lo invalida y devuelve uno nuevo. Para obtener más información, consulta los [tokens de actualización OAuth de un solo uso de Bitbucket (CHANGE-3052)](https://developer.atlassian.com/cloud/bitbucket/changelog/#CHANGE-3052) en el sitio web para desarrolladores de Atlassian.

### Acción Manager-stored obligatoria para las credenciales de Secrets
<a name="connections-bitbucket-oauth-sm-action"></a>

Si guardas las credenciales OAuth de Bitbucket en Secrets Manager, añade el `secretsmanager:PutSecretValue` permiso a tu CodeBuild rol de servicio. Con este permiso, CodeBuild puedes volver a escribir el token de actualización actualizado en tu secreto después de cada actualización del token. Sin este permiso, se produce un error en la siguiente compilación tras la actualización del token.

El siguiente ejemplo de declaración de política de IAM concede el permiso necesario:

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

Si utiliza CodeBuild-managed esta opción, no es necesario realizar cambios. CodeBuild gestiona la rotación de los tokens automáticamente.

### Migre a AWS CodeConnections (recomendado)
<a name="connections-bitbucket-migrate-to-codeconnections"></a>

Recomendamos migrar a AWS CodeConnections para la integración con Bitbucket. AWS CodeConnections utiliza un mecanismo de autorización independiente al que no afecta la rotación de los tokens de actualización. No es necesario administrar los tokens ni añadir permisos.

Para migrar a AWS CodeConnections, complete los siguientes pasos:

1. Abra la consola de herramientas para desarrolladores de . Seleccione **Configuración**, **Conexiones** y, a continuación, **Crear conexión**. Selecciona **Bitbucket** como proveedor.

1. Autoriza la AWS CodeConnections aplicación en tu espacio de trabajo de Bitbucket. Esto requiere el permiso de *administración del espacio de trabajo* en Bitbucket.

1. Añade los siguientes permisos a tu función CodeBuild de servicio: `codeconnections:GetConnectionToken` y`codeconnections:GetConnection`.

1. Configura la conexión como tu credencial predeterminada:

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

1. Todos los proyectos que utilizan la credencial predeterminada cambian automáticamente. Actualice los proyectos que utilizan credenciales personalizadas para cada proyecto de forma individual. Usa la consola o la `UpdateProject` API.