Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS CodeArtifact authentification et jetons
CodeArtifact oblige les utilisateurs à s'authentifier auprès du service afin de publier ou de consommer des versions de package. Vous devez vous authentifier auprès du CodeArtifact service en créant un jeton d'autorisation à l'aide de vos AWS informations d'identification. Pour créer un jeton d'autorisation, vous devez disposer des autorisations appropriées. Pour connaître les autorisations nécessaires à la création d'un jeton d'autorisation, consultez l'GetAuthorizationToken
entrée dans leAWS CodeArtifact référence aux autorisations. Pour des informations plus générales sur CodeArtifact les autorisations, voirComment AWS CodeArtifact fonctionne avec IAM.
Pour récupérer un jeton d'autorisation CodeArtifact, vous devez appeler le GetAuthorizationToken API. À l'aide de AWS CLI, vous pouvez appeler GetAuthorizationToken
avec la get-authorization-token
commande login
ou.
Note
Les utilisateurs root ne peuvent pas appelerGetAuthorizationToken
.
aws codeartifact login
: Cette commande facilite la configuration des gestionnaires de packages courants à utiliser CodeArtifact en une seule étape. L'appel permet delogin
récupérer un jetonGetAuthorizationToken
et de configurer votre gestionnaire de packages avec le jeton et le point de terminaison de CodeArtifact dépôt correct. Les gestionnaires de packages de support sont les suivants :dotnet
npm
pépite
pip
rapide
ficelle
aws codeartifact get-authorization-token
: Pour les gestionnaires de packages non pris en charge parlogin
, vous pouvez appelerget-authorization-token
directement votre gestionnaire de packages puis le configurer avec le jeton selon vos besoins, par exemple en l'ajoutant à un fichier de configuration ou en le stockant dans une variable d'environnement.
CodeArtifact les jetons d'autorisation sont valides pendant une période par défaut de 12 heures. Les jetons peuvent être configurés avec une durée de vie comprise entre 15 minutes et 12 heures. Lorsque la durée de vie expire, vous devez récupérer un autre jeton. La durée de vie du jeton commence login
ou get-authorization-token
est appelée.
Si login
ou get-authorization-token
est appelé alors que vous assumez un rôle, vous pouvez configurer la durée de vie du jeton pour qu'elle soit égale à la durée de session restante du rôle en définissant la valeur de --duration-seconds
to0
. Sinon, la durée de vie du jeton est indépendante de la durée de session maximale du rôle. Supposons, par exemple, que vous appeliez sts
assume-role
et spécifiez une durée de session de 15 minutes, puis que vous appelez login
pour récupérer un jeton CodeArtifact d'autorisation. Dans ce cas, le jeton est valide pendant toute la période de 12 heures, même si celle-ci est supérieure à la durée de session de 15 minutes. Pour plus d'informations sur le contrôle de la durée des sessions, consultez la section Utilisation IAM des rôles dans le guide de IAM l'utilisateur.
Jetons créés avec la login
commande
La aws codeartifact login
commande récupérera un jeton GetAuthorizationToken
et configurera votre gestionnaire de packages avec le jeton et le point de terminaison du CodeArtifact référentiel correct.
Le tableau suivant décrit les paramètres de la login
commande.
Paramètre | Obligatoire | Description |
---|---|---|
|
Oui |
Le gestionnaire de packages auprès duquel s'authentifier. Les valeurs possibles sont |
|
Oui |
Le nom de domaine auquel appartient le référentiel. |
|
Non |
L'ID du propriétaire du domaine. Ce paramètre est obligatoire si vous accédez à un domaine appartenant à un AWS compte auprès duquel vous n'êtes pas authentifié. Pour de plus amples informations, veuillez consulter Domaines multi-comptes. |
|
Oui |
Nom du référentiel auprès duquel s'authentifier. |
|
Non |
Durée, en secondes, pendant laquelle les informations de connexion sont valides. La valeur minimale est 900* et la valeur maximale est 43200. |
|
Non |
Associe un espace de noms à votre outil de référentiel. |
|
Non |
Imprimez uniquement les commandes qui seront exécutées pour connecter votre outil à votre référentiel sans apporter de modifications à votre configuration. |
*Une valeur de 0 est également valide lors d'un appel |
L'exemple suivant montre comment récupérer un jeton d'autorisation à l'aide de la login
commande.
aws codeartifact login \ --tool
dotnet | npm | nuget | pip | swift | twine
\ --domainmy_domain
\ --domain-owner111122223333
\ --repositorymy_repo
Pour obtenir des instructions spécifiques sur l'utilisation de la login
commande avec npm, consultezConfigurer et utiliser npm avec CodeArtifact. Pour Python, voirUtilisation CodeArtifact avec Python.
Autorisations requises pour appeler le GetAuthorizationToken
API
Les autorisations sts:GetServiceBearerToken
et les codeartifact:GetAuthorizationToken
autorisations sont requises pour appeler le CodeArtifact GetAuthorizationToken
API.
Pour utiliser un gestionnaire de packages avec un CodeArtifact référentiel, votre IAM utilisateur ou votre rôle doit l'autorisersts:GetServiceBearerToken
. Bien qu'sts:GetServiceBearerToken
elle puisse être ajoutée à une politique de ressources de CodeArtifact domaine, l'autorisation n'aura aucun effet sur cette politique.
Jetons créés avec le GetAuthorizationToken
API
Vous pouvez appeler get-authorization-token
pour récupérer un jeton d' CodeArtifactautorisation.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text
Vous pouvez modifier la durée de validité d'un jeton à l'aide de l'--duration-seconds
argument. La valeur minimale est 900 et la valeur maximale est 43200. L'exemple suivant crée un jeton qui durera 1 heure (3 600 secondes).
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds3600
Si vous appelez get-authorization-token
en assumant un rôle, la durée de vie du jeton est indépendante de la durée de session maximale du rôle. Vous pouvez configurer le jeton pour qu'il expire lorsque la durée de session du rôle supposé expire en le définissant --duration-seconds
sur 0.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds0
Consultez la documentation suivante pour plus d'informations :
-
Pour obtenir des conseils sur les jetons et les variables d'environnement, consultezTransmettre un jeton d'authentification à l'aide d'une variable d'environnement.
-
Pour les utilisateurs de Python, voir Configurer pip sans la commande de connexion ouConfigurer et utiliser Twine avec CodeArtifact.
-
Pour les utilisateurs de Maven, voir Utiliser CodeArtifact avec Gradle ouUtiliser CodeArtifact avec MVN.
-
Pour les utilisateurs de npm, voirConfiguration de npm sans utiliser la commande de connexion.
Transmettre un jeton d'authentification à l'aide d'une variable d'environnement
AWS CodeArtifact utilise des jetons d'autorisation fournis par le GetAuthorizationToken
API pour authentifier et autoriser les demandes provenant d'outils de construction tels que Maven et Gradle. Pour plus d'informations sur ces jetons d'authentification, consultezJetons créés avec le GetAuthorizationToken API.
Vous pouvez stocker ces jetons d'authentification dans une variable d'environnement qui peut être lue par un outil de génération pour obtenir le jeton dont il a besoin pour récupérer des packages depuis un CodeArtifact référentiel ou y publier des packages.
Pour des raisons de sécurité, cette approche est préférable au stockage du jeton dans un fichier où il pourrait être lu par d'autres utilisateurs ou processus, ou enregistré accidentellement dans le contrôle de source.
-
Configurez vos AWS informations d'identification comme décrit dansInstallez ou mettez à niveau, puis configurez AWS CLI.
-
Définissez la variable d'environnement :
CODEARTIFACT_AUTH_TOKEN
Note
Dans certains scénarios, il n'est pas nécessaire d'inclure l'
--domain-owner
argument. Pour de plus amples informations, veuillez consulter Domaines multi-comptes.-
macOS ou Linux :
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text` -
Windows (en utilisant l'interface de commande par défaut) :
for /f %i in ('aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i -
Fenêtres PowerShell :
$env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text
-
Révocation des jetons CodeArtifact d'autorisation
Lorsqu'un utilisateur authentifié crée un jeton pour accéder aux CodeArtifact ressources, ce jeton dure jusqu'à la fin de sa période d'accès personnalisable. La période d'accès par défaut est de 12 heures. Dans certains cas, vous souhaiterez peut-être révoquer l'accès à un jeton avant l'expiration de la période d'accès. Vous pouvez révoquer l'accès aux CodeArtifact ressources en suivant ces instructions.
Si vous avez créé le jeton d'accès à l'aide d'informations d'identification de sécurité temporaires, telles que des rôles assumés ou un accès utilisateur fédéré, vous pouvez révoquer l'accès en mettant à jour une IAM politique de refus d'accès. Pour plus d'informations, consultez la section Désactivation des autorisations pour les informations d'identification de sécurité temporaires dans le guide de IAM l'utilisateur.
Si vous avez utilisé des informations IAM d'identification utilisateur à long terme pour créer le jeton d'accès, vous devez modifier la politique de l'utilisateur pour refuser l'accès ou supprimer l'IAMutilisateur. Pour plus d'informations, voir Modification des autorisations d'un IAM utilisateur ou Suppression d'un IAM utilisateur.