Token de acesso do GitHub e do GitHub Enterprise Server
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_PATHem 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 mais informações, consulte Criar um projeto de compilação (console).
-
Em Provedor de origem, escolha GitHub.
-
Em Credencial, siga um destes procedimentos:
-
Escolha usar credenciais de conta para aplicar a credencial de origem padrão da conta a todos os projetos.
-
Se não houver uma conexão com o GitHub, escolha Gerenciar credencial da conta.
-
Em Tipo de credencial, escolha Token de acesso pessoal.
-
-
Se optar por usar credenciais no nível da conta em Serviço, escolha qual serviço você gostaria de usar para armazenar o token e faça o seguinte:
-
Se optar por usar o Secrets Manager, você poderá escolher usar uma conexão secreta existente ou criar um segredo e selecionar 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 selecione Salvar.
-
-
Selecione Usar credenciais substitutas apenas para este projeto para usar uma credencial de origem personalizada a fim de substituir as configurações de credenciais da conta.
-
Na lista de credenciais preenchida, escolha uma das opções em Token de acesso pessoal.
-
Você também pode criar um token de acesso pessoal selecionando criar uma conexão de token de acesso pessoal na descrição.
-
-
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-skeletonOs 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 comofalsepara impedir a substituição das credenciais de origem do repositório. Defina comotruepara 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.jsonque 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.jsonDados 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-projectpara criar o projeto do CodeBuild. Para obter mais informações, consulte Crie um projeto de compilação (AWS CLI). -
Para visualizar os tokens de acesso conectados, execute o comando list-source-credentials.
aws codebuild list-source-credentialsO objeto no formato JSON
sourceCredentialsInfosé exibido na saída:{ "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }sourceCredentialsObjectconté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,CODECONNECTIONSouSECRETS_MANAGER. -
serverTypeé o tipo de provedor de origem. Pode serGITHUB,GITHUB_ENTERPRISE,BITBUCKET,GITLABouGITLAB_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 --arnarn-of-your-credentialsDados no formato JSON são retornados com um ARN das credenciais excluídas.
{ "arn": "arn:aws:codebuild:region:account-id:token/server-type" }