

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# GitHub e token di accesso a GitHub Enterprise Server
<a name="access-tokens-github"></a>

## Prerequisiti del token di accesso
<a name="access-tokens-github-prereqs"></a>

Prima di iniziare, è necessario aggiungere gli ambiti di autorizzazione appropriati al token di GitHub accesso. 

Infatti GitHub, il token di accesso personale deve avere i seguenti ambiti. 
+ **repo**: concede il controllo completo dei repository privati. 
+ **repo:status:** concede l' read/write accesso agli stati di commit dei repository pubblici e privati.
+ **admin:repo\$1hook**: concede il controllo completo degli hook di repository. Questo ambito non è necessario se il token ha l'ambito `repo`. 
+ **admin:org\$1hook**: Garantisce il pieno controllo degli hook organizzativi. Questo ambito è necessario solo se si utilizza la funzionalità webhook dell'organizzazione.

Per ulteriori informazioni, consulta [Comprendere gli ambiti OAuth delle app](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) sul GitHub sito Web.

Se utilizzi token di accesso personali dettagliati, a seconda del caso d'uso, il token di accesso personale potrebbe richiedere le seguenti autorizzazioni:
+ **Contenuto: Sola lettura: concede l'accesso agli archivi privati**. Questa autorizzazione è necessaria se si utilizzano repository privati come fonte.
+ **Stati di commit: Lettura e scrittura: concede l'autorizzazione a creare stati** di commit. Questa autorizzazione è necessaria se nel progetto è configurato un webhook o se è abilitata la funzione di report sullo stato della compilazione.
+ **Webhook: Lettura e scrittura:** concede l'autorizzazione a gestire i webhook. Questa autorizzazione è necessaria se nel progetto è configurato un webhook.
+ **Richieste pull: Sola lettura:** concede l'autorizzazione ad accedere alle richieste pull. Questa autorizzazione è necessaria se il webhook ha un `FILE_PATH` filtro sugli eventi di pull request.
+ **Amministrazione: Lettura e scrittura**: questa autorizzazione è richiesta se si utilizza la funzionalità self-hosted GitHub Actions runner con. CodeBuild Per maggiori dettagli, consulta [Creare un token di registrazione per un repository](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-a-registration-token-for-a-repository) e. [Tutorial: configura un GitHub Actions CodeBuild runner ospitato](action-runner.md)

**Nota**  
Se desideri accedere agli archivi dell'organizzazione, assicurati di specificare l'organizzazione come proprietaria della risorsa del token di accesso.

Per ulteriori informazioni, consulta [Autorizzazioni richieste per i token di accesso personali dettagliati sul](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28) sito Web. GitHub 

## Connect GitHub con un token di accesso (console)
<a name="access-tokens-github-console"></a>

Per utilizzare la console per connettere il progetto all' GitHub utilizzo di un token di accesso, procedi come segue quando crei un progetto. Per informazioni, consulta [Creare un progetto di compilazione (console)](create-project.md#create-project-console). 

1. Per **Provider di origine**, scegli **GitHub**. 

1. Per **Credential**, effettuate una delle seguenti operazioni:
   + Scegli di utilizzare le credenziali dell'account per applicare le credenziali di origine predefinite dell'account a tutti i progetti.

     1. Se non sei connesso a GitHub, scegli **Gestisci le credenziali dell'account**.

     1. Per il **tipo di credenziale**, scegli Token di **accesso personale**.
   + Se hai scelto di utilizzare credenziali a livello di account per il **Servizio**, scegli quale servizio desideri utilizzare per archiviare il token e procedi come segue:

     1. Se scegli di utilizzare **Secrets Manager**, puoi scegliere di utilizzare una connessione segreta esistente o crearne una nuova, quindi scegliere **Salva**. Per ulteriori informazioni su come creare un nuovo segreto, consulta[Crea e archivia un token in un segreto di Secrets Manager](asm-create-secret.md).

     1. Se scegli di utilizzarlo **CodeBuild**, inserisci il tuo token di accesso GitHub personale, quindi scegli **Salva**.
   + Seleziona **Usa le credenziali di sostituzione solo per questo progetto** per utilizzare una credenziale di origine personalizzata per sovrascrivere le impostazioni delle credenziali del tuo account.

     1. **Dall'elenco di credenziali compilato, scegli una delle opzioni in Token di accesso personale.**

     1. Puoi anche creare un nuovo token di accesso personale selezionando **Crea una nuova connessione con token di accesso personale** nella descrizione.

## Connect GitHub con un token di accesso (CLI)
<a name="access-tokens-github-cli"></a>

Segui questi passaggi per collegare il tuo progetto AWS CLI all' GitHub utilizzo di un token di accesso. Per informazioni sull'utilizzo di AWS CLI with AWS CodeBuild, consulta[Guida di riferimento alla riga di comando](cmd-ref.md). 

1. Eseguire il comando **import-source-credentials**: 

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

   Nell'output vengono visualizzati dati in formato JSON. Copiare i dati in un file (ad esempio,`import-source-credentials.json`) in una posizione del computer o dell'istanza locale in cui AWS CLI è installato. Modificare i dati copiati come segue, quindi salvare i risultati. 

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

   Sostituisci quanto segue: 
   + *server-type*: Valore richiesto. Il provider di origine utilizzato per queste credenziali. I valori validi sono GITHUB, BITBUCKET, GITHUB\$1ENTERPRISE, GITLAB e GITLAB\$1SELF\$1MANAGED.
   + *auth-type*: Valore richiesto. Il tipo di autenticazione utilizzato per connettersi a un repository. I valori validi sono OAUTH, BASIC\$1AUTH, PERSONAL\$1ACCESS\$1TOKEN, CODECONNECTIONS e SECRETS\$1MANAGER. Perché, è consentito solo GitHub PERSONAL\$1ACCESS\$1TOKEN. BASIC\$1AUTH è consentito solo con la password dell'app Bitbucket.
   + *should-overwrite*: Valore opzionale. Imposta su `false` per evitare di sovrascrivere le credenziali di origine del repository. Imposta su `true` per sovrascrivere le credenziali di origine del repository. Il valore predefinito è `true`.
   + *token*: valore obbligatorio. Per il GitHub nostro GitHub Enterprise Server, questo è il token di accesso personale. Per Bitbucket, si tratta del token di accesso personale o della password dell'app. Per il tipo di autenticazione CODECONNECTIONS, questo è l'ARN della connessione. Per il tipo di autenticazione SECRETS\$1MANAGER, questo è l'ARN segreto.
   + *username*: Valore opzionale. Questo parametro viene ignorato per i provider GitHub di origine di GitHub Enterprise Server. 

1. Per collegare l'account con un token di accesso, passare alla directory che contiene il file `import-source-credentials.json` salvato nel passaggio 1 ed eseguire nuovamente il comando **import-source-credentials**. 

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

   I dati in formato JSON sono presenti nell'output con un Amazon Resource Name (ARN). 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```
**Nota**  
Se si esegue il comando **import-source-credentials** con lo stesso server-type e auth-type una seconda volta, il token di accesso archiviato viene aggiornato. 

   Dopo aver collegato l'account con un token di accesso, è possibile utilizzarlo `create-project` per creare il CodeBuild progetto. Per ulteriori informazioni, consulta [Creazione di un progetto di compilazione (AWS CLI)](create-project.md#create-project-cli). 

1. Per visualizzare i token di accesso connessi, eseguire il comando **list-source-credentials**. 

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

   Un oggetto `sourceCredentialsInfos` in formato JSON è presente nell'output: 

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

   L'elemento `sourceCredentialsObject` contiene un elenco di informazioni sulle credenziali di origine connesse: 
   + L'elemento `authType` è il tipo di autenticazione utilizzato dalle credenziali. Può essere`OAUTH`,`BASIC_AUTH`, `PERSONAL_ACCESS_TOKEN``CODECONNECTIONS`, o`SECRETS_MANAGER`. 
   + L'elemento `serverType` è il tipo di provider di origine. Questo può essere `GITHUB``GITHUB_ENTERPRISE`,`BITBUCKET`,`GITLAB`, o`GITLAB_SELF_MANAGED`. 
   + L'elemento `arn` è l'ARN del token. 

1. Per disconnettersi da un provider di origine e rimuovere i token di accesso, eseguire il comando **delete-source-credentials** con l'ARN. 

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

   Vengono restituiti dati in formato JSON con l'ARN delle credenziali eliminate. 

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