Requisitos previos de los tokens de acceso
Antes de comenzar, debe añadir los ámbitos de permiso adecuados para su token de acceso de GitHub.
Para GitHub, su token de acceso personal debe tener los siguientes ámbitos.
-
repo: Concede a control total de repositorios privados.
-
repo:status: otorga acceso de lectura y escritura a los estados de confirmación de los repositorios públicos y privados.
-
admin:repo_hook: Concede control total de enlaces de repositorio. Este ámbito no es necesario si su token tiene el ámbito
repo
. -
admin:org_hook: 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, consulte Understanding Scopes for OAuth Apps
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 obligatorio si usa la característica de ejecutor de GitHub Actions autoalojado con CodeBuild. Para obtener más información, consulte la sección de creación de un token de registro para un repositorio
y Tutorial: Configuración de un ejecutor de GitHub Actions alojado en CodeBuild.
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, consulte Permisos necesarios para los tokens de acceso personal específicos
Conectarse a GitHub con un token de acceso (consola)
Para utilizar la consola para conectar el proyecto a GitHub con un token de acceso, haga lo siguiente a la hora de crear un proyecto. Para obtener más información, consulte Creación de un proyecto de compilación (consola).
-
En Source provider (Proveedor de código fuente), elija GitHub.
-
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.
-
Si no está conectado a GitHub, elija Administrar la credencial de origen predeterminada.
-
En Tipo de credencial, elija Token de acceso personal.
-
Si ha elegido Credencial de origen predeterminada, elija en Servicio el servicio que quiere usar para almacenar el token y haga lo siguiente:
-
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.
-
Si decide usar CodeBuild, escriba su Token de acceso personal de GitHub y elija Guardar.
-
-
-
Elija Credencial de origen personalizada a fin de usar una credencial de este tipo para anular la configuración predeterminada de su cuenta.
-
En Tipo de credencial, elija Token de acceso personal.
-
En Conexión, elija usar una conexión de secreto existente o cree un secreto.
-
-
Conectarse a GitHub con un token de acceso (CLI)
Siga estos pasos para utilizar la AWS CLI para conectar su proyecto a GitHub utilizando un token de acceso. Para obtener información sobre cómo usar la AWS CLI con AWS CodeBuild, consulte Referencia de la línea de comandos.
-
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,
) en la ubicación del equipo o instancia local en la que haya instalado la AWS CLI. Modifique los datos copiados como se indica a continuación y guarde los resultados.import-source-credentials.json
{ "serverType": "
server-type
", "authType": "auth-type
", "shouldOverwrite": "should-overwrite
", "token": "token
", "username": "username
" }Sustituya lo siguiente:
-
tipo-servidor
: valor obligatorio. El proveedor de código fuente utilizado para esta credencial. Los valores válidos son GITHUB, BITBUCKET, GITHUB_ENTERPRISE, GITLAB y GITLAB_SELF_MANAGED. -
tipo-autenticación
: valor obligatorio. El tipo de autenticación que se utiliza para conectarse a un repositorio. Los valores válidos son OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN, CODECONNECTIONS y SECRETS_MANAGER. Para GitHub, solo se permite PERSONAL_ACCESS_TOKEN. BASIC_AUTH solo está permitido con la contraseña de aplicación de Bitbucket. -
should-overwrite
: valor opcional. Establézcalo enfalse
para impedir que se sobrescriban las credenciales de origen del repositorio. Establézcalo entrue
para sobrescribir las credenciales de origen del repositorio. El valor predeterminado estrue
. -
token
: valor obligatorio. Para GitHub o GitHub Enterprise Server, se trata del 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_MANAGER, es el ARN del secreto. -
nombre de usuario
: valor opcional. Este parámetro se ignora para los proveedores de fuentes de GitHub y GitHub Enterprise Server.
-
-
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 su cuenta se conecta con un token de acceso, puede utilizar
create-project
para crear su proyecto de CodeBuild. Para obtener más información, consulte Crear un proyecto de compilación (AWS CLI). -
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 serOAUTH
,BASIC_AUTH
,PERSONAL_ACCESS_TOKEN
,CODECONNECTIONS
oSECRETS_MANAGER
. -
El
serverType
es el tipo de proveedor de código fuente. Este valor puede serGITHUB
,GITHUB_ENTERPRISE
,BITBUCKET
,GITLAB
oGITLAB_SELF_MANAGED
. -
El
arn
es el ARN del token.
-
-
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
" }