Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWS CodeArtifact autenticación y tokens
CodeArtifact requiere que los usuarios se autentiquen con el servicio para poder publicar o consumir versiones de paquetes. Debe autenticarse en el CodeArtifact servicio creando un token de autorización con sus AWS credenciales. Para crear un token de autorización, debe contar con los permisos correctos. Para conocer los permisos necesarios para crear un token de autorización, consulte la entrada GetAuthorizationToken
enAWS CodeArtifact referencia de permisos. Para obtener más información general sobre CodeArtifact los permisos, consulte¿Cómo AWS CodeArtifact funciona con IAM.
Para obtener un token de autorización CodeArtifact, debe llamar al GetAuthorizationToken API. Con el AWS CLI, puede llamar GetAuthorizationToken
con el get-authorization-token
comando login
o.
nota
Los usuarios raíz no pueden llamar a GetAuthorizationToken
.
aws codeartifact login
: Este comando facilita la configuración de los administradores de paquetes más comunes para usarlos CodeArtifact en un solo paso. Al llamar, selogin
obtiene un tokenGetAuthorizationToken
y se configura el administrador de paquetes con el token y el punto final del CodeArtifact repositorio correcto. Los gestores de paquetes de soporte son los siguientes:dotnet
npm
pepita
pip
rápido
cordel
aws codeartifact get-authorization-token
: En el caso de los gestores de paquetes que no sean compatibles conlogin
, puede llamar aget-authorization-token
directamente y, a continuación, configurar su gestor de paquetes con el token según sea necesario, por ejemplo, añadiéndolo a un archivo de configuración o almacenándolo en una variable de entorno.
CodeArtifact los tokens de autorización son válidos durante un período predeterminado de 12 horas. Los tokens se pueden configurar con una vida útil de entre 15 minutos y 12 horas. Cuando caduque la vida útil, debe buscar otro token. La vida útil del token comienza después de que se cancele login
o get-authorization-token
.
Si se llama a login
o get-authorization-token
mientras se asume un rol, puede configurar la duración del token para que sea igual al tiempo restante de la duración de la sesión del rol estableciendo el valor de --duration-seconds
en 0
. De lo contrario, la duración del token es independiente de la duración máxima de la sesión del rol. Por ejemplo, supongamos que llama sts
assume-role
y especifica una duración de sesión de 15 minutos y, a continuación, llama login
para obtener un token de CodeArtifact autorización. En este caso, el token es válido durante todo el período de 12 horas, aunque sea superior a los 15 minutos de duración de la sesión. Para obtener información sobre cómo controlar la duración de la sesión, consulte Uso de IAM roles en la Guía del IAM usuario.
Tokens creados con el comando login
El aws codeartifact login
comando buscará un token GetAuthorizationToken
y configurará el administrador de paquetes con el token y el punto final del CodeArtifact repositorio correcto.
En la siguiente tabla se describen los parámetros del comando login
.
Parámetro | Obligatoria | Descripción |
---|---|---|
|
Sí |
El administrador de paquetes en el que autenticarse. Los valores posibles son |
|
Sí |
El nombre de dominio al que pertenece el repositorio. |
|
No |
El ID del propietario del dominio. Este parámetro es obligatorio si se accede a un dominio que es propiedad de una AWS cuenta en la que no estás autenticado. Para obtener más información, consulte Dominios entre cuentas. |
|
Sí |
El nombre del repositorio en el que se va a autenticar. |
|
No |
Período en segundos, durante el que es válida la información de inicio de sesión. El valor mínimo es 900* y el valor máximo es 43200. |
|
No |
Asocia un espacio de nombres a la herramienta de repositorio. |
|
No |
Imprima únicamente los comandos que se ejecutarían para conectar la herramienta con el repositorio sin realizar ningún cambio en la configuración. |
*El valor 0 también es válido cuando se llama a |
En el siguiente ejemplo se muestra cómo obtener un token de autorización con el comando login
.
aws codeartifact login \ --tool
dotnet | npm | nuget | pip | swift | twine
\ --domainmy_domain
\ --domain-owner111122223333
\ --repositorymy_repo
Para obtener instrucciones específicas sobre cómo usar el comando login
con npm, consulte Configure y use npm con CodeArtifact. Para Python, consulte Uso CodeArtifact con Python.
Permisos necesarios para llamar al GetAuthorizationToken
API
Se requieren sts:GetServiceBearerToken
tanto los codeartifact:GetAuthorizationToken
permisos como los permisos para llamar al CodeArtifact GetAuthorizationToken
API.
Para usar un administrador de paquetes con un CodeArtifact repositorio, tu IAM usuario o rol debe permitirlosts:GetServiceBearerToken
. Si bien se sts:GetServiceBearerToken
puede añadir a una política de recursos de CodeArtifact dominio, el permiso no tendrá ningún efecto en esa política.
Tokens creados con GetAuthorizationToken
API
Puede llamar get-authorization-token
para obtener un token de autorización de CodeArtifact.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text
Puede cambiar el tiempo de validez de un token usando el argumento --duration-seconds
. El valor mínimo es 900 y el máximo, 43200. En el siguiente ejemplo se crea un token que durará 1 hora (3600 segundos).
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds3600
Si se llama a get-authorization-token
mientras se asume un rol, la duración del token es independiente de la duración máxima de la sesión del rol. Puede configurar el token para que caduque cuando venza la duración de la sesión del rol asumido configurando --duration-seconds
en 0.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds0
Para obtener más información, consulte la documentación siguiente:
-
Para obtener información sobre los tokens y las variables de entorno, consulte Pasar un token de autenticación mediante una variable de entorno.
-
Para los usuarios de Python, consulte Configurar pip sin el comando login o Configura y usa twine con CodeArtifact.
-
Para los usuarios de Maven, consulte Úselo CodeArtifact con Gradle o Uso CodeArtifact con mvn.
-
Para los usuarios de npm, consulte Configurar npm sin usar el comando login.
Pasar un token de autenticación mediante una variable de entorno
AWS CodeArtifact usa los tokens de autorización que vende GetAuthorizationToken
API para autenticar y autorizar las solicitudes de herramientas de compilación, como Maven y Gradle. Para obtener más información sobre estos tokens de autenticación, consulte Tokens creados con GetAuthorizationToken API.
Puedes almacenar estos tokens de autenticación en una variable de entorno que pueda leer una herramienta de compilación para obtener el token que necesita para recuperar los paquetes de un CodeArtifact repositorio o publicarlos en él.
Por motivos de seguridad, este enfoque es preferible a almacenar el token en un archivo donde puedan leerlo otros usuarios o procesos, o bien introducirlo accidentalmente en el control de código fuente.
-
Configure sus AWS credenciales como se describe en. Instale o actualice y, a continuación, configure la AWS CLI
-
Establezca la variable de entorno
CODEARTIFACT_AUTH_TOKEN
:nota
En algunos casos, no es necesario incluir el argumento
--domain-owner
. Para obtener más información, consulte Dominios entre cuentas.-
macOS o Linux:
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text` -
Windows (mediante el intérprete de comandos predeterminado):
for /f %i in ('aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--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-owner111122223333
--query authorizationToken --output text
-
Revocación de los tokens CodeArtifact de autorización
Cuando un usuario autenticado crea un token para acceder a CodeArtifact los recursos, ese token permanece activo hasta que finalice el período de acceso personalizable. El período de acceso predeterminado es de 12 horas. En algunos casos, es posible que le sea útil revocar el acceso a un token antes de que el período de acceso haya expirado. Puedes revocar el acceso a CodeArtifact los recursos siguiendo estas instrucciones.
Si creó el token de acceso con credenciales de seguridad temporales, como funciones asumidas o acceso de usuarios federados, puede revocar el acceso actualizando una IAM política para denegar el acceso. Para obtener más información, consulte Cómo deshabilitar los permisos para las credenciales de seguridad temporales en la Guía del IAM usuario.
Si ha utilizado credenciales de IAM usuario de larga duración para crear el token de acceso, debe modificar la política del usuario para denegar el acceso o eliminar al IAM usuario. Para obtener más información, consulte Cambiar los permisos de un IAM usuario o Eliminar un IAM usuario.