

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# GitHub e token de acesso do GitHub Enterprise Server
<a name="access-tokens-github"></a>

## Pré-requisitos do token de acesso
<a name="access-tokens-github-prereqs"></a>

Antes de começar, você deve adicionar os escopos de permissão adequados ao seu token de GitHub acesso. 

Pois GitHub, seu token de acesso pessoal deve ter os seguintes escopos. 
+ **repo**: concede controle total de repositórios privados. 
+ **repo:status:** concede read/write acesso aos status de confirmação do repositório público e privado.
+ **admin:repo\$1hook**: concede controle total de ganchos do repositório. Esse escopo não será obrigatório se o token tiver o escopo `repo`. 
+ **admin:org\$1hook**: 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 [Entendendo os escopos dos OAuth aplicativos](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) no GitHub site.

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 de GitHub ações auto-hospedado com. CodeBuild Para obter mais detalhes, consulte [Criar um token de registro para um repositório](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-a-registration-token-for-a-repository) e [Tutorial: Configurar um CodeBuild executor de GitHub ações hospedado](action-runner.md).

**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 no site](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28). GitHub 

## Conecte-se GitHub com um token de acesso (console)
<a name="access-tokens-github-console"></a>

Para usar o console para conectar seu projeto ao GitHub uso de um token de acesso, faça o seguinte ao criar um projeto. Para mais informações, consulte [Criar um projeto de compilação (console)](create-project.md#create-project-console). 

1. Em **Source provider**, escolha **GitHub**. 

1. 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.

     1. Se você não estiver conectado GitHub, escolha **Gerenciar credencial da conta**.

     1. 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:

     1. 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](asm-create-secret.md).

     1. Se você optar por usar **CodeBuild**, insira seu token de acesso GitHub pessoal e escolha **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.

     1. Na lista de credenciais preenchida, escolha uma das opções em **Token de acesso pessoal**.

     1. Você também pode criar um token de acesso pessoal selecionando **criar uma conexão de token de acesso pessoal** na descrição.

## Conecte-se GitHub com um token de acesso (CLI)
<a name="access-tokens-github-cli"></a>

Siga estas etapas para usar o AWS CLI para conectar seu projeto ao GitHub uso de um token de acesso. Para obter informações sobre como usar o AWS CLI with AWS CodeBuild, consulte [Referência da linha de comando](cmd-ref.md) o. 

1. 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,`import-source-credentials.json`) em um local no computador local ou na instância em que o AWS CLI está instalado. Modifique os dados copiados da maneira a seguir e salve os resultados. 

   ```
   {
       "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\$1ENTERPRISE, GITLAB e GITLAB\$1SELF\$1MANAGED.
   + *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\$1AUTH, PERSONAL\$1ACCESS\$1TOKEN, CODECONNECTIONS e SECRETS\$1MANAGER. Pois GitHub, somente PERSONAL\$1ACCESS\$1TOKEN é permitido. BASIC\$1AUTH só é permitido com a senha da aplicação do Bitbucket.
   + *should-overwrite*: Valor opcional. Defina como `false` para impedir a substituição das credenciais de origem do repositório. Defina como `true` para substituir as credenciais de origem do repositório. O valor padrão é `true`.
   + *token*: Valor obrigatório. Para GitHub nosso 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\$1MANAGER, esse é o ARN secreto.
   + *username*: Valor opcional. Esse parâmetro é ignorado para provedores GitHub de origem do GitHub Enterprise Server. 

1. 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, você poderá usá-lo `create-project` para criar seu CodeBuild projeto. Para obter mais informações, consulte [Crie um projeto de compilação (AWS CLI)](create-project.md#create-project-cli). 

1. 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 ser `OAUTH`, `BASIC_AUTH`, `PERSONAL_ACCESS_TOKEN`, `CODECONNECTIONS` ou `SECRETS_MANAGER`. 
   + `serverType` é o tipo de provedor de origem. Pode ser `GITHUB`, `GITHUB_ENTERPRISE`, `BITBUCKET`, `GITLAB` ou `GITLAB_SELF_MANAGED`. 
   + `arn` é o ARN do token. 

1. 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"
       }
   ```