

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

# AWS CodeArtifact autenticazione e token
<a name="tokens-authentication"></a>

CodeArtifact richiede agli utenti di autenticarsi con il servizio per pubblicare o utilizzare le versioni dei pacchetti. È necessario autenticarsi al CodeArtifact servizio creando un token di autorizzazione utilizzando le proprie AWS credenziali. Per creare un token di autorizzazione, è necessario disporre delle autorizzazioni corrette. Per le autorizzazioni necessarie per creare un token di autorizzazione, vedere la `GetAuthorizationToken` voce in. [AWS CodeArtifact riferimento alle autorizzazioni](auth-and-access-control-permissions-reference.md) Per informazioni più generali sulle CodeArtifact autorizzazioni, vedere. [Come AWS CodeArtifact funziona con IAM](security_iam_service-with-iam.md)

[Per recuperare un token di autorizzazione da CodeArtifact, devi chiamare l'GetAuthorizationToken API.](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetAuthorizationToken.html) Utilizzando AWS CLI, è possibile chiamare `GetAuthorizationToken` con il `get-authorization-token` comando `login` or.

**Nota**  
Gli utenti root non possono effettuare chiamate`GetAuthorizationToken`.
+ `aws codeartifact login`: Questo comando semplifica la configurazione dei gestori di pacchetti comuni da utilizzare CodeArtifact in un unico passaggio. Calling `login` recupera un token `GetAuthorizationToken` e configura il gestore di pacchetti con il token e l'endpoint del CodeArtifact repository corretto. I gestori dei pacchetti di supporto sono i seguenti:
  + dotnet
  + npm
  + pepita
  + pip
  + veloce
  + spago
+ `aws codeartifact get-authorization-token`: Per i gestori di pacchetti non supportati da`login`, è possibile chiamare `get-authorization-token` direttamente e quindi configurare il gestore di pacchetti con il token come richiesto, ad esempio aggiungendolo a un file di configurazione o memorizzandolo in una variabile di ambiente.

CodeArtifact i token di autorizzazione sono validi per un periodo predefinito di 12 ore. I token possono essere configurati con una durata compresa tra 15 minuti e 12 ore. Quando il periodo di validità scade, devi recuperare un altro token. La durata del token inizia dopo `login` o `get-authorization-token` è stato chiamato.

Se `login` o `get-authorization-token` viene chiamato mentre si assume un ruolo, è possibile configurare la durata del token in modo che sia uguale al tempo rimanente nella durata della sessione del ruolo impostando il valore `--duration-seconds` su to`0`. Altrimenti, la durata del token è indipendente dalla durata massima della sessione del ruolo. Ad esempio, supponiamo di chiamare `sts assume-role` e specificare una durata della sessione di 15 minuti, quindi di chiamare `login` per recuperare un token di CodeArtifact autorizzazione. In questo caso, il token è valido per l'intero periodo di 12 ore, anche se è più lungo della durata della sessione di 15 minuti. Per informazioni sul controllo della durata della sessione, consulta [Using IAM Roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) nella *IAM User Guide*.

## Token creati con il comando `login`
<a name="auth-token-login"></a>

Il `aws codeartifact login` comando recupererà un token `GetAuthorizationToken` e configurerà il gestore di pacchetti con il token e l'endpoint del CodeArtifact repository corretto.

La tabella seguente descrive i parametri per il comando. `login`


****  

| Parametro | Obbligatorio | Descrizione | 
| --- | --- | --- | 
| `--tool` | Sì | Il gestore di pacchetti con cui autenticarsi. I valori possibili sono`dotnet`,`npm`, `nuget``pip`, `swift` e`twine`. | 
| `--domain` | Sì | Il nome di dominio a cui appartiene il repository. | 
| `--domain-owner` | No | L'ID del proprietario del dominio. Questo parametro è obbligatorio se si accede a un dominio di proprietà di un AWS account al quale non si è autenticati. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account). | 
| `--repository` | Sì | Il nome del repository in cui effettuare l'autenticazione. | 
| `--duration-seconds` | No | Il tempo, in secondi, di validità delle informazioni di accesso. Il valore minimo è 900\$1 e il valore massimo è 43200. | 
| `--namespace` | No | Associa uno spazio dei nomi allo strumento di repository. | 
| `--dry-run` | No | Stampa solo i comandi che verrebbero eseguiti per connettere lo strumento al repository senza apportare modifiche alla configurazione. | 
| \$1Il valore 0 è valido anche quando si chiama `login` assumendo un ruolo. La chiamata `login` con `--duration-seconds 0` crea un token con una durata pari al tempo rimanente nella durata della sessione di un ruolo assunto. | 

L'esempio seguente mostra come recuperare un token di autorizzazione con il `login` comando.

```
aws codeartifact login \
    --tool dotnet | npm | nuget | pip | swift | twine \
    --domain my_domain \
    --domain-owner 111122223333 \
    --repository my_repo
```

Per indicazioni specifiche su come utilizzare il `login` comando con npm, vedere. [Configura e usa npm con CodeArtifact](npm-auth.md) Per Python, vedi. [Usare CodeArtifact con Python](using-python.md)

## Autorizzazioni necessarie per chiamare l'API `GetAuthorizationToken`
<a name="get-auth-token-permissions"></a>

Per chiamare l'`sts:GetServiceBearerToken`API sono necessarie sia `codeartifact:GetAuthorizationToken` le autorizzazioni che le autorizzazioni. CodeArtifact `GetAuthorizationToken`

Per utilizzare un gestore di pacchetti con un CodeArtifact repository, l'utente o il ruolo IAM deve consentirlo. `sts:GetServiceBearerToken` Sebbene `sts:GetServiceBearerToken` possa essere aggiunta a una politica delle risorse di CodeArtifact dominio, l'autorizzazione non avrà alcun effetto su tale politica.

## Token creati con l'API `GetAuthorizationToken`
<a name="get-auth-token-api"></a>

Puoi chiamare `get-authorization-token` per recuperare un token di autorizzazione da. CodeArtifact

```
aws codeartifact get-authorization-token \
    --domain my_domain \
    --domain-owner 111122223333 \
    --query authorizationToken \
    --output text
```

È possibile modificare la durata di validità di un token utilizzando l'`--duration-seconds`argomento. Il valore minimo è 900 e il valore massimo è 43200. L'esempio seguente crea un token che durerà 1 ora (3600 secondi). 

```
aws codeartifact get-authorization-token \
    --domain my_domain \
    --domain-owner 111122223333 \
    --query authorizationToken \
    --output text \
    --duration-seconds 3600
```

Se si chiama `get-authorization-token` mentre si assume un ruolo, la durata del token è indipendente dalla durata massima della sessione del ruolo. È possibile configurare il token in modo che scada alla scadenza della durata della sessione del ruolo assunto `--duration-seconds` impostandolo su 0.

```
aws codeartifact get-authorization-token \
    --domain my_domain \
    --domain-owner 111122223333 \
    --query authorizationToken \
    --output text \
    --duration-seconds 0
```

Per ulteriori informazioni, consulta la seguente documentazione:
+ Per indicazioni sui token e sulle variabili di ambiente, vedere[Passa un token di autenticazione utilizzando una variabile di ambiente](#env-var).
+ Per gli utenti di Python, vedere [Configura pip senza il comando login](python-configure-pip.md#python-configure-without-pip) o. [Configura e usa twine con CodeArtifact](python-configure-twine.md)
+ Per gli utenti Maven, vedi o. [Uso CodeArtifact con Gradle](maven-gradle.md) [Usare CodeArtifact con mvn](maven-mvn.md)
+ Per gli utenti di npm, vedi. [Configurazione di npm senza utilizzare il comando login](npm-auth.md#configuring-npm-without-using-the-login-command)

## Passa un token di autenticazione utilizzando una variabile di ambiente
<a name="env-var"></a>

AWS CodeArtifact utilizza i token di autorizzazione forniti dall'`GetAuthorizationToken`API per autenticare e autorizzare le richieste provenienti da strumenti di compilazione come Maven e Gradle. Per ulteriori informazioni su questi token di autenticazione, consulta. [Token creati con l'API `GetAuthorizationToken`](#get-auth-token-api)

È possibile memorizzare questi token di autenticazione in una variabile di ambiente che può essere letta da uno strumento di compilazione per ottenere il token necessario per recuperare i pacchetti da un CodeArtifact repository o pubblicarvi pacchetti. 

Per motivi di sicurezza, questo approccio è preferibile alla memorizzazione del token in un file in cui potrebbe essere letto da altri utenti o processi o verificato accidentalmente nel controllo del codice sorgente.

1. Configura le tue AWS credenziali come descritto in. [Installa o aggiorna e quindi configura il AWS CLI](get-set-up-install-cli.md) 

1. Imposta la variabile di ambiente `CODEARTIFACT_AUTH_TOKEN`:
**Nota**  
In alcuni scenari, non è necessario includere l'`--domain-owner`argomento. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + macOS o Linux:

     ```
     export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
     ```
   + Windows (utilizzando la shell di comando predefinita):

     ```
     for /f %i in ('aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i
     ```
   + Windows PowerShell:

     ```
     $env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text
     ```

## Revoca CodeArtifact dei token di autorizzazione
<a name="revoke-access"></a>

 Quando un utente autenticato crea un token per accedere alle CodeArtifact risorse, tale token dura fino al termine del periodo di accesso personalizzabile. Il periodo di accesso predefinito è di 12 ore. In alcune circostanze, potresti voler revocare l'accesso a un token prima della scadenza del periodo di accesso. Puoi revocare l'accesso alle CodeArtifact risorse seguendo queste istruzioni.

 Se hai creato il token di accesso utilizzando credenziali di sicurezza temporanee, come *ruoli assunti* o *accesso utente federato, puoi revocare l'accesso* aggiornando una policy IAM per negare l'accesso. *Per informazioni, consulta [Disabling Permissions for Temporary Security](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_disable-perms.html) Credentials nella IAM User Guide.* 

 Se hai utilizzato credenziali utente IAM a lungo termine per creare il token di accesso, devi modificare la policy dell'utente per negare l'accesso o eliminare l'utente IAM. Per ulteriori informazioni, consulta [Modifica delle autorizzazioni per un utente IAM o [Eliminazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) di un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html). 