

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.

# GitHub y un token de acceso a GitHub Enterprise Server
<a name="access-tokens-github"></a>

## Requisitos previos de los tokens de acceso
<a name="access-tokens-github-prereqs"></a>

Antes de empezar, debe añadir los ámbitos de permiso adecuados a su token de GitHub acceso. 

Pues GitHub, su token de acceso personal debe tener los siguientes ámbitos. 
+ **repo**: Concede a control total de repositorios privados. 
+ **repo:status:** otorga read/write acceso a los estados de confirmación de los repositorios públicos y privados.
+ **admin:repo\$1hook**: Concede control total de enlaces de repositorio. Este ámbito no es necesario si su token tiene el ámbito `repo`. 
+ **admin:org\$1hook**: Concede control total de los enlaces de la organización. Este ámbito solo es obligatorio si usa la característica de webhook de la organización.

Para obtener más información, consulta el artículo Cómo [entender los ámbitos de las aplicaciones en el sitio web OAuth ](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). GitHub 

Si usa tokens de acceso personal detallado puede que su token correspondiente necesite los siguientes permisos, en función de su caso de uso:
+ **Contenido: solo lectura:** concede acceso a los repositorios privados. Este permiso es obligatorio si usa repositorios privados como origen.
+ **Estados de confirmación: lectura y escritura:** concede permiso para crear estados de confirmación. Este permiso es obligatorio si su proyecto tiene webhook configurado o si tiene habilitada la característica para notificar el estado de compilación.
+ **Webhooks: lectura y escritura**: concede permiso para administrar los webhooks. Este permiso es obligatorio si su proyecto tiene webhook configurado.
+ **Solicitudes de extracción: solo lectura**: concede permiso para acceder a las solicitudes de extracción. Este permiso es obligatorio si su webhook tiene un filtro `FILE_PATH` para los eventos de solicitudes de extracción.
+ **Administración: lectura y escritura**: este permiso es necesario si utilizas la función GitHub Actions Runner autohospedada con. CodeBuild Para obtener más información, consulte [Create a registration token for a repository](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-a-registration-token-for-a-repository) y [Tutorial: Configurar un ejecutor de CodeBuild Actions alojado GitHub](action-runner.md).

**nota**  
Si quiere acceder a los repositorios de la organización, asegúrese de especificar la organización como propietario del recurso del token de acceso.

Para obtener más información, consulta el artículo sobre [los permisos necesarios para los tokens de acceso personal detallados](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28) en el sitio web. GitHub 

## Conéctese GitHub con un token de acceso (consola)
<a name="access-tokens-github-console"></a>

Para usar la consola para conectar tu proyecto GitHub mediante un token de acceso, haz lo siguiente al crear un proyecto. Para obtener información, consulte [Creación de un proyecto de compilación (consola)](create-project.md#create-project-console). 

1. En **Proveedor de fuentes**, selecciona **GitHub**. 

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

     1. Si no estás conectado a GitHub, selecciona **Administrar credenciales de cuenta**.

     1. En **Tipo de credencial**, elija **Token de acceso personal**.
   + Si ha elegido utilizar credenciales de nivel de cuenta para **Servicio**, elija qué servicio desea usar para almacenar el token y haga lo siguiente:

     1. Si decide usar **Secrets Manager**, puede elegir entre usar una conexión de secreto existente o crear un secreto nuevo y elegir **Guardar**. Para obtener más información sobre cómo crear un secreto nuevo, consulte [Creación y almacenamiento de un token en un secreto de Secrets Manager](asm-create-secret.md).

     1. Si decides utilizarla **CodeBuild**, introduce tu token de acceso GitHub personal y, a continuación, selecciona **Guardar**.
   + Seleccione **Usar credenciales de anulación solo para este proyecto** para utilizar una credencial de origen personalizada para anular la configuración de credencial de la cuenta.

     1. En la lista de credenciales rellenada, elija una de las opciones de **Token de acceso personal**.

     1. También puede crear un nuevo token de acceso personal seleccionando **crear una nueva conexión de token de acceso personal** en la descripción.

## Conéctese GitHub con un token de acceso (CLI)
<a name="access-tokens-github-cli"></a>

Siga estos pasos para usar el y AWS CLI conectar su proyecto GitHub mediante un token de acceso. Para obtener información sobre el uso del AWS CLI with AWS CodeBuild, consulta la[Referencia de la línea de comandos](cmd-ref.md). 

1. Ejecute el comando **import-source-credentials**: 

   ```
   aws codebuild import-source-credentials --generate-cli-skeleton
   ```

   En el resultado se muestran datos con formato JSON. Copie los datos en un archivo (por ejemplo,`import-source-credentials.json`) en una ubicación del equipo o instancia local en la que AWS CLI esté instalado. Modifique los datos copiados como se indica a continuación y guarde los resultados. 

   ```
   {
       "serverType": "server-type",
       "authType": "auth-type",
       "shouldOverwrite": "should-overwrite",
       "token": "token",
       "username": "username"
       }
   ```

   Sustituya lo siguiente: 
   + *server-type*: valor obligatorio. El proveedor de código fuente utilizado para esta credencial. Los valores válidos son GITHUB, BITBUCKET, GITHUB\$1ENTERPRISE, GITLAB y GITLAB\$1SELF\$1MANAGED.
   + *auth-type*: Valor obligatorio. El tipo de autenticación que se utiliza para conectarse a un repositorio. Los valores válidos son OAUTH, BASIC\$1AUTH, PERSONAL\$1ACCESS\$1TOKEN, CODECONNECTIONS y SECRETS\$1MANAGER. Para GitHub, solo se permite PERSONAL\$1ACCESS\$1TOKEN. BASIC\$1AUTH solo está permitido con la contraseña de aplicación de Bitbucket.
   + *should-overwrite*: valor opcional. Establézcalo en `false` para impedir que se sobrescriban las credenciales de origen del repositorio. Establézcalo en `true` para sobrescribir las credenciales de origen del repositorio. El valor predeterminado es `true`.
   + *token*: Valor obligatorio. En el GitHub caso de GitHub Enterprise Server, este es el token de acceso personal. Para Bitbucket, este es el token de acceso personal o la contraseña de aplicación. Para el tipo de autenticación CODECONNECTIONS, es el ARN de la conexión. Para el tipo de autenticación SECRETS\$1MANAGER, es el ARN del secreto.
   + *username*: valor opcional. Este parámetro se omite para GitHub los proveedores de origen de GitHub Enterprise Server. 

1. Para conectar su cuenta con un token de acceso, cambie al directorio que contiene el archivo `import-source-credentials.json` que guardó en el paso 1 y vuelva a ejecutar el comando **import-source-credentials**. 

   ```
   aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
   ```

   Los datos con formato JSON aparecen en el resultado con un nombre de recurso de Amazon (ARN). 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```
**nota**  
Si ejecuta el comando **import-source-credentials** con el mismo tipo de servidor y tipo de autorización una segunda vez, se actualiza el token de acceso almacenado. 

   Una vez que tu cuenta esté conectada con un token de acceso, podrás usarlo `create-project` para crear tu CodeBuild proyecto. Para obtener más información, consulte [Crear un proyecto de compilación (AWS CLI)](create-project.md#create-project-cli). 

1. Para ver los tokens de acceso conectados, ejecute el comando **list-source-credentials**. 

   ```
   aws codebuild list-source-credentials
   ```

   Un objeto `sourceCredentialsInfos` con formato JSON aparece en el resultado: 

   ```
   {
           "sourceCredentialsInfos": [
               {
                   "authType": "auth-type",
                   "serverType": "server-type", 
                   "arn": "arn"
               }
           ]
       }
   ```

   El `sourceCredentialsObject` contiene una lista de información de credenciales de código fuente conectado: 
   + El `authType` es el tipo de autenticación que utilizan las credenciales. Este valor puede ser `OAUTH`, `BASIC_AUTH`, `PERSONAL_ACCESS_TOKEN`, `CODECONNECTIONS` o `SECRETS_MANAGER`. 
   + El `serverType` es el tipo de proveedor de código fuente. Este valor puede ser `GITHUB`, `GITHUB_ENTERPRISE`, `BITBUCKET`, `GITLAB` o `GITLAB_SELF_MANAGED`. 
   + El `arn` es el ARN del token. 

1. Para desconectarse de un proveedor de código fuente y eliminar sus tokens de acceso, ejecute el comando **delete-source-credentials** con su ARN. 

   ```
   aws codebuild delete-source-credentials --arn arn-of-your-credentials
   ```

   Los datos con formato JSON se devuelven con un ARN de las credenciales eliminadas. 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```