AWS CodeArtifact autenticazione e token - CodeArtifact

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

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 Per informazioni più generali sulle CodeArtifact autorizzazioni, vedere. Come AWS CodeArtifact funziona con IAM

Per recuperare un token di autorizzazione da CodeArtifact, è necessario chiamare il. GetAuthorizationToken API Utilizzando il AWS CLI, è possibile chiamare GetAuthorizationToken con il get-authorization-token comando login or.

Nota

Gli utenti root non possono effettuare chiamateGetAuthorizationToken.

  • aws codeartifact login: Questo comando semplifica la configurazione dei gestori di pacchetti più 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 dalogin, è 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 to0. 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 nella IAMUser Guide.

Token creati con il comando login

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

Il gestore di pacchetti con cui autenticarsi. I valori possibili sonodotnet,npm, nugetpip, swift etwine.

--domain

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.

--repository

Il nome del repository in cui effettuare l'autenticazione.

--duration-seconds

No

Il tempo, in secondi, in cui le informazioni di accesso sono valide. Il valore minimo è 900* 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.

*Il 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 Per Python, vedi. UsandoCodeArtifactcon Python

Autorizzazioni necessarie per chiamare il GetAuthorizationToken API

Sono necessarie sia sts:GetServiceBearerToken le codeartifact:GetAuthorizationToken autorizzazioni che le autorizzazioni per chiamare il. CodeArtifact GetAuthorizationToken API

Per utilizzare un gestore di pacchetti con un CodeArtifact repository, IAM l'utente o il ruolo devono 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 GetAuthorizationToken API

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

Passa un token di autenticazione utilizzando una variabile di ambiente

AWS CodeArtifact utilizza i token di autorizzazione forniti da 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 GetAuthorizationToken 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

  2. Imposta la variabile di ambiente CODEARTIFACT_AUTH_TOKEN:

    Nota

    In alcuni scenari, non è necessario includere l'--domain-ownerargomento. Per ulteriori informazioni, consulta Domini con più 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

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 politica per negare l'accesso. IAM Per informazioni, consulta Disabilitazione delle autorizzazioni per le credenziali di sicurezza temporanee nella Guida per l'utente. IAM

Se hai utilizzato credenziali IAM utente a lungo termine per creare il token di accesso, devi modificare la politica dell'utente per negare l'accesso o eliminare l'utente. IAM Per ulteriori informazioni, vedere Modifica delle autorizzazioni per un IAM utente o Eliminazione di un utente. IAM