Pré-requisitos do token de acesso
Antes de começar, é necessário adicionar os escopos de permissão adequados para o token de acesso do GitHub.
Para o GitHub, o token de acesso pessoal deve ter os seguintes escopos.
-
repo: concede controle total de repositórios privados.
-
repo:status: concede acesso de leitura/gravação aos status de confirmação do repositório público e privado.
-
admin:repo_hook: concede controle total de ganchos do repositório. Esse escopo não será obrigatório se o token tiver o escopo
repo
. -
admin:org_hook: concede controle total dos hooks da organização. Esse escopo só é necessário se você estiver usando o recurso de webhook da organização.
Para obter mais informações, consulte Noções básicas sobre os escopos dos aplicativos OAuth
Se você estiver usando tokens de acesso pessoal refinados, dependendo do caso de uso, o token de acesso pessoal pode precisar das seguintes permissões:
-
Conteúdo: somente leitura: concede acesso a repositórios privados. Essa permissão é necessária se você estiver usando repositórios privados como fonte.
-
Status de confirmação: leitura e gravação: concede permissão para criar status de confirmação. Essa permissão é necessária se o projeto tiver um webhook configurado ou se você tiver o recurso de status de criação de relatório habilitado.
-
Webhooks: leitura e gravação: concede permissão para gerenciar webhooks. Essa permissão é necessária se o seu projeto tiver um webhook configurado.
-
Solicitações pull: somente leitura: concede permissão para acessar solicitações pull. Essa permissão é necessária se o webhook tiver um filtro
FILE_PATH
em eventos de solicitação pull. -
Administração: leitura e gravação: essa permissão é necessária se você estiver usando o recurso de execução do GitHub Actions auto-hospedado com o CodeBuild. Para obter mais detalhes, consulte Criar um token de registro para um repositório
e Tutorial: configurar um executor do GitHub Actions hospedado pelo CodeBuild.
nota
Se você quiser acessar os repositórios da organização, especifique a organização como proprietária do recurso do token de acesso.
Para obter mais informações, consulte Permissões necessárias para tokens de acesso pessoal refinados
Conectar o GitHub a um token de acesso (console)
Para usar o console para conectar o projeto ao GitHub usando um token de acesso, faça o seguinte ao criar um projeto. Para obter mais informações, consulte Criar um projeto de compilação (console).
-
Em Provedor de origem, escolha GitHub.
-
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.
-
Se você não estiver conectado ao GitHub, escolha Gerenciar credencial de origem padrão.
-
Em Tipo de credencial, escolha Token de acesso pessoal.
-
Se você escolheu Credencial de origem padrão, em Serviço, escolha qual serviço você gostaria de usar para armazenar o token e faça o seguinte:
-
Se você optar por usar o Secrets Manager, poderá escolher usar uma conexão secreta existente ou criar um segredo e escolher Salvar. Para obter mais informações sobre como criar um segredo, consulte Criar e armazenar um token em um segredo do Secrets Manager.
-
Se você optar por usar o CodeBuild, insira o Token de acesso pessoal do GitHub e escolha Salvar.
-
-
-
Escolha Credencial de origem personalizada para usar uma credencial de origem personalizada para substituir as configurações padrão da conta.
-
Em Tipo de credencial, escolha Token de acesso pessoal.
-
Em Conexão, escolha usar uma conexão secreta existente ou criar outra.
-
-
Conectar o GitHub a um token de acesso (CLI)
Siga estas etapas para usar o AWS CLI para conectar o projeto ao GitHub usando tokens de acesso. Para obter informações sobre como usar a AWS CLI com o AWS CodeBuild, consulte o Referência da linha de comando.
-
Execute o comando import-source-credentials:
aws codebuild import-source-credentials --generate-cli-skeleton
Os dados formatados JSON aparecem na saída. Copie os dados para um arquivo (por exemplo,
) em um local no computador local ou em uma instância na qual a AWS CLI esteja instalada. Modifique os dados copiados da maneira a seguir e salve os resultados.import-source-credentials.json
{ "serverType": "
server-type
", "authType": "auth-type
", "shouldOverwrite": "should-overwrite
", "token": "token
", "username": "username
" }Substitua o seguinte:
-
server-type
: valor obrigatório. O provedor de origem usado para essa credencial. Os valores válidos são GITHUB, BITBUCKET, GITHUB_ENTERPRISE, GITLAB e GITLAB_SELF_MANAGED. -
auth-type
: valor obrigatório. O tipo de autenticação usado para se conectar a um repositório. Os valores válidos são OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN, CODECONNECTIONS e SECRETS_MANAGER. Para o GitHub, somente PERSONAL_ACCESS_TOKEN é permitido. BASIC_AUTH só é permitido com a senha da aplicação do Bitbucket. -
should-overwrite
: valor opcional. Defina comofalse
para impedir a substituição das credenciais de origem do repositório. Defina comotrue
para substituir as credenciais de origem do repositório. O valor padrão étrue
. -
token
: valor obrigatório. Para o GitHub ou GitHub Enterprise Server, esse é o token de acesso pessoal. Para o Bitbucket, esse é o token de acesso pessoal ou senha da aplicação. Para o tipo de autenticação CODECONNECTIONS, esse é o ARN da conexão. Para o tipo de autenticação SECRETS_MANAGER, esse é o ARN secreto. -
username
: valor opcional. Esse parâmetro é ignorado pelos provedores de origem do GitHub e do GitHub Enterprise Server.
-
-
Para conectar sua conta com um token de acesso, alterne para o diretório que contém o arquivo
import-source-credentials.json
que você salvou na etapa 1 e execute o comando import-source-credentials novamente.aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
Dados no formato JSON são exibidos na saída com um Nome de recurso da Amazon (ARN).
{ "arn": "arn:aws:codebuild:
region
:account-id
:token/server-type
" }nota
Se você executar o comando import-source-credentials com o mesmo tipo de servidor e tipo de autenticação uma segunda vez, o token de acesso armazenado será atualizado.
Depois que sua conta estiver conectada a um token de acesso, será possível usar
create-project
para criar o projeto do CodeBuild. Para obter mais informações, consulte Criar um projeto de compilação (AWS CLI). -
Para visualizar os tokens de acesso conectados, execute o comando list-source-credentials.
aws codebuild list-source-credentials
O objeto no formato JSON
sourceCredentialsInfos
é exibido na saída:{ "sourceCredentialsInfos": [ { "authType": "
auth-type
", "serverType": "server-type
", "arn": "arn
" } ] }sourceCredentialsObject
contém uma lista de informações de credenciais de origem conectadas:-
authType
é o tipo de autenticação usada pelas credenciais, Pode serOAUTH
,BASIC_AUTH
,PERSONAL_ACCESS_TOKEN
,CODECONNECTIONS
ouSECRETS_MANAGER
. -
serverType
é o tipo de provedor de origem. Pode serGITHUB
,GITHUB_ENTERPRISE
,BITBUCKET
,GITLAB
ouGITLAB_SELF_MANAGED
. -
arn
é o ARN do token.
-
-
Para se desconectar de um provedor de origem e remover seus tokens de acesso, execute o comando delete-source-credentials com seu ARN.
aws codebuild delete-source-credentials --arn
arn-of-your-credentials
Dados no formato JSON são retornados com um ARN das credenciais excluídas.
{ "arn": "arn:aws:codebuild:
region
:account-id
:token/server-type
" }